6.2.1. Archivo de configuración

6.2.1. Archivo de configuración

El primer paso al configurar un servidor DHCP es crear el archivo de configuración que almacena la información de red para los clientes. Utilice este archivo para declarar opciones, globales o no, para los sistemas clientes.

El archivo de configuración puede contener tabulaciones o líneas en blanco adicionales para facilitar el formato. Las palabras clave no distinguen entre mayúsculas y minúsculas. Las líneas que empiezan con una almohadilla o símbolo numeral (#) se consideran comentarios.

Hay dos tipos de esquemas de actualización DNS implementados actualmente — el modo de actualización DNS ad-hoc y el modo de actualización intermedio de boceto de interacción DHCP-DNS. Si y cuando estos dos son aceptados como parte del proceso estándar de IETF, habrá un tercer modo — el método estándar de actualización DNS. El servidor DHCP tiene que estar configurado para usar uno de estos dos esquemas actuales. La versión 3.0b2pl11 y las versiones anteriores usaban el modo ad-hoc, el cual no es utilizado en la actualidad. Si quiere conservar el mismo comportamiento, añada la siguiente línea al inicio del archivo de configuración:

        ddns-update-style ad-hoc;
      

Para usar el modo recomendado, añada la siguiente línea al inicio del archivo de configuración:

ddns-update-style interim;
            

Lea la página man de dhcpd.conf para más detalles sobre los diferentes modos.

El archivo de configuración posee dos tipos de información:

Los parámetros que inician con la palabra clave option son conocidos como opciones. Estas opciones controlan las opciones de DHCP mientras que los parámetros configuran valores que no son opcionales o que controlan el comportamiento del servidor DHCP.

Los parámetros (incluidas las opciones) declarados antes de una sección encerrada entre paréntesis ({ }) se consideran parámetros globales. Los parámetros globales se aplican a todas las secciones situadas debajo de ellos.

Importante

Si cambia el archivo de configuración, los cambios no se aplicarán hasta reiniciar el demonio DHCP con el comando service dhcpd restart.

Sugerencia

En vez de cambiar un archivo de configuración DHCP y reiniciar el equipo cada vez, el comando omshell proporciona una manera interactiva de conectarse, preguntar y cambiar la configuración de un servidor DHCP. Al utilizar omshell, todos los cambios pueden realizarse mientras el servidor está en ejecución. Para obtener mayor información sobre omshell, consulte la página man omshell.

En el Ejemplo 6.1, “Ejemplo de declaración de Subred”, las opciones routers, subnet-mask, domain-name, domain-name-servers, y time-offset son usadas para cualquier sentencia host declarada debajo de ellas.

Adicionalmente, se puede declarar una subnet. Debe incluir una declaración subnet para cada subred en la red. Si no lo hace, el servidor DHCP no podrá ser iniciado.

En este ejemplo, hay opciones globales para cada cliente DHCP en la subred y un range declarado. A los clientes se les asigna una dirección IP dentro del range.

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers                  192.168.1.254;
        option subnet-mask              255.255.255.0;

        option domain-name              "example.com";
        option domain-name-servers       192.168.1.1;

        option time-offset              -18000;     # Eastern Standard Time

        range 192.168.1.10 192.168.1.100;
}

Ejemplo 6.1. Ejemplo de declaración de Subred

Todas las subredes que comparten la misma red física deben especificarse dentro de una declaración shared-network como se muestra en el Ejemplo 6.2, “Ejemplo de declaración de red compartida”. Los parámetros dentro de shared-network pero fuera del cerco de las declaraciones subnet se consideran parámetros globales. El nombre de shared-network debe ser el título descriptivo de la red, como, por ejemplo, test-lab, para describir todas las subredes en un entorno de laboratorio de pruebas.

shared-network name {
    option domain-name              "test.redhat.com";
    option domain-name-servers      ns1.redhat.com, ns2.redhat.com;
    option routers                  192.168.0.254;
    more parameters for EXAMPLE shared-network
    subnet 192.168.1.0 netmask 255.255.252.0 {
        parameters for subnet
        range 192.168.1.1 192.168.1.254;
    }
    subnet 192.168.2.0 netmask 255.255.252.0 {
        parameters for subnet
        range 192.168.2.1 192.168.2.254;
    }
}

Ejemplo 6.2. Ejemplo de declaración de red compartida

Como se muestra en el Ejemplo 6.3, “Declaración de Group”, la declaración group puede utilizarse para aplicar parámetros globales a un grupo de declaraciones. Por ejemplo, puede agrupar redes compartidas, subredes, hosts u otros grupos.

group {
   option routers                  192.168.1.254;
   option subnet-mask              255.255.255.0;

   option domain-name              "example.com";
   option domain-name-servers       192.168.1.1;

   option time-offset              -18000;     # Eastern Standard Time

   host apex {
      option host-name "apex.example.com";
      hardware ethernet 00:A0:78:8E:9E:AA; 
      fixed-address 192.168.1.4;
   }

   host raleigh {
      option host-name "raleigh.example.com";
      hardware ethernet 00:A1:DD:74:C3:F2;
      fixed-address 192.168.1.6;
   }
}

Ejemplo 6.3. Declaración de Group

Para configurar un servidor DHCP que arrienda una dirección IP dinámica a un sistema dentro de una subred, modifique el Ejemplo 6.4, “Parámetro Range (Rango)” con sus valores. Así se declara un tiempo de arrendamiento por defecto, un tiempo de arrendamiento máximo y los valores de configuración de red para los clientes. Este ejemplo asigna una dirección IP en el range 192.168.1.10 y 192.168.1.100 a los sistemas clientes.

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "example.com";

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.10 192.168.1.100;
}

Ejemplo 6.4. Parámetro Range (Rango)

Para asignar una dirección IP a un cliente según la dirección MAC de la tarjeta de interfaz de red, use el parámetro hardware ethernet dentro de la declaración host. Como se muestra en el Ejemplo 6.5, “Ejemplo de dirección IP estática con DHCP”, la declaración host apex especifica que la interfaz de red con una dirección MAC 00:A0:78:8E:9E:AA siempre recibe la dirección IP 192.168.1.4.

Tenga en cuenta que también puede usar el parámetro opcional host-name para asignar un nombre host al cliente.

host apex {
   option host-name "apex.example.com";
   hardware ethernet 00:A0:78:8E:9E:AA; 
   fixed-address 192.168.1.4;
}

Ejemplo 6.5. Ejemplo de dirección IP estática con DHCP

Sugerencia

Puede usar el archivo de configuración de ejemplo proporcionado como punto de partida y, a continuación, agregarle opciones de configuración personalizadas. Para copiar el archivo en la ubicación adecuada, use el comando

          cp /usr/share/doc/dhcp-<version-number>/dhcpd.conf.sample /etc/dhcpd.conf
        

(donde <version-number> es la versión de DHCP que está usando).

Para obtener una lista completa de sentencias de opciones e información relacionada, consulte la página del manual de dhcp-options.