linux增加iptables防火墙规则的示例


在Linux中,增加iptables防火墙规则是一项常见的任务,用于控制进出系统的网络流量。以下是一个简单的示例,演示如何向iptables添加一条规则,以允许从特定IP地址的TCP流量通过端口22(SSH默认端口)。

请注意,执行以下操作通常需要root权限。


# 允许来自特定IP(例如192.168.1.100)的TCP流量通过端口22
iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT

# 保存iptables规则(这一步依赖于你使用的Linux发行版)
# 对于Debian/Ubuntu及其衍生版本,可能需要安装iptables-persistent服务
# sudo apt-get install iptables-persistent
# 然后按照提示操作以保存规则

# 对于CentOS/RHEL及其衍生版本,规则可能不会永久保存
# 你可以使用service iptables save或者类似的命令来保存规则,但这取决于你的系统配置
# 或者,你可以将iptables规则添加到启动脚本中

# 验证规则是否已添加
iptables -L INPUT -v -n

上面的命令中,`-A INPUT` 表示将规则添加到INPUT链,`-p tcp` 指定协议为TCP,`-s 192.168.1.100` 指定源IP地址,`--dport 22` 指定目标端口为22,`-j ACCEPT` 表示匹配到该规则的数据包将被接受。

最后,通过`iptables -L INPUT -v -n`命令可以列出INPUT链中的所有规则,并查看你的规则是否已正确添加。

请注意,iptables规则的顺序很重要,因为iptables会按照规则的顺序进行匹配,一旦找到匹配的规则,就会停止继续检查后续规则。因此,在添加新规则时,请确保它们被放置在正确的位置。

另外,由于iptables规则在系统重启后不会自动保存,因此你可能需要根据你的Linux发行版采取相应的措施来保存规则,以便在系统重启后自动应用它们。