linux

如何在Linux FTP Server上配置防火墙规则

小樊
43
2025-05-14 11:56:14
栏目: 智能运维

在Linux FTP服务器上配置防火墙规则,通常涉及使用iptables或firewalld等工具来控制网络流量。以下是使用这两种工具进行配置的基本步骤:

使用iptables配置防火墙规则

  1. 查看当前iptables规则

    sudo iptables -L -n -v
    
  2. 允许FTP流量: FTP使用两个端口:21(控制连接)和20(数据连接)。你需要允许这两个端口的流量。

    sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 20 -m state --state NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT
    
  3. 允许被动模式FTP流量: 被动模式FTP使用随机端口范围。你需要允许这些端口的流量。通常,被动模式FTP的端口范围是1024到65535。

    sudo iptables -A INPUT -p tcp --dport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
    
  4. 保存iptables规则: 不同的Linux发行版保存iptables规则的方法不同。例如,在Debian/Ubuntu上,你可以使用iptables-persistent

    sudo apt-get install iptables-persistent
    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

    在Red Hat/CentOS上,你可以使用service iptables save

    sudo service iptables save
    

使用firewalld配置防火墙规则

  1. 查看当前firewalld状态

    sudo firewall-cmd --state
    
  2. 允许FTP流量: 使用firewalld的富规则(rich rules)来允许FTP流量。

    sudo firewall-cmd --permanent --add-service=ftp
    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --permanent --add-port=20/tcp
    sudo firewall-cmd --permanent --add-port=1024-65535/tcp
    
  3. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

注意事项

通过以上步骤,你应该能够在Linux FTP服务器上成功配置防火墙规则。

0
看了该问题的人还看了