在Ubuntu系統中,iptables是一個用于配置內核防火墻(netfilter)規則的命令行工具。以下是一些基本的iptables規則設置步驟和示例:
首先,你可以查看當前的iptables規則:
sudo iptables -L -v -n
例如,允許IP地址為192.168.1.100的設備訪問你的服務器:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
例如,允許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
在允許特定IP和端口后,拒絕所有其他入站連接:
sudo iptables -A INPUT -j DROP
例如,允許TCP端口22(SSH)的流量,并限制每個IP地址每分鐘只能嘗試連接5次:
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 5/min -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
默認情況下,Ubuntu系統不會自動保存iptables規則。你可以使用iptables-persistent包來保存規則:
sudo apt-get update
sudo apt-get install iptables-persistent
在安裝過程中,系統會提示你是否保存當前的iptables規則。選擇“是”即可。
如果你之前保存了iptables規則,可以使用以下命令恢復:
sudo iptables-restore < /etc/iptables/rules.v4
如果你需要清除所有iptables規則,可以使用以下命令:
sudo iptables -F
sudo iptables -X
ufw(Uncomplicated Firewall)來管理防火墻規則,它提供了更友好的用戶界面和更簡單的配置方式。通過以上步驟,你應該能夠在Ubuntu系統中設置基本的iptables規則。根據具體需求,你可以進一步調整和優化這些規則。