centos

centos iptables如何允许特定协议

小樊
43
2025-08-26 14:35:50
栏目: 智能运维

在 CentOS 系统中,使用 iptables 命令可以配置内核防火墙规则,以允许或拒绝特定的网络流量。以下是如何使用 iptables 允许特定协议的步骤:

  1. 打开终端: 以 root 用户或具有 sudo 权限的用户登录到 CentOS 系统。

  2. 查看当前的 iptables 规则: 使用以下命令查看当前的防火墙规则:

    sudo iptables -L -n -v
    
  3. 允许特定协议: 假设你想允许 TCP 协议的端口 80(HTTP),可以使用以下命令:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    

    这条命令的意思是:在 INPUT 链中添加一条规则,允许目标端口为 80 的 TCP 流量,并将其接受。

    如果你想允许 UDP 协议的端口 53(DNS),可以使用以下命令:

    sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
    
  4. 保存 iptables 规则: CentOS 默认不会持久化 iptables 规则,重启系统后规则会丢失。你可以使用 iptables-servicesfirewalld 来持久化规则。

    • 使用 iptables-services

      sudo systemctl enable iptables
      sudo systemctl start iptables
      
    • 使用 firewalld(推荐):

      sudo yum install firewalld
      sudo systemctl enable firewalld
      sudo systemctl start firewalld
      

      然后使用 firewall-cmd 命令来添加规则:

      sudo firewall-cmd --permanent --add-port=80/tcp
      sudo firewall-cmd --permanent --add-port=53/udp
      sudo firewall-cmd --reload
      
  5. 验证规则是否生效: 再次使用 iptables -L -n -v 命令查看规则是否已经添加,并确保规则顺序正确(通常允许规则应该放在拒绝规则之前)。

通过以上步骤,你可以在 CentOS 系统中使用 iptables 允许特定协议的流量。如果你使用的是 firewalld,则推荐使用 firewall-cmd 命令来管理防火墙规则,因为它提供了更友好的界面和持久化功能。

0
看了该问题的人还看了