在Debian系統中,iptables
是一個用于配置Linux內核防火墻(netfilter)規則的命令行工具。以下是一些基本的iptables
規則設置步驟和示例:
首先,你可以查看當前的iptables
規則:
sudo iptables -L -n -v
-L
:列出規則。-n
:以數字形式顯示地址和端口。-v
:顯示詳細信息。例如,允許IP地址為192.168.1.100
的主機訪問你的服務器:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
-A INPUT
:將規則添加到INPUT鏈。-s 192.168.1.100
:指定源IP地址。-j ACCEPT
:接受該流量。拒絕所有不在允許列表中的IP訪問:
sudo iptables -A INPUT -j DROP
注意:這條規則應該放在最后,否則它會阻止所有流量。
例如,允許TCP端口80(HTTP)和443(HTTPS)的流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Debian默認不會自動保存iptables
規則,你需要手動保存:
sudo iptables-save > /etc/iptables/rules.v4
或者使用netfilter-persistent
包來持久化規則:
sudo apt-get install netfilter-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
如果你需要刪除某個規則,可以使用-D
選項:
sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT
如果你想清空所有規則,可以使用以下命令:
sudo iptables -F
-F
:清空所有鏈。你可以設置默認策略,例如拒絕所有輸入流量:
sudo iptables -P INPUT DROP
-P INPUT DROP
:將INPUT鏈的默認策略設置為DROP。iptables
規則時要非常小心,錯誤的規則可能導致服務器無法訪問。ufw
(Uncomplicated Firewall)來管理防火墻規則,它提供了更友好的用戶界面和自動保存功能。通過以上步驟,你應該能夠在Debian系統上設置基本的iptables
規則。如果你需要更復雜的配置,建議查閱相關文檔或尋求專業幫助。