linux

Linux防火墙怎样实现访问控制

小樊
41
2025-08-19 14:55:06
栏目: 智能运维

在Linux系统中,实现访问控制的主要工具是iptables和firewalld。以下是使用这两个工具进行访问控制的基本步骤:

使用iptables

  1. 查看当前iptables规则

    sudo iptables -L -n -v
    
  2. 添加规则

    • 允许特定IP访问某个端口:
      sudo iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j ACCEPT
      
    • 拒绝特定IP访问某个端口:
      sudo iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j DROP
      
    • 允许所有IP访问某个端口:
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      
  3. 保存规则

    • 对于Debian/Ubuntu系统:
      sudo iptables-save > /etc/iptables/rules.v4
      
    • 对于Red Hat/CentOS系统:
      sudo service iptables save
      
  4. 恢复规则

    • 对于Debian/Ubuntu系统:
      sudo iptables-restore < /etc/iptables/rules.v4
      
    • 对于Red Hat/CentOS系统:
      sudo service iptables restart
      

使用firewalld

  1. 查看当前firewalld状态

    sudo firewall-cmd --state
    
  2. 查看所有区域和接口

    sudo firewall-cmd --get-active-zones
    sudo firewall-cmd --list-all
    
  3. 添加规则

    • 允许特定IP访问某个端口:
      sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
      
    • 拒绝特定IP访问某个端口:
      sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" reject'
      
    • 允许所有IP访问某个端口:
      sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
      
  4. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

注意事项

通过以上步骤,你可以有效地使用iptables或firewalld来实现Linux系统的访问控制。

0
看了该问题的人还看了