温馨提示×

centos系统iptables如何管理

小樊
57
2025-03-15 10:37:58
栏目: 智能运维

在CentOS系统中,iptables是一个用于配置内核防火墙(netfilter)规则的工具。通过iptables,你可以设置、查看和删除网络数据包过滤规则,从而控制网络流量。以下是一些基本的iptables命令和管理方法:

1. 查看当前规则

sudo iptables -L -n -v
  • -L:列出所有规则。
  • -n:以数字形式显示地址和端口,而不是尝试解析主机名和服务名。
  • -v:详细模式,显示更多信息。

2. 清空所有规则

sudo iptables -F
  • -F:清空所有链中的规则。

3. 允许特定IP访问

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
  • -A INPUT:将规则添加到INPUT链。
  • -s 192.168.1.100:指定源IP地址。
  • -j ACCEPT:接受匹配的数据包。

4. 拒绝特定IP访问

sudo iptables -A INPUT -s 192.168.1.100 -j DROP
  • -j DROP:丢弃匹配的数据包。

5. 允许特定端口访问

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • -p tcp:指定协议为TCP。
  • --dport 80:指定目标端口为80(HTTP)。

6. 拒绝特定端口访问

sudo iptables -A INPUT -p tcp --dport 22 -j DROP
  • -p tcp:指定协议为TCP。
  • --dport 22:指定目标端口为22(SSH)。

7. 保存规则

CentOS 7及以上版本使用firewalld作为默认防火墙管理工具,但你可以手动保存iptables规则:

sudo service iptables save

或者直接编辑/etc/sysconfig/iptables文件。

8. 恢复默认规则

如果你不小心删除了所有规则,可以恢复默认规则:

sudo iptables-restore < /etc/sysconfig/iptables

9. 使用firewalld管理防火墙

CentOS 7及以上版本推荐使用firewalld来管理防火墙。以下是一些基本命令:

  • 查看当前区域和规则:
    sudo firewall-cmd --list-all
    
  • 添加规则:
    sudo firewall-cmd --permanent --add-port=80/tcp
    
  • 删除规则:
    sudo firewall-cmd --permanent --remove-port=80/tcp
    
  • 重新加载配置:
    sudo firewall-cmd --reload
    

通过这些命令,你可以有效地管理和配置CentOS系统中的防火墙规则。

0