Imagine que temos uma rede como na foto. Seis hosts em uma rede de camada 2, sem VLANs. A rede deve ser segmentada em duas sub-redes, com um servidor DHCP cada. Os servidores DHCP têm endereços IP fixos, portanto, eles sabem em qual sub-rede eles pertencem, obviamente.
Em seguida, os novos clientes são conectados. Eles não sabem nada sobre qual sub-rede eles deveriam estar e enviam seu DHCPDISCOVER para a transmissão Ethernet 255.255.255.255, para os dois servidores DHCP. Ambos os servidores respondem com uma oferta. Agora, aqui está minha pergunta: como o cliente sabe qual DHCPOFFER ele deve aceitar?
networking
dhcp
Michael Niemand
fonte
fonte
Respostas:
Resposta mais simples - primeiro a chegar, primeiro a ser servido.
Se você tivesse várias VLANs e 10.10.10.0/24 estivesse em uma VLAN diferente de 10.10.20.0/24 - a transmissão não cruzaria as VLANs.
Se o servidor DHCP estivesse em uma VLAN separada para os clientes, um iphelper na interface de roteamento entre vlans direcionaria a transmissão para o local correto.
No seu cenário, em que você tem 2 redes separadas na mesma VLAN (ou na falta dela) atendendo sub-redes diferentes - é uma corrida.
DHCP Serve usando as seguintes transações:
Tudo isso acontece nas portas UDP 67 para o servidor e 68 no cliente.
Assim que a Etapa 2 for atingida - o cliente deixará de "ouvir" as respostas de outros servidores DHCP - ficará feliz em lidar com o primeiro servidor para prestar atenção.
Como observação lateral - na verdade, há uma série bem conhecida de ataques de negação de serviço (DoS) que abusam desse direito. Um invasor se conecta a um dispositivo que responde e envia pacotes DHCPOFFER e não envia o DHCPACK quando solicitado ... repetidamente. Há também outro ataque de DoS em que os servidores DHCP "falsos" oferecem endereços que não podem ser roteados ou que entram em conflito com outros IPs que são detectados para mexer nas redes.
fonte
A resposta existente do @ Fazer87 é amplamente correta na prática e eu recomendo a votação e a aceitação. Esta resposta explora um detalhe menor um pouco mais precisamente.
Ambos os servidores DHCP podem responder com uma mensagem DHCPOffer.
Um cliente DHCP pode aceitá-los com base no "primeiro a chegar, primeiro a ser servido". No entanto, não é necessário adotar essa abordagem.
RFC2131 especifica:
Portanto, se o segundo servidor DHCP oferecer uma reserva de endereço IP mais longa, ou oferecer um servidor de horário em que o outro não, ou talvez tenha um campo personalizado que o cliente tenha sido programado para preferir, ele poderá aceitar a segunda oferta.
Normalmente, uma abordagem de "primeiro a chegar, primeiro a ser servido" oferece a você a oferta que ainda não passou por vários saltos entre dispositivos (retransmissões BOOTP), por isso é um bom protocolo a seguir se você não tiver motivos para se preocupar.
Eu estava em um projeto em que um dispositivo personalizado preferiria um DHCPOffer que incluía um servidor TFTP em que o firmware atualizado pudesse ser encontrado.
fonte