Endereços DHCP reproduzíveis

Endereços DHCP reproduzíveis

Eu tenho um dispositivo baseado em microcontrolador com um bootloader e um aplicativo. O dispositivo possui um adaptador Ethernet. O bootloader usa IP/UDP para atualizar a imagem do aplicativo. O aplicativo possui uma pilha TCP/IP completa.

Ambos os componentes usam DHCP para obter um endereço IP. O estranho é que ambos obtêm resultados diferentes no processo DHCP. Ambos os clientes DHCP estão configurados para usar uma mensagem DHCPDISCOVER com o mesmo endereço MAC.

O que um servidor DHCP deve enviar no DHCPOFFER? Deveria oferecer o mesmo endereço IP para o mesmo endereço MAC quando o endereço IP não estiver atribuído em outro lugar?Editar: A última atribuição de endereço foi há 10 segundos.

O servidor DHCP está sendo executado em um host Linux. Como posso configurar tal veículo para poder monitorar e entender esse comportamento?

Editar: não tenho controle sobre a configuração do servidor DHCP. O administrador deseja manter o controle total.

Existem outras configurações de DHCP que podem estar no gerenciador de inicialização ou no aplicativo que podem afetar o resultado do DHCP?

Responder1

Depende da configuração do tempo de locação. Se for longo o suficiente, seu aplicativo receberá o mesmo endereço.

Mas se você quiser garantia, declare um endereço fixo para o seu Mac no servidor.

Se você estiver usando dhcpd, algo assim:

host foo {
  hardware ethernet 00:11:22:33:44:55;
  fixed-address 1.2.3.4;
}

Na verdade sim, existe uma maneira de sugerir IP em DHCPDISCOVERY configurando a opção (50) requested IP address. Mas não sei se os servidores reconhecem isso.

Há também a opção (51) IP address lease time, que pode ser usada no carregador de boot para sugerir um período mais longo, mas também não tenho certeza sobre a resposta do servidor.

Mais informaçõesrfc2131

Responder2

Quando um cliente DHCP envia um DHCPDISCOVER, o servidor deve descartar o registro DHCP. Existem servidores que obterão o mesmo endereço IP. Isso não está errado, mas nem é necessário.

Para manter o endereço DHCP o cliente deve enviar um DHCPACQUIRE com a configuração IP armazenada em cache. O servidor DHCP irá confirmar ou negar. Enviar DHCPDISCOVER é apenas uma má ideia nesta situação.

informação relacionada