温馨提示×

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

小樊
42
2025-11-10 12:45:33
栏目: 智能运维

在Linux上配置vsftpd(Very Secure FTP Daemon)的防火墙规则,通常需要使用iptables或firewalld。以下是使用这两种工具进行配置的基本步骤:

使用iptables

  1. 打开FTP端口

    • FTP默认使用两个端口:20(数据传输)和21(控制连接)。你需要确保这些端口在防火墙中是开放的。
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    
  2. 被动模式端口范围

    • 如果你使用被动模式(PASV),还需要开放一个端口范围供客户端连接数据传输。
    sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1024:65535 -j ACCEPT
    
  3. 保存iptables规则

    • 保存iptables规则以确保它们在系统重启后仍然有效。
    sudo iptables-save > /etc/iptables/rules.v4
    

    或者使用iptables-persistent包:

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

使用firewalld

  1. 打开FTP端口

    • 使用firewalld打开FTP端口21和20。
    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --permanent --add-port=20/tcp
    
  2. 被动模式端口范围

    • 打开一个端口范围供被动模式使用。
    sudo firewall-cmd --permanent --add-port=1024-65535/tcp
    
  3. 重新加载firewalld配置

    • 使更改生效。
    sudo firewall-cmd --reload
    

验证配置

无论你使用哪种工具,都可以通过以下命令检查防火墙规则是否正确应用:

  • iptables

    sudo iptables -L -v -n
    
  • firewalld

    sudo firewall-cmd --list-all
    

注意事项

  • 确保你的vsftpd配置文件(通常是/etc/vsftpd/vsftpd.conf)中启用了被动模式,并且配置了正确的被动端口范围。
  • 如果你的服务器位于NAT后面,可能还需要配置NAT规则以允许外部访问FTP服务。

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

0