我知道 Microsoft 的安裝光碟中,都附有 Windows Support Tools 可提供更多的工具指令,便利用其中的 dhcploc.exe 指令,試圖找尋任何的蛛絲馬跡,最少也能有更多的錯誤訊息可供參考。但結果卻不如預期,僅得到『 OpenReceiveSocket failed 10049. 』這樣的資訊而已,似乎幫助不大。
再重新看一次設定手冊吧。
什麼!關於伺服器設定的部份,一開頭就已提及,而我居然漏掉了,自從加上這個路由 IP 位址之後,『 route add -host 255.255.255.255 dev eth0 』,看來問題就解決了。為了以防萬一,怕主機重新開機後這個設定又跑了,也直接加到『 /etc/rc.d/rc.local 』這個檔案中,由系統開機後逕行加上這個路由。
In order for dhcpd to work correctly with picky DHCP clients (e.g., Windows 95), it must be able to send packets with an IP destination address of 255.255.255.255. Unfortunately, Linux insists on changing 255.255.255.255 into the local subnet broadcast address (here, that's 192.5.5.223). This results in a DHCP protocol violation, and while many DHCP clients don't notice the problem, some (e.g., all Microsoft DHCP clients) do. Clients that have this problem will appear not to see DHCPOFFER messages from the server.ISC 網站
DHCP mini-HOWTO
後來找到那段中文譯文:
為了讓 dhcpd 能夠正確地服務過分挑剔的 DHCP 用戶端(例如,Windows 95),dhcpd 必須能夠送封包到 255.255.255.255 的 IP 位址上。不幸的是,Linux 會將 255.255.255.255 做為本地子網路的廣播位址(此處為 192.5.5.223)。這將違反 DHCP 通訊協定,然而許多 DHCP 用戶端並不受影響,有些(例如,所有 Microsoft DHCP 用戶端)卻會。有此類問題 的用戶端,將會看不到來自伺服器的 DHCPOFFER 訊息。
mini HOWTO:DHCP(DHCPd/DHCPcd)
沒有留言:
張貼留言