linux

Linux防火墙怎样进行端口管理

小樊
42
2025-05-07 20:16:19
栏目: 智能运维

在Linux系统中,可以使用iptables或firewalld来进行端口管理。以下是两种方法的简要说明:

使用iptables进行端口管理

  1. 查看当前iptables规则

    sudo iptables -L -n -v
    
  2. 允许特定端口: 例如,允许TCP端口80(HTTP)和443(HTTPS):

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  3. 拒绝特定端口: 例如,拒绝TCP端口22(SSH)以外的所有端口:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 1:21 -j DROP
    sudo iptables -A INPUT -p tcp --dport 23:80 -j DROP
    sudo iptables -A INPUT -p tcp --dport 81:443 -j DROP
    sudo iptables -A INPUT -p tcp --dport 444:65535 -j DROP
    
  4. 保存iptables规则: 不同的Linux发行版保存iptables规则的方法不同。例如,在Debian/Ubuntu上:

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

    在CentOS/RHEL上:

    sudo service iptables save
    
  5. 恢复iptables规则: 在Debian/Ubuntu上:

    sudo iptables-restore < /etc/iptables/rules.v4
    

    在CentOS/RHEL上:

    sudo service iptables restart
    

使用firewalld进行端口管理

  1. 查看当前firewalld状态

    sudo firewall-cmd --state
    
  2. 允许特定端口: 例如,允许TCP端口80(HTTP)和443(HTTPS):

    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    
  3. 拒绝特定端口: 例如,拒绝TCP端口22(SSH)以外的所有端口:

    sudo firewall-cmd --permanent --remove-port=22/tcp
    sudo firewall-cmd --permanent --add-port=22/tcp
    sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0/24
    sudo firewall-cmd --permanent --zone=trusted --remove-source=192.168.1.0/24
    
  4. 重新加载firewalld配置

    sudo firewall-cmd --reload
    
  5. 查看当前开放的端口

    sudo firewall-cmd --list-all
    

注意事项

根据你的具体需求和Linux发行版选择合适的方法进行端口管理。

0
看了该问题的人还看了