¿Por qué mi dirección IP cambia cada vez que actualizo un nuevo rootfs?

¿Por qué mi dirección IP cambia cada vez que actualizo un nuevo rootfs?

Estoy trabajando en un sistema Raspberry Pi 3 y construyendo mis propios rootfs usando Buildroot. Al principio, estaba usando BusyBox como sistema de inicio y cuando configuraba la tarjeta wifi integrada usando wpa_supplicant, el enrutador siempre asignaba la misma dirección IP a la placa, incluso si reconstruía/actualizaba la tarjeta SD con un nuevo rootfs. Luego cambié a usar systemd. Ahora, cada vez que reconstruyo/actualizo la tarjeta SD, el enrutador parece pensar que el dispositivo es diferente y le asigna una dirección IP diferente cada vez que vuelvo a actualizar el rootfs, aunque la dirección MAC sigue siendo la misma. ¿Qué podría estar causando este problema?

Respuesta1

Es más probable que encuentre la respuesta revisando su enrutador que revisando el sistema. Al revisar la interfaz web de su enrutador, es posible que pueda descubrir:

  • Cómo es el tiempo de concesión de DHCP. Puede confirmar si sus concesiones de DHCP acaban de expirar, lo que contribuye a la asignación de nuevas IP.
  • Vea la dirección MAC de su Raspberry Pi tal como la ve el enrutador. Puede confirmar si solo aparece una dirección MAC para su Pi o si el enrutador ve una dirección MAC diferente cada vez yeso espor qué se asigna una nueva dirección IP.

Respuesta2

Es poco probable que el enrutador recuerde la asociación entre una dirección MAC y una dirección IP durante mucho tiempo. Hay muchas más direcciones MAC que direcciones IP, por lo que un servidor DHCP debe estar preparado para proporcionar la misma dirección IP a diferentes clientes sucesivamente. Un servidor típico se olvidaría de la asociación MAC-IP tan pronto como expire el contrato de arrendamiento.

Sin embargo, es posible que el cliente recuerde la asociación durante más tiempo. Un cliente DHCP puede solicitar una dirección IP particular. El servidor es libre de ignorar esta solicitud; normalmente aceptará la solicitud cuando la dirección IP esté en el rango correcto y actualmente no esté asignada. Sospecho que su cliente está guardando la información del arrendamiento en algún lugar ( /var/lib/dhcpsería un buen lugar para buscar) y que su enrutador generalmente acepta la solicitud. Cuando actualiza un nuevo rootfs, no tiene esta concesión guardada, por lo que el enrutador elige la dirección IP que prefiera en este momento.

información relacionada