在CentOS系统中,iptables是一个常用的防火墙工具,用于配置和管理网络包过滤规则。以下是一些基本的iptables命令和使用方法:
如果你还没有安装iptables,可以通过以下命令进行安装:
sudo yum install iptables -y
要查看当前的iptables规则,可以使用以下命令:
iptables -L -n
如果你想清空所有的iptables规则,可以使用以下命令:
iptables -F
iptables -X
你可以设置iptables的默认策略,例如默认拒绝所有输入(INPUT)流量:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
例如,要允许特定端口的连接,可以使用以下命令:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP端口
修改完规则后,需要保存规则以便在系统重启后生效:
service iptables save
要重启iptables服务以应用新的规则,可以使用以下命令:
service iptables restart
例如,要允许IP地址为192.168.1.100的主机访问本机的SSH端口,可以使用以下命令:
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
iptables支持多种高级配置,例如网络地址转换(NAT)和地址伪装(MASQUERADE):
# 源地址SNAT转换
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE
# 目的地址DNAT转换
iptables -t nat -A PREROUTING -d 81.6.63.254 -p udp --dport 53 -j DNAT --to 192.168.100.100
注意:在配置iptables规则时,规则的顺序非常重要。通常,更具体的规则应该放在前面,以确保它们能够优先匹配。此外,确保在修改规则后保存配置,并在必要时重启服务以使更改生效。