linux

Linux防火墙怎样设置访问控制

小樊
60
2025-09-21 01:44:35
栏目: 智能运维

在Linux系统中,可以使用iptables或firewalld两种方法来设置访问控制。以下是具体的操作步骤:

使用iptables设置访问控制

  1. 查看当前iptables规则

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

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

    这条命令允许来自IP地址192.168.1.100的TCP流量访问本地的80端口。

  3. 拒绝特定IP访问

    sudo iptables -A INPUT -s 192.168.1.101 -p tcp --dport 80 -j DROP
    

    这条命令拒绝来自IP地址192.168.1.101的TCP流量访问本地的80端口。

  4. 允许特定端口访问

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

    这条命令允许TCP流量访问本地的22端口(SSH)。

  5. 保存iptables规则

    sudo iptables-save > /etc/iptables/rules.v4
    

    这条命令将当前的iptables规则保存到文件中,以便系统重启后仍然有效。

使用firewalld设置访问控制

  1. 查看当前firewalld状态

    sudo firewall-cmd --state
    
  2. 启用firewalld服务(如果尚未启用):

    sudo systemctl start firewalld
    
  3. 允许特定IP访问

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
    

    这条命令允许来自IP地址192.168.1.100的TCP流量访问本地的80端口,并且规则是永久性的。

  4. 拒绝特定IP访问

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" port protocol="tcp" port="80" reject'
    

    这条命令拒绝来自IP地址192.168.1.101的TCP流量访问本地的80端口,并且规则是永久性的。

  5. 允许特定端口访问

    sudo firewall-cmd --permanent --add-port=22/tcp
    

    这条命令允许TCP流量访问本地的22端口(SSH),并且规则是永久性的。

  6. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

    这条命令重新加载firewalld配置,使新的规则生效。

注意事项

通过以上步骤,你可以根据需要设置Linux系统的访问控制规则。

0
看了该问题的人还看了