在CentOS系统中,iptables
是一个用于配置内核防火墙(netfilter)规则的用户空间工具。以下是如何使用iptables
的基本步骤:
1. 查看当前防火墙规则
sudo iptables -L -n -v
-L
:列出规则。-n
:以数字形式显示地址和端口。-v
:显示详细信息。
2. 允许特定IP访问
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
-A INPUT
:在INPUT链添加规则。-s 192.168.1.100
:指定源IP地址。-j ACCEPT
:接受该IP的流量。
3. 允许特定端口访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
-p tcp
:指定协议为TCP。--dport 80
:指定目标端口为80(HTTP)。-j ACCEPT
:接受该端口的流量。
4. 阻止特定IP访问
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
-j DROP
:丢弃该IP的流量。
5. 阻止特定端口访问
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
-j DROP
:丢弃该端口的流量。
6. 保存防火墙规则
CentOS 7及以上版本使用firewalld
作为默认防火墙管理工具,但你可以手动保存iptables
规则:
sudo service iptables save
或者使用firewall-cmd
:
sudo firewall-cmd --runtime-to-permanent
7. 重启防火墙服务
sudo systemctl restart iptables
或者使用firewall-cmd
:
sudo systemctl restart firewalld
8. 查看防火墙状态
sudo systemctl status iptables
或者使用firewall-cmd
:
sudo firewall-cmd --state
注意事项
- 修改
iptables
规则时要小心,错误的规则可能导致系统无法访问。 - 建议在生产环境中使用
firewalld
,因为它提供了更友好的界面和动态管理功能。 - 在修改规则之前,最好备份当前的规则集。
通过以上步骤,你可以在CentOS系统中使用iptables
来配置和管理防火墙规则。