在Linux系统中,iptables是一个用于配置内核防火墙(netfilter)规则的命令行工具。使用iptables可以添加、删除、修改和查看防火墙规则。以下是一些基本的iptables命令,用于添加规则:
允许特定IP访问:
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这条命令允许来自IP地址192.168.1.100的所有流量通过。
拒绝特定IP访问:
iptables -A INPUT -s 192.168.1.100 -j DROP
这条命令拒绝来自IP地址192.168.1.100的所有流量。
允许特定端口访问:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
这条命令允许TCP协议的80端口(通常是HTTP服务)的流量通过。
拒绝特定端口访问:
iptables -A INPUT -p tcp --dport 22 -j DROP
这条命令拒绝TCP协议的22端口(通常是SSH服务)的流量。
允许特定协议访问:
iptables -A INPUT -p udp -j ACCEPT
这条命令允许UDP协议的所有流量通过。
拒绝所有流量:
iptables -P INPUT DROP
这条命令将默认策略设置为拒绝所有进入的流量。
保存规则:
在某些Linux发行版中,iptables规则在系统重启后会丢失。为了持久化规则,可以使用iptables-save和iptables-restore命令,或者使用特定的工具如iptables-persistent。
iptables-save > /etc/iptables/rules.v4
这条命令将当前的IPv4规则保存到文件/etc/iptables/rules.v4。
iptables-restore < /etc/iptables/rules.v4
这条命令从文件/etc/iptables/rules.v4恢复IPv4规则。
请注意,修改iptables规则需要root权限,因此在执行上述命令时可能需要使用sudo。
在实际应用中,你可能需要根据具体的安全需求和网络环境来配置iptables规则。建议在进行任何更改之前备份当前的规则集,并在测试环境中验证新规则的效果。