在Debian系統中,iptables
是一個強大的命令行工具,用于配置Linux內核防火墻。雖然Debian默認使用ufw
(Uncomplicated Firewall)作為其防火墻管理工具,但iptables
仍然可以直接使用,并且可以與ufw
配合使用,以實現更復雜的防火墻規則配置。
以下是如何在Debian系統中將iptables
與ufw
配合使用的步驟:
ufw
如果你還沒有安裝ufw
,可以使用以下命令進行安裝:
sudo apt update
sudo apt install ufw
ufw
啟用ufw
以開始管理防火墻規則:
sudo ufw enable
ufw
狀態你可以使用以下命令查看ufw
的狀態:
sudo ufw status
iptables
添加規則雖然ufw
提供了更簡單的接口,但你仍然可以使用iptables
來添加更復雜的規則。例如,使用iptables
允許特定端口的流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables
規則保存到ufw
為了確保在系統重啟后規則仍然有效,你可以將iptables
規則保存到ufw
的配置文件中。首先,找到當前的iptables
規則:
sudo iptables-save > /etc/iptables/rules.v4
然后,編輯ufw
的配置文件以加載這些規則:
sudo nano /etc/ufw/before.rules
在文件的開頭添加以下內容:
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
# Allow all on loopback
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT
# Allow ping
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
# Allow DHCP
-A ufw-before-input -p udp --dport 67:68 --sport 67:68 -j ACCEPT
# Allow mDNS (Bonjour)
-A ufw-before-input -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
# Allow SSH
-A ufw-before-input -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
# Allow HTTP and HTTPS
-A ufw-before-input -p tcp --dport 80 -j ACCEPT
-A ufw-before-input -p tcp --dport 443 -j ACCEPT
# Load custom rules
-A INPUT -j DROP
COMMIT
保存并退出編輯器,然后重新加載ufw
配置:
sudo ufw disable
sudo ufw enable
最后,驗證規則是否正確加載:
sudo iptables -L -v -n
通過以上步驟,你可以在Debian系統中將iptables
與ufw
配合使用,以實現更靈活和強大的防火墻管理。