linux

Linux防火墙如何设置防火墙策略

小樊
41
2025-07-29 18:21:32
栏目: 智能运维

在Linux系统中,设置防火墙策略通常涉及使用iptables或firewalld等工具。以下是使用这两个工具设置防火墙策略的基本步骤:

使用iptables设置防火墙策略

  1. 查看当前iptables规则

    sudo iptables -L -n -v
    
  2. 设置默认策略

    • 设置INPUT链的默认策略为DROP(拒绝所有输入):
      sudo iptables -P INPUT DROP
      
    • 设置OUTPUT链的默认策略为ACCEPT(允许所有输出):
      sudo iptables -P OUTPUT ACCEPT
      
    • 设置FORWARD链的默认策略为DROP(拒绝所有转发):
      sudo iptables -P FORWARD DROP
      
  3. 允许特定IP地址访问

    • 允许特定IP地址访问SSH端口(22):
      sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
      
  4. 允许特定端口访问

    • 允许特定端口(如80和443)访问:
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
      
  5. 拒绝特定IP地址或端口

    • 拒绝特定IP地址访问SSH端口:
      sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.101 -j DROP
      
  6. 保存iptables规则

    • 使用iptables-persistent保存规则(适用于Debian/Ubuntu):
      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
    • 使用iptables-save和iptables-restore保存和恢复规则(适用于其他发行版):
      sudo iptables-save > /etc/iptables/rules.v4
      sudo iptables-restore < /etc/iptables/rules.v4
      

使用firewalld设置防火墙策略

  1. 查看当前firewalld状态

    sudo firewall-cmd --state
    
  2. 设置默认区域

    • 设置默认区域为public(公共区域):
      sudo firewall-cmd --set-default-zone=public
      
  3. 允许特定IP地址访问

    • 允许特定IP地址访问SSH端口(22):
      sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
      
  4. 允许特定端口访问

    • 允许特定端口(如80和443)访问:
      sudo firewall-cmd --permanent --add-port=80/tcp
      sudo firewall-cmd --permanent --add-port=443/tcp
      
  5. 拒绝特定IP地址或端口

    • 拒绝特定IP地址访问SSH端口:
      sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" port protocol="tcp" port="22" reject'
      
  6. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

注意事项

通过以上步骤,您可以在Linux系统中设置基本的防火墙策略。根据具体需求,您可能需要进一步调整和优化这些策略。

0
看了该问题的人还看了