Direcciones DHCP reproducibles

Direcciones DHCP reproducibles

Tengo un dispositivo basado en microcontrolador con un gestor de arranque y una aplicación. El dispositivo tiene un adaptador Ethernet. El gestor de arranque utiliza IP/UDP para actualizar la imagen de la aplicación. La aplicación tiene una pila TCP/IP con todas las funciones.

Ambos componentes utilizan DHCP para obtener una dirección IP. Lo extraño es que ambos obtienen resultados diferentes en el proceso DHCP. Ambos clientes DHCP están configurados para utilizar un mensaje DHCPDISCOVER con la misma dirección MAC.

¿Qué debe enviar un servidor DHCP en DHCPOFFER? ¿Debería ofrecer la misma dirección IP para la misma dirección MAC cuando la dirección IP no está asignada a otro lugar?Editar: La última asignación de dirección fue hace 10 segundos.

El servidor DHCP se ejecuta en un host Linux. ¿Cómo puedo configurar un vehículo de este tipo para poder monitorear y comprender este comportamiento?

Editar: No tengo control sobre la configuración del servidor DHCP. El administrador quiere mantener el control total.

¿Existen otras configuraciones de DHCP que podrían estar en el gestor de arranque o en la aplicación y que podrían afectar el resultado de DHCP?

Respuesta1

Depende de la configuración del tiempo de arrendamiento. Si es lo suficientemente largo, su aplicación obtendrá la misma dirección.

Pero si desea estar seguro, declare la dirección fija de su Mac en el servidor.

Si usas dhcpd, entonces algo como esto:

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

En realidad sí, hay una manera de sugerir IP en DHCPDISCOVERY configurando la opción (50) requested IP address. Pero no sé si los servidores lo reconocen.

También existe la opción (51) IP address lease time, que podría usarse en el cargador de arranque para sugerir un período más largo, pero tampoco estoy seguro de la respuesta del servidor.

Más informaciónrfc2131

Respuesta2

Cuando un cliente DHCP envía un DHCPDISCOVER, el servidor debe descartar el registro DHCP. Hay servidores que obtendrán la misma dirección IP. Eso no está mal pero ni siquiera es necesario.

Para mantener la dirección DHCP el cliente debe enviar un DHCPACQUIRE con la configuración IP almacenada en caché. El servidor DHCP confirmará o negará. Enviar DHCPDISCOVER es simplemente una mala idea en esta situación.

información relacionada