배경
여러 개의 임베디드 Linux 장치가 이더넷을 통해 네트워크에 연결됩니다. 연결된 스위치의 포트에 따라 해당 DHCP IP 주소가 제공됩니다(각 포트는 별도의 VLAN에 존재함). DHCP 주소를 획득한 후 장치는 다른 모든 서비스(NTP, FTP 서버 등)에 연결할 수 있습니다. 이러한 장치는 고유하지 않으며 모든 장치는 모든 포트에 연결될 수 있어야 합니다(즉, 고정 IP를 사용할 수 없음). dhclient.leases 파일은 30초마다 제공되는 새 임대를 반영하도록 업데이트됩니다.
질문
장치가 정상적으로 재부팅되면 시스템 시간이 유지되지만 어떤 경우에는 모든 장치의 전원이 오랫동안 꺼지고 임베디드 Linux 시스템이 시스템 시간을 잃게 됩니다. 이 경우 시간은 2011년 1월 1일로 되돌아갑니다. 무슨 일이 일어나고 있는지에 대한 우리의 이론은 dhclient.leases 파일의 만료 시간이 미래에 있기 때문에(시스템 시간이 정확할 때 얻은 것이기 때문에) 장치가 다른 DHCP 주소를 얻는 것이 허용되지 않는다는 것입니다. 주소를 얻을 수 없기 때문에 시스템 시간을 업데이트하기 위한 NTP 시간을 얻을 수 없으므로 닭고기와 달걀이 필요한 상황이 발생합니다. 때때로 우리는 이 문제를 해결하고 마침내 임대 계약을 맺을 때까지 장치를 계속 재설정할 수 있습니다.
질문
- 이것이 dhclient의 예상된 동작입니까?
- 1.의 답변이라면아니요, 오랜 정전 후 장치가 DHCP 주소를 얻을 수 없는 이유는 무엇입니까?
- 이 문제를 해결하는 데 도움이 될 수 있는 제안된 수정 사항, 해결 방법 또는 구성 변경 사항이 있습니까?