在 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 规则。