Firewall

阻止傳出 UDP 68->67(DHCP 客戶端)的後果?

  • October 16, 2021

我有一台通過 DHCP 接收其 IP 地址的伺服器。這似乎有效並且連接正在工作(目前)。但是,自從安裝了新文件後,我還沒有重新啟動,/etc/sysconfig/iptables所以下次重新啟動時我可能會損失很大。

我注意到我的防火牆阻止了像這樣的傳出 UDP DHCP 連接:

[22994.373788] Firewall: *UDP_OUT Blocked* IN= OUT=enup0 SRC=$OUR_IP DST=$DHCP_SERVER_IP LEN=328 TOS=0x00 PREC=0x00 TTL=64 ID=53942 DF PROTO=UDP SPT=68 DPT=67 LEN=308 UID=0 GID=0

這大概是一些 DHCP 客戶端命令,例如請求更新 DHCP 租約?

如果我阻止這個傳出請求會發生什麼?如果那是依賴於 DHCP 伺服器實現:也許 RFC 文件要求我不阻止它?

相關:在啟動期間啟動網路之前或之後是否從/etc/sysconfig/iptables(by ) 初始化防火牆規則?iptables.service

我希望盡可能多地阻止,否則我只會允許它而不是在這裡詢問。

阻止該訪問的後果是您的 DHCP 客戶端將無法更新其 IP 地址租約,直到它到期。

當租約到期並且客戶端仍然無法通過單播到達 DHCP 伺服器時,DHCP 客戶端將取消配置目前 IP 地址,然後將使用廣播從頭開始 DHCP 請求過程,因此數據包將被定址到 0.0.0.0: 68 -> 255.255.255.255:67。因為這違反了正常的 IP 定址規則,所以在 Linux 上,DHCP 客戶端將需要使用原始套接字,這不會被正常 iptables 過濾器規則阻止。除非該網段的 IP 地址嚴重短缺,否則 DHCP 伺服器在收到廣播請求時很可能會重新為您的系統重新分配相同的 IP 地址。

因此,總體效果是系統仍將獲得其 IP 地址,但每次系統的 DHCP 租約到期時,您可能會遇到短暫但完全不必要的 IP 連接故障。

引用自:https://unix.stackexchange.com/questions/673499