Red Hat Linux 9: Manual de personalización de Red Hat Linux | ||
---|---|---|
Anterior | Capítulo 18. Dynamic Host Configuration Protocol (DHCP) | Siguiente |
Puede configurar un servidor DHCP mediante el archivo de configuración /etc/dhcpd.conf.
DHCP también usa el archivo /var/lib/dhcp/dhcpd.leases para almacenar la base de datos de arrendamiento de clientes. Consulte Sección 18.2.2 para más información.
El primer paso al configurar un servidor DHCP es crear el archivo de configuración que almacena la información de red de los clientes. Se pueden declarar opciones globales para todos los clientes, o bien opciones para cada sistema cliente.
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, y las líneas que empiezan con una almohadilla o símbolo numeral (#) se consideran comentarios.
Hay dos tipos de esquemas DNS de actualización implementados actualmente — el modo de actualización DNS ad-hoc y el modo de actualización 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 tipos de actualización. La versión 3.0b2p111 y las versiones anteriores usaban el modo ad-hoc, pero ya no se usan. Si quiere conservar el mismo comportamiento, añada la siguiente línea al inicio del archivo de configuración: file:
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 debe llevarse a cabo una tarea 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.
Algunos parámetros deben empezar con la palabra clave option. Algunas opciones configuran DHCP y los parámetros definen valores no 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. |
En Ejemplo 18-1, las opciones routers, subnet-mask, domain-name, domain-name-servers, y time-offset son usadas para cualquier sentencia host declarada debajo de ellas.
Como se muestra en el Ejemplo 18-1, puede declarar una subnet. Debe incluir una declaración subnet para cada subred en su red. Si no lo hace, el servidor DHCP no podrá arrancarse.
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 18-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 Ejemplo 18-2. 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.1.254; more parameters for EXAMPLE shared-network subnet 192.168.1.0 netmask 255.255.255.0 { parameters for subnet range 192.168.1.1 192.168.1.31; } subnet 192.168.1.32 netmask 255.255.255.0 { parameters for subnet range 192.168.1.33 192.168.1.63; } } |
Ejemplo 18-2. Ejemplo de declaración de red compartida
Como se muestra en el Ejemplo 18-3, la declaración group puede utilizarse para aplicar parámetros globales a un grupo de declaraciones. 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 18-3. Declaración de Group
Para configurar un servidor DHCP que arrenda una dirección IP dinámica a un sistema dentro de una subred, modifique Ejemplo 18-4 con sus valores. 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 18-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 18-5, 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 18-5. Ejemplo de dirección IP estática con DHCP
![]() | Sugerencia | |
---|---|---|
Puede usar el archivo de configuración de ejemplo de Red Hat Linux 9 como punto de partida y, a continuación, agregarle opciones de configuración personalizadas. Cópielo en la ubicación adecuada con el comando
|
Para obtener una lista completa de sentencias de opciones e información relacionada, consulte la página del manual de dhcp-options.
En el servidor DHCP, el archivo /var/lib/dhcp/dhcpd.leases almacena la base de datos de arrendamiento del cliente DHCP. Este archivo no debe modificarse manualmente. La información sobre arrendamiento de DHCP de cada dirección IP asignada recientemente se almacena de modo automático en la base de datos de arrendamiento. La información incluye la longitud del arrendamiento, a quién se ha asignado la dirección IP, las fechas iniciales y finales de la renta, y la dirección MAC de la tarjeta de interfaz de red utilizada para recuperar el arrendamiento.
Todas las horas de la base de datos de arrendamiento se expresan según GMT, no con la hora local.
La base de datos de arrendamiento se crea nuevamente de vez en cuando para que su tamaño no sea excesivo. En primer lugar, se guardan todas las concesiones conocidas en una base de datos de renta temporal. El archivo dhcpd.leases es renombrado a dhcpd.leases~, y la base de datos temporal se registra en dhcpd.leases.
El demonio DHCP puede borrarse porque, de otro modo, el sistema puede quedarse inestable después de cambiar el nombre de la base de datos por el archivo de copia de seguridad, antes de escribir el nuevo archivo. Si ocurre esto, no se necesitará ningún archivo dhcpd.leases para arrancar el servicio. No cree un nuevo archivo de arrendamiento si ocurre esto. Si lo hace, se perderán las versiones anteriores del arrendamiento y podrían generarse problemas. La solución correcta consiste en cambiar el nombre del archivo de copia de seguridad dhcpd.leases~ de nuevo a dhcpd.leases y, a continuación, arrancar el demonio.
![]() | Importante |
---|---|
Antes de arrancar por primera vez el servidor DHCP, asegúrese de que existe un archivo dhcpd.leases para que no falle el arranque. Use el comando touch /var/lib/dhcp/dhcpd.leases para crear el archivo en caso de que no exista. |
Para arrancar el servicio DHCP, use el comando /sbin/service dhcpd start. Para detener el servidor DHCP, use el comando /sbin/service dhcpd stop. Si desea que el demonio se arranque automáticamente en el momento de arranque, consulte el Capítulo 14 para obtener información sobre cómo administrar los servicios.
Si tiene más de una interfaz de red conectada al sistema, pero sólo desea que el servidor DHCP arranque en una de las interfaces, puede configurar el servidor DHCP para que sólo arranque en ese dispositivo. En /etc/sysconfig/dhcpd, agregue el nombre de la interfaz a la lista de DHCPDARGS:
# Command line options here DHCPDARGS=eth0 |
Esto es útil si tiene una máquina firewall con dos tarjetas de red. Se puede configurar una tarjeta de red como cliente DHCP para recuperar una dirección IP en Internet y la otra tarjeta de red puede utilizarse como servidor DHCP para la red interna detrás del firewall. Su sistema será más seguro si especifica la tarjeta de red conectada a la red interna ya que los usuarios no pueden conectarse al demonio vía Internet.
Otras opciones de línea de comandos que pueden ser especificadas en /etc/sysconfig/dhcpd incluyen:
-p <portnum> — Especifique el número de puerto udp en el que dhcpd debería escuchar. Está predeterminado 67. El servidor DHCP transmite las respuestas al cliente a un puerto con un número más grande que el puerto udp especificado. Por ejemplo, si acepta el puerto predeterminado, 67, el servidor escucha en el puerto 67 y responde en el puerto 68. Si especifica un puerto en este momento y usa el agente de transmisión, debería especificar el mismo puerto en el que el agente debería escuchar. Consulte la Sección 18.2.4 para más detalles.
-f — Ejecutar el demonio como un proceso de en primer plano. Casi siempre se usa para la depuración.
-d — Registrar el demonio del servidor DCHP en el descriptor de errores estándar. Casi siempre se usa para el depurado. Si no está especificado, el registro será escrito en /var/log/messages.
-cf filename — Especifica la localización del archivo de configuración. La configuración por defecto es /etc/dhcpd.conf.
-lf filename — Especifica la ubicación de la base de datos de arrendamiento. Si ya existe el archivo de la base de datos de arrendamiento, es muy importante que el mismo archivo sea usado cada vez que el servidor DHCP se inicia. Se le recomienda que use esta opción sólo para propósitos de depuración en máquinas que no estén en producción. La ubicación por defecto es /var/lib/dhcp/dhcpd.leases.
-q — No imprima el mensaje de copyright entero cuando inicie el demonio.
El agente de transmisión DHCP (dhcrelay) le permite transmitir las peticiones DHCP y BOOTP desde una subred sin un servidor DHCP para uno o más servidores en otras subredes.
Cuando un cliente DHCP pide información, el agente de transmisión DHCP reenvía la petición a la lista de servidores DHCP especificada cuando se inicia el agente de transmisión DHCP. Cuando un servidor DHCP devuelve una respuesta, la respuesta puede ser broadcast o unicast en la red que ha enviado la petición original.
El agente de transmisión escucha las peticiones DHCP en todas las interfaces a menos que las interfaces estén especificadas en /etc/sysconfig/dhcrelay con la directiva INTERFACES.
Para iniciar el agente de transmisión DHCP, use el comando service dhcrelay start.