在 Ubuntu 系统中,iptables
是一个用于配置内核防火墙(netfilter)规则的命令行工具。要添加新的 iptables
规则,你可以使用 iptables
命令及其各种选项。以下是一些基本步骤和示例,帮助你添加新的规则:
在添加新规则之前,建议先查看当前的规则,以确保不会意外覆盖或冲突现有的规则。
sudo iptables -L -n -v
例如,允许 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 地址 192.168.1.101
访问你的服务器:
sudo iptables -A INPUT -s 192.168.1.101 -j DROP
例如,允许 ICMP(ping)请求:
sudo iptables -A INPUT -p icmp -j ACCEPT
默认情况下,iptables
规则在系统重启后会丢失。为了使规则在重启后仍然有效,你需要保存规则。
iptables-persistent
保存规则Ubuntu 提供了一个名为 iptables-persistent
的包,可以用来保存和恢复 iptables
规则。
安装 iptables-persistent
:
sudo apt-get update
sudo apt-get install iptables-persistent
在安装过程中,系统会提示你是否保存当前的 iptables
规则。选择“是”。
手动保存规则:
sudo netfilter-persistent save
sudo netfilter-persistent reload
如果你需要删除某个规则,可以使用 iptables -D
命令。例如,删除之前添加的允许 192.168.1.100
访问的规则:
sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT
iptables
规则时要小心,错误的规则可能导致服务器无法访问。iptables
规则。ufw
命令来管理防火墙规则,而不是直接使用 iptables
。通过以上步骤,你应该能够在 Ubuntu 系统中成功添加新的 iptables
规则。