温馨提示×

Linux防火墙如何设置访问控制

小樊
56
2025-08-31 17:12:13
栏目: 智能运维

在Linux系统中,设置访问控制通常涉及使用iptables或firewalld这样的工具。以下是使用这两个工具进行访问控制的基本步骤:

使用iptables设置访问控制

  1. 查看现有规则

    sudo iptables -L -n -v
    
  2. 允许特定IP地址访问

    sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
    
  3. 拒绝特定IP地址访问

    sudo iptables -A INPUT -s 192.168.1.101 -j DROP
    
  4. 允许特定端口访问

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
  5. 拒绝特定端口访问

    sudo iptables -A INPUT -p tcp --dport 22 -j DROP
    
  6. 保存规则

    • 对于Debian/Ubuntu系统:
      sudo iptables-save > /etc/iptables/rules.v4
      
    • 对于Red Hat/CentOS系统:
      sudo service iptables save
      
  7. 重启iptables服务

    sudo systemctl restart iptables
    

使用firewalld设置访问控制

  1. 查看现有区域和规则

    sudo firewall-cmd --list-all
    
  2. 允许特定IP地址访问

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
    
  3. 拒绝特定IP地址访问

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" reject'
    
  4. 允许特定端口访问

    sudo firewall-cmd --permanent --add-port=80/tcp
    
  5. 拒绝特定端口访问

    sudo firewall-cmd --permanent --remove-port=22/tcp
    
  6. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

注意事项

  • 备份现有规则:在进行任何更改之前,建议备份现有的iptables或firewalld规则。
  • 测试规则:在生产环境中应用新规则之前,先在测试环境中进行测试。
  • 权限:大多数iptables和firewalld命令需要root权限,因此请使用sudo
  • 持久化:确保规则在系统重启后仍然有效。iptables需要手动保存规则,而firewalld通常会自动处理。

通过以上步骤,您可以在Linux系统中设置基本的访问控制。根据您的具体需求,可能需要进一步调整和优化规则。

0