我有一個可以在兩種不同場景中使用的設備。
一是它連接到普通的乙太網路 LAN 公司網路。此網路具有 DHCP 伺服器,且設備應作為 DHCP 用戶端並自動接收 IP 位址。
第二種情況是使用乙太網路 LAN 電纜將裝置直接插入 PC/筆記型電腦。在這種情況下,預計設備會選擇自己的 IP,並為 PC/筆記型電腦提供一個 IP。在這種情況下,設備必須承擔 DHCP 伺服器的角色。
您可能已經知道這是怎麼回事了。我不希望設備的使用者必須配置任何內容。他們應該能夠將其插入並為他們工作。現在的問題是,可靠地找出您的網路中是否有另一個 DHCP 伺服器是難的。是的,我可以發出 DHCP 請求等等。 99% 的情況下我都會找到伺服器。但這次我沒有找到它(例如,由於封包遺失或封包傳輸時間過長),如果我的裝置成為 DHCP 伺服器,它會透過給出錯誤範圍內的 IP 位址來毒害整個公司網路。我要怎麼解決這個問題?我可以採取任何協議或安全措施嗎保證不干擾公司網路?
我的設備是提供服務的客戶端設備,有點像印表機。它運行 OpenWRT。我自己編譯它並控制所有配置文件。使用者通常會執行 Windows 7,8 或 10。或者我可以啟用 AVAHI 並且它與 Windows 的 APIPA 相容嗎?
答案1
這已經內建在大多數 IP 用戶端中,稱為 APIPA:自動專用 IP 位址。
當裝置連接到沒有 DHCP 伺服器的 LAN 時,它們會相互通訊並決定 APIPA 位址。這些通常很容易識別,因為它們以 169.254... 開頭,並且通常表示沒有可用的 LAN 管理或網路存取。
它們也意味著,當您知道自己已連接到某種網路時,您可以找到網路上其他裝置的 APIPA 位址,並使用它們的位址與它們進行通訊。
答案2
在路由器上
iptables -I INPUT 1 -i eth0 -p udp -m mac ! --mac-source XX:XX:XX:XX:XX:XX -j DROP
改變乙太網路0到您的網路卡。
更改mac位址。
這!意思是「不」。這將創建一個白名單你的DHCP 伺服器將與之對話。您可以新增運動和/或數據連接埠如有必要的選項。
開啟 DHCP 伺服器。