在Debian系統中,iptables
是一個用于配置Linux內核防火墻(netfilter)規則的用戶空間實用程序。它允許系統管理員定義表(tables)、鏈(chains)和規則(rules),以控制網絡數據包的流向和處理。
以下是一些基本的iptables
命令行用法:
查看規則:
sudo iptables -L
sudo iptables -L INPUT
(查看INPUT鏈的規則)sudo iptables -L --line-numbers
清空規則:
sudo iptables -F
sudo iptables -F INPUT
添加規則:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
(允許TCP端口80的流量)sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
刪除規則:
sudo iptables -D INPUT 3
(刪除INPUT鏈中的第3條規則)sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
修改規則:
保存規則:
iptables-persistent
包來保存和恢復iptables規則。sudo netfilter-persistent save
sudo netfilter-persistent reload
設置默認策略:
sudo iptables -P INPUT DROP
(將INPUT鏈的默認策略設置為DROP)允許或拒絕流量:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
端口轉發:
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80
在使用iptables
時,請確保你有足夠的權限(通常需要root權限),并且謹慎操作,因為錯誤的規則可能導致網絡連接中斷。
如果你是初次使用iptables
,建議先在測試環境中練習,以避免不小心鎖定自己于服務器之外。此外,對于復雜的防火墻配置,可以考慮使用更高級的工具,如ufw
(Uncomplicated Firewall),它提供了一個更簡單的界面來管理iptables規則。