在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规则。根据具体需求,你可以进一步调整和优化这些规则。