Red Hat Training

A Red Hat training course is available for RHEL 8

43.7. Configuração do serviço DHCP para sub-redes que não estão diretamente conectadas ao servidor DHCP

Use o seguinte procedimento se o servidor DHCP não estiver diretamente conectado à sub-rede para a qual o servidor deve responder as solicitações DHCP. Este é o caso se um agente de retransmissão DHCP encaminhar solicitações ao servidor DHCP, porque nenhuma das interfaces do servidor DHCP está diretamente conectada à subrede que o servidor deve servir.

Dependendo se você deseja fornecer DHCP para IPv4, IPv6, ou ambos os protocolos, veja o procedimento a seguir:

Pré-requisitos

  • Você está logado como usuário do root.
  • O pacote dhcpd-server está instalado.

Procedimento

  • Para redes IPv4:

    1. Edite o arquivo /etc/dhcp/dhcpd.conf:

      1. Opcionalmente, adicionar parâmetros globais que dhcpd usa como padrão se nenhuma outra diretriz contiver essas configurações:

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

        Este exemplo define o nome de domínio padrão para a conexão com example.com, e o tempo de locação padrão para 86400 segundos (1 dia).

      2. Adicione a declaração authoritative em uma nova linha:

        autoritária;
        Importante

        Sem a declaração authoritative, o serviço dhcpd não responde DHCPREQUEST mensagens com DHCPNAK se um cliente pedir um endereço que esteja fora do pool.

      3. Adicione uma declaração em shared-network, como a seguinte, para sub-redes IPv4 que não estão diretamente conectadas a uma interface do 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 exemplo acrescenta uma declaração de rede compartilhada, que contém uma declaração subnet tanto para as redes 192.0.2.0/24 como para as 198.51.100.0/24. Com esta configuração, o servidor DHCP atribui as seguintes configurações a um cliente que envia uma solicitação DHCP de uma destas sub-redes:

        • O IP do servidor DNS para clientes de ambas as sub-redes é: 192.0.2.1.
        • Um endereço IPv4 livre da faixa definida no parâmetro range, dependendo de qual sub-rede o cliente enviou a solicitação.
        • O gateway padrão é 192.0.2.1 ou 198.51.100.1, dependendo de qual sub-rede o cliente enviou a solicitação.
      4. Adicione uma declaração subnet para a sub-rede à qual o servidor está diretamente conectado e que é usada para alcançar as sub-redes remotas especificadas em shared-network acima:

        subnet 203.0.113.0 netmask 255.255.255.0 {
        }
        Nota

        Se o servidor não fornecer serviço DHCP para esta sub-rede, a declaração subnet deve estar vazia, como mostrado no exemplo. Sem uma declaração para a subrede diretamente conectada, dhcpd não inicia.

    2. Opcionalmente, configure que o site dhcpd seja iniciado automaticamente quando o sistema for inicializado:

      # systemctl habilita o dhcpd
    3. Iniciar o serviço dhcpd:

      # systemctl start dhcpd
  • Para redes IPv6:

    1. Edite o arquivo /etc/dhcp/dhcpd6.conf:

      1. Opcionalmente, adicionar parâmetros globais que dhcpd usa como padrão se nenhuma outra diretriz contiver essas configurações:

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

        Este exemplo define o nome de domínio padrão para a conexão com example.com, e o tempo de locação padrão para 86400 segundos (1 dia).

      2. Adicione a declaração authoritative em uma nova linha:

        autoritária;
        Importante

        Sem a declaração authoritative, o serviço dhcpd não responde DHCPREQUEST mensagens com DHCPNAK se um cliente pedir um endereço que esteja fora do pool.

      3. Adicione uma declaração em shared-network, como a seguinte, para sub-redes IPv6 que não estão diretamente conectadas a uma interface do 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 exemplo acrescenta uma declaração de rede compartilhada que contém uma declaração subnet6 tanto para as redes 2001:db8:0:1::1:0/120 como para 2001:db8:0:1::2:0/120. Com esta configuração, o servidor DHCP atribui as seguintes configurações a um cliente que envia uma solicitação DHCP de uma destas sub-redes:

        • O IP do servidor DNS para clientes de ambas as sub-redes é 2001:db8:0:1::1:1.
        • Um endereço IPv6 gratuito da faixa definida no parâmetro range6, dependendo de qual sub-rede o cliente enviou a solicitação.

          Note que IPv6 requer o uso de mensagens publicitárias de roteador para identificar o gateway padrão.

      4. Adicione uma declaração subnet6 para a sub-rede à qual o servidor está diretamente conectado e que é usada para alcançar as sub-redes remotas especificadas em shared-network acima:

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

        Se o servidor não fornecer serviço DHCP para esta sub-rede, a declaração subnet6 deve estar vazia, como mostrado no exemplo. Sem uma declaração para a subrede diretamente conectada, dhcpd não inicia.

    2. Opcionalmente, configure que o site dhcpd6 seja iniciado automaticamente quando o sistema for inicializado:

      # systemctl habilita o dhcpd6
    3. Iniciar o serviço dhcpd6:

      # systemctl start dhcpd6

Recursos adicionais

  • Para obter uma lista de todos os parâmetros que você pode definir em /etc/dhcp/dhcpd.conf e /etc/dhcp/dhcpd6.conf, consulte a página de manual dhcp-options(5).
  • Para mais detalhes sobre a declaração authoritative, consulte a seção The authoritative statement na página de manual dhcpd.conf(5).
  • Por exemplo, configurações, consulte os arquivos /usr/share/doc/dhcp-server/dhcpd.conf.example e /usr/share/doc/dhcp-server/dhcpd6.conf.example.
  • Seção 43.11, “Instalação de um agente de relé DHCP”