Red Hat Training

A Red Hat training course is available for RHEL 8

43.7. Configuración del servicio DHCP para subredes que no están directamente conectadas al servidor DHCP

Utilice el siguiente procedimiento si el servidor DHCP no está conectado directamente a la subred para la que el servidor debe responder a las solicitudes de DHCP. Este es el caso si un agente de retransmisión de DHCP reenvía las solicitudes al servidor de DHCP, porque ninguna de las interfaces del servidor de DHCP está directamente conectada a la subred a la que el servidor debe dar servicio.

Dependiendo de si desea proporcionar DHCP para IPv4, IPv6, o ambos protocolos, consulte el procedimiento para:

Requisitos previos

  • Ha iniciado la sesión como usuario de root.
  • El paquete dhcpd-server está instalado.

Procedimiento

  • Para redes IPv4:

    1. Edite el archivo /etc/dhcp/dhcpd.conf:

      1. Opcionalmente, añada parámetros globales que dhcpd utiliza por defecto si no hay otras directivas que contengan estos ajustes:

        option domain-name "example.com";
        default-lease-time 86400;

        Este ejemplo establece el nombre de dominio por defecto para la conexión a example.com, y el tiempo de arrendamiento por defecto a 86400 segundos (1 día).

      2. Añada la declaración authoritative en una nueva línea:

        autorizada;
        Importante

        Sin la sentencia authoritative, el servicio dhcpd no responde a los mensajes DHCPREQUEST con DHCPNAK si un cliente pide una dirección que está fuera del pool.

      3. Añada una declaración shared-network, como la siguiente, para las subredes IPv4 que no están directamente conectadas a una interfaz del servidor:

        shared-network example {
          option domain-name-servers 192.0.2.1;
          ...
        
          subnet 192.0.2.0 netmask 255.255.255.0 {
            range 192.0.2.20 192.0.2.100;
            option routers 192.0.2.1;
          }
        
          subnet 198.51.100.0 netmask 255.255.255.0 {
            range 198.51.100.20 198.51.100.100;
            option routers 198.51.100.1;
          }
          ...
        }

        Este ejemplo añade una declaración de red compartida, que contiene una declaración subnet para las redes 192.0.2.0/24 y 198.51.100.0/24. Con esta configuración, el servidor DHCP asigna la siguiente configuración a un cliente que envía una solicitud DHCP desde una de estas subredes:

        • La IP del servidor DNS para los clientes de ambas subredes es: 192.0.2.1.
        • Una dirección IPv4 libre del rango definido en el parámetro range, dependiendo de la subred desde la que el cliente envió la solicitud.
        • La puerta de enlace por defecto es 192.0.2.1 o 198.51.100.1 dependiendo de la subred desde la que el cliente envió la solicitud.
      4. Añada una declaración subnet para la subred a la que el servidor está directamente conectado y que se utiliza para llegar a las subredes remotas especificadas en shared-network:

        subnet 203.0.113.0 netmask 255.255.255.0 {
        }
        Nota

        Si el servidor no proporciona servicio DHCP a esta subred, la declaración subnet debe estar vacía como se muestra en el ejemplo. Sin una declaración para la subred directamente conectada, dhcpd no se inicia.

    2. Opcionalmente, configure que dhcpd se inicie automáticamente al arrancar el sistema:

      # systemctl enable dhcpd
    3. Inicie el servicio dhcpd:

      # systemctl start dhcpd
  • Para redes IPv6:

    1. Edite el archivo /etc/dhcp/dhcpd6.conf:

      1. Opcionalmente, añada parámetros globales que dhcpd utiliza por defecto si no hay otras directivas que contengan estos ajustes:

        option dhcp6.domain-search "example.com";
        default-lease-time 86400;

        Este ejemplo establece el nombre de dominio por defecto para la conexión a example.com, y el tiempo de arrendamiento por defecto a 86400 segundos (1 día).

      2. Añada la declaración authoritative en una nueva línea:

        autorizada;
        Importante

        Sin la sentencia authoritative, el servicio dhcpd no responde a los mensajes DHCPREQUEST con DHCPNAK si un cliente pide una dirección que está fuera del pool.

      3. Añada una declaración shared-network, como la siguiente, para las subredes IPv6 que no están directamente conectadas a una interfaz del servidor:

        shared-network example {
          option domain-name-servers 2001:db8:0:1::1:1
          ...
        
          subnet6 2001:db8:0:1::1:0/120 {
            range6 2001:db8:0:1::1:20 2001:db8:0:1::1:100
          }
        
          subnet6 2001:db8:0:1::2:0/120 {
            range6 2001:db8:0:1::2:20 2001:db8:0:1::2:100
          }
          ...
        }

        Este ejemplo añade una declaración de red compartida que contiene una declaración subnet6 para las redes 2001:db8:0:1::1:0/120 y 2001:db8:0:1::2:0/120. Con esta configuración, el servidor DHCP asigna la siguiente configuración a un cliente que envía una solicitud DHCP desde una de estas subredes:

        • La IP del servidor DNS para los clientes de ambas subredes es 2001:db8:0:1::1:1.
        • Una dirección IPv6 libre del rango definido en el parámetro range6, dependiendo de la subred desde la que el cliente envió la solicitud.

          Tenga en cuenta que IPv6 requiere el uso de mensajes de anuncio de enrutador para identificar la puerta de enlace predeterminada.

      4. Añada una declaración subnet6 para la subred a la que el servidor está directamente conectado y que se utiliza para llegar a las subredes remotas especificadas en shared-network:

        subnet6 2001:db8:0:1::50:0/120 {
        }
        Nota

        Si el servidor no proporciona servicio DHCP a esta subred, la declaración subnet6 debe estar vacía como se muestra en el ejemplo. Sin una declaración para la subred directamente conectada, dhcpd no se inicia.

    2. Opcionalmente, configure que dhcpd6 se inicie automáticamente al arrancar el sistema:

      # systemctl enable dhcpd6
    3. Inicie el servicio dhcpd6:

      # systemctl start dhcpd6

Recursos adicionales

  • Para obtener una lista de todos los parámetros que puede establecer en /etc/dhcp/dhcpd.conf y /etc/dhcp/dhcpd6.conf, consulte la página de manual dhcp-options(5).
  • Para más detalles sobre la sentencia authoritative, consulte la sección The authoritative statement en la página man dhcpd.conf(5).
  • Para ver ejemplos de configuraciones, consulte los archivos /usr/share/doc/dhcp-server/dhcpd.conf.example y /usr/share/doc/dhcp-server/dhcpd6.conf.example.
  • Sección 43.11, “Configuración de un agente de retransmisión DHCP”