在Linux上設置DHCP服務器的防火墻規則,通常涉及以下幾個步驟。這里以iptables為例進行說明:
首先,你需要知道DHCP服務器綁定的網絡接口。例如,假設DHCP服務器綁定在eth0接口上。
DHCP使用UDP協議,端口為67(服務器端)和68(客戶端)。你需要在防火墻上允許這些端口的流量。
iptables設置規則# 允許來自任何IP的DHCP請求(客戶端到服務器)
sudo iptables -A INPUT -i eth0 -p udp --dport 67 -j ACCEPT
# 允許DHCP服務器發送響應(服務器到客戶端)
sudo iptables -A OUTPUT -o eth0 -p udp --sport 67 -j ACCEPT
iptables規則在系統重啟后會丟失,因此需要保存規則。
sudo iptables-save > /etc/iptables/rules.v4
sudo service iptables save
或者使用firewalld:
sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --reload
確保規則已經正確應用。
sudo iptables -L -v -n
你應該能看到類似以下的輸出,表明規則已經生效:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * eth0 0.0.0.0/0 0.0.0.0/0 udp sport:67
firewalld,確保服務已經啟用并且規則已經重新加載。通過以上步驟,你應該能夠成功設置Linux DHCP服務器的防火墻規則。