我使用的嵌入式Linux系統有時需要從DHCP服務器獲取其IP地址。我們使用的DHCP客戶端客戶端(dhcpcd)具有有限的重試邏輯。如果我們的設備在沒有任何DHCP服務器可用且超時的情況下啓動,則dhcpcd將退出,並且設備將永遠不會獲得IP地址,直到它通過可見/連接的DHCP服務器重新啓動。我不能成爲唯一存在這個問題的人。這個問題似乎甚至不是特定於嵌入式系統的(儘管它在那裏更糟糕)。你如何處理這個問題?有沒有更強大的客戶端可用?如何通過DHCP可靠地獲取IP地址?
1
A
回答
3
來自ISC的引用dhclient應該永久運行在默認配置中,並且如果它在啓動時沒有獲得租約,它應該稍後獲得租約。
我在FreeBSD上使用了開箱即用的dhcp客戶端,它來自於OpenBSD,基於ISC的dhclient,這是開箱即用的行爲。
2
您有幾種選擇:
- 雖然你沒有IP地址,重新啓動的dhcpcd獲得更多的重試。
- 備有靜態IP地址。這在embedded devices I've made中非常成功。
- 使用auto-IP作爲備份。 Windows會這樣做。
1
添加到rc.local
檢查是否已獲得IP。如果在不久的將來沒有設置'at'工作再嘗試。繼續安排'at'作業,直到獲得IP。
相關問題
- 1. 如何獲取IP地址?
- 2. 如何獲取IP地址?
- 3. 通過IP地址
- 4. 可靠地獲取Web客戶端IP
- 5. 獲取本地IP地址
- 6. 獲取IP地址
- 7. 獲取IP地址
- 8. 獲取IP地址
- 9. 如何通過SocketHandle獲取本地IP?
- 10. 如何通過黑莓的www.ipaddresslocation.org獲取IP地址
- 11. 如何將數據通過IP地址
- 12. 如何通過滾動條可靠地獲取屏幕寬度
- 13. 如何通過Fedora上的bash找到DHCP分配的IP地址?
- 14. 如何在PageMethod中獲取IP地址?
- 15. 如何獲取系統的IP地址
- 16. 如何獲取IP地址[MYSQL]
- 17. 如何獲取全球IP地址?
- 18. 如何僅獲取IP地址/子網
- 19. 如何獲取客戶端IP地址
- 20. 如何獲取後端的IP地址?
- 21. 如何獲取IP地址列表?
- 22. 如何獲取客戶端IP地址
- 23. 如何在Python中獲取IP地址
- 24. 如何獲取服務器IP地址?
- 25. 如何在Python3.4.3中獲取ip地址
- 26. 如何通過IP地址獲取國家/地區名稱和/或代碼?
- 27. 在vb.net獲取IP地址
- 28. 獲取全球IP地址
- 29. 獲取多個IP地址
- 30. 獲取ip地址與XcvData
這是一個很好的答案。提問者應該記住,在一些環境中,永遠廣播DHCP客戶端可能是不好的行爲。 – benc 2009-07-17 10:58:16