linux

如何在Linux上配置FTP防火墙

小樊
48
2025-08-12 04:55:46
栏目: 智能运维

在Linux上配置FTP防火墙需要遵循以下步骤:

1. 安装必要的软件

首先,确保你的系统上安装了FTP服务器软件(如vsftpd)和防火墙软件(如iptables或firewalld)。

安装vsftpd

sudo apt-get update
sudo apt-get install vsftpd

安装iptables(如果尚未安装)

sudo apt-get install iptables

2. 配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd.conf,确保以下设置:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

然后重启vsftpd服务:

sudo systemctl restart vsftpd

3. 配置防火墙

使用iptables

  1. 允许FTP流量

    • FTP控制连接(默认端口21):
      sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
      
    • FTP数据连接(动态端口范围通常是1024-65535):
      sudo iptables -A INPUT -p tcp --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
      
  2. 允许被动模式数据连接

    • 假设被动模式端口范围是60000-60010:
      sudo iptables -A INPUT -p tcp --dport 60000:60010 -m state --state ESTABLISHED,RELATED -j ACCEPT
      
  3. 保存iptables规则

    sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    

使用firewalld

  1. 启用FTP服务

    sudo firewall-cmd --permanent --add-service=ftp
    
  2. 允许被动模式端口范围

    sudo firewall-cmd --permanent --add-port=60000-60010/tcp
    
  3. 重新加载firewalld配置

    sudo firewall-cmd --reload
    

4. 测试FTP连接

使用FTP客户端(如FileZilla)测试连接,确保可以正常上传和下载文件。

注意事项

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

0
看了该问题的人还看了