在Debian系統中,iptables
是一個強大的命令行工具,用于配置Linux內核的網絡包過濾規則。這些規則可以用來設置防火墻策略,控制進出網絡接口的數據流。以下是如何在Debian系統中使用iptables
來配置防火墻的基本步驟:
查看當前的iptables規則:
sudo iptables -L
sudo iptables -L -v
清空所有iptables規則(謹慎操作):
sudo iptables -F
sudo iptables -X
設置默認策略: 你可以為不同的鏈(如INPUT, OUTPUT, FORWARD)設置默認策略,例如DROP或ACCEPT。
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP
允許本地回環接口的流量:
sudo iptables -A INPUT -i lo -j ACCEPT
允許已建立的連接和相關的數據包:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
允許SSH連接(假設SSH運行在默認端口22):
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
允許HTTP和HTTPS連接:
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW -j ACCEPT
限制特定IP地址的訪問:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
保存iptables規則:
Debian系統通常使用iptables-persistent
包來保存和恢復iptables規則。
sudo apt-get install iptables-persistent
在安裝過程中,它會提示你是否保存當前的iptables規則。如果你已經運行了系統并且想要保存規則,可以使用以下命令:
sudo netfilter-persistent save
sudo netfilter-persistent reload
查看保存的iptables規則:
sudo iptables-save
請注意,直接使用iptables
命令設置的規則在系統重啟后不會自動保存。為了使規則持久化,你需要使用iptables-persistent
或其他類似的工具來保存規則。
此外,Debian系統還提供了ufw
(Uncomplicated Firewall)這樣的圖形界面工具,它可以簡化防火墻配置過程。如果你更喜歡使用圖形界面,可以考慮安裝并使用ufw
。