centos

centos iptables如何设置链策略

小樊
44
2025-09-19 23:08:23
栏目: 智能运维

在 CentOS 系统中,使用 iptables 设置链策略的步骤如下:

  1. 查看当前规则: 在修改任何规则之前,建议先查看当前的 iptables 规则,以便了解现有的配置。

    sudo iptables -L -n -v
    
  2. 设置默认策略iptables 有五个默认链:INPUTFORWARDOUTPUT,以及自定义链。你可以为每个链设置默认策略,例如 ACCEPTDROP

    • 设置 INPUT 链的默认策略为 DROP

      sudo iptables -P INPUT DROP
      
    • 设置 FORWARD 链的默认策略为 DROP

      sudo iptables -P FORWARD DROP
      
    • 设置 OUTPUT 链的默认策略为 ACCEPT(通常情况下,我们希望本地主机能够发出流量):

      sudo iptables -P OUTPUT ACCEPT
      
  3. 允许必要的流量: 根据你的需求,添加规则以允许特定的流量通过。

    • 允许来自特定 IP 地址的 SSH 连接(假设 SSH 端口为默认的 22):

      sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
      
    • 允许所有出站 HTTP 和 HTTPS 流量:

      sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
      
    • 允许已建立的连接和相关流量:

      sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      
  4. 保存规则: 默认情况下,iptables 规则在系统重启后会丢失。为了使规则持久化,可以使用 iptables-servicesfirewalld

    • 使用 iptables-services 保存规则:

      sudo systemctl stop firewalld
      sudo systemctl enable iptables
      sudo systemctl start iptables
      
    • 使用 firewalld 保存规则(如果已安装并启用):

      sudo firewall-cmd --runtime-to-permanent
      
  5. 验证规则: 最后,再次查看 iptables 规则以确保它们已正确应用。

    sudo iptables -L -n -v
    

通过以上步骤,你可以在 CentOS 系统中使用 iptables 设置链策略,并确保系统安全。

0
看了该问题的人还看了