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:
Parámetros — establece cómo se realiza una tarea, si ésta se debe llevar a cabo o las opciones de configuración de red que se enviarán al cliente.
Declaraciones — describen la topología de la red, describen los clientes, proporcionan direcciones para los clientes o aplican un grupo de parámetros a un grupo de declaraciones.
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.
Si cambia el archivo de configuración, los cambios no se aplicarán hasta reiniciar el demonio DHCP con el comando service dhcpd restart.
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
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.