我有一个服务器通过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 (由iptables.service)初始化的?
我希望尽可能地阻止,否则我只会允许它,而不是在这里要求。
发布于 2021-10-16 17:48:43
阻止该访问的结果是,您的DHCP客户端将无法续订它的IP地址租约,直到它到期。
当租约到期,客户端仍然无法通过单播到达DHCP服务器时,DHCP客户端将取消配置当前IP地址,然后使用广播从一开始就启动DHCP请求进程,这样数据包将被寻址为0.0.0.0:68 -> 255.255.255:67。因为这违反了正常的IP寻址规则,所以在Linux上,DHCP客户端将需要使用原始套接字,它不会被常规的iptables筛选规则所阻止。除非网段的IP地址严重短缺,否则DHCP服务器在接收广播请求时可能会再次重新颁发系统相同的IP地址。
因此,总体效果将是,系统仍将获得其IP地址,但每次系统的DHCP租约到期时,您可能会遇到一个简短但完全不必要的IP连接故障。
https://unix.stackexchange.com/questions/673499
复制相似问题