在Linux系统中,iptables是一个用于配置内核防火墙(netfilter)规则的命令行工具。要添加新的iptables规则,你需要使用iptables命令并指定相应的链(chain)、目标(target)、协议(protocol)、源地址(source)、目标地址(destination)以及其他选项。
以下是一些基本的iptables命令示例,用于添加新规则:
允许特定IP地址访问:
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这条规则将允许来自IP地址192.168.1.100的所有流量通过INPUT链。
拒绝特定IP地址访问:
iptables -A INPUT -s 192.168.1.100 -j DROP
这条规则将拒绝来自IP地址192.168.1.100的所有流量通过INPUT链。
允许特定端口上的TCP连接:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
这条规则将允许所有到TCP端口80(通常是HTTP)的连接通过INPUT链。
拒绝特定端口上的UDP连接:
iptables -A INPUT -p udp --dport 53 -j DROP
这条规则将拒绝所有到UDP端口53(通常是DNS)的连接通过INPUT链。
允许SSH连接:
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
这两条规则将允许新的和已建立的SSH连接通过INPUT和OUTPUT链。
保存iptables规则: 在某些Linux发行版中,你需要保存iptables规则以确保它们在系统重启后仍然有效。可以使用以下命令之一来保存规则:
iptables-save > /etc/iptables/rules.v4
或者
service iptables save
请注意,修改iptables规则可能会影响系统的网络连接和安全性。在进行更改之前,请确保你了解每条规则的作用,并在必要时备份现有的规则集。如果你不确定如何操作,建议咨询有经验的系统管理员。