在CentOS系统中,iptables是一个强大的防火墙工具,用于配置和管理网络数据包的过滤、转发和地址转换规则。以下是使用iptables的基本步骤:
在CentOS系统中,通常默认已经安装了iptables。如果未安装,可以使用以下命令进行安装:
sudo yum install iptables
sudo iptables -L -n -v
这条命令将列出当前的iptables规则,-n
选项以数字形式显示地址和端口,-v
选项显示详细信息。
sudo iptables -F
在执行任何新规则之前,建议清空现有的iptables规则。
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
设置默认策略为拒绝所有进入和转发的数据包,只允许输出的数据包通过。
例如,允许SSH(端口22)、HTTP(端口80)和HTTPS(端口443)的访问:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
例如,允许来自IP地址为192.168.1.100的主机访问本机的80端口:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
修改iptables规则后,需要保存配置,以便在系统重启后生效:
sudo service iptables save
或者
sudo iptables-save > /etc/sysconfig/iptables
保存规则后,重启iptables服务以应用更改:
sudo systemctl restart iptables
或者
sudo service iptables restart
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
这条命令限制80端口单个IP的最大连接数为10。
例如,将本地80端口的数据转发给192.168.1.2:8080:
sudo iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080
以上就是在CentOS系统中使用iptables的基本步骤和一些高级规则示例。请注意,修改iptables规则时要小心,错误的规则可能导致系统无法访问。建议在生产环境中使用firewalld,因为它提供了更友好的界面和动态管理功能。