在CentOS系统中,iptables
是一个用于配置内核防火墙(netfilter)规则的用户空间实用程序。以下是一些基本的iptables
配置步骤和示例:
1. 查看当前的iptables规则
sudo iptables -L -n -v
2. 清空所有规则
sudo iptables -F
3. 设置默认策略
你可以为不同的链设置默认策略,例如DROP或ACCEPT。
设置INPUT链的默认策略为DROP
sudo iptables -P INPUT DROP
设置OUTPUT链的默认策略为ACCEPT
sudo iptables -P OUTPUT ACCEPT
设置FORWARD链的默认策略为DROP
sudo iptables -P FORWARD DROP
4. 允许本地回环接口的流量
sudo iptables -A INPUT -i lo -j ACCEPT
5. 允许已建立的连接和相关流量
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
6. 允许SSH连接
假设你希望允许通过TCP端口22进行SSH连接:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
7. 允许HTTP和HTTPS连接
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
8. 允许特定IP地址访问
假设你想允许IP地址为192.168.1.100的设备访问你的服务器:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
9. 保存iptables规则
CentOS 7及以上版本使用firewalld
作为默认防火墙管理工具,但你可以手动保存iptables
规则:
sudo service iptables save
或者使用iptables-save
命令:
sudo iptables-save > /etc/sysconfig/iptables
10. 恢复iptables规则
如果你之前保存了规则,可以使用以下命令恢复:
sudo iptables-restore < /etc/sysconfig/iptables
注意事项
- 修改
iptables
规则时要小心,错误的配置可能导致服务器无法访问。 - 在生产环境中,建议使用
firewalld
或其他更高级的防火墙管理工具,因为它们提供了更友好的界面和更多的功能。
通过以上步骤,你可以基本配置CentOS系统的iptables
防火墙规则。根据实际需求,你可以进一步调整和优化这些规则。