温馨提示×

Debian系统vsftp的防火墙设置

小樊
58
2025-09-03 03:18:21
栏目: 智能运维

Debian系统配置vsftpd防火墙通常使用ufw(默认工具)或iptables,以下是具体步骤:

一、使用ufw(推荐)

  1. 安装ufw(若未安装)
    sudo apt update && sudo apt install ufw  
    
  2. 启用ufw
    sudo ufw enable  
    
  3. 允许FTP端口
    • 控制连接(默认21端口):
      sudo ufw allow 21/tcp  
      
    • 数据连接(主动模式20端口、被动模式需指定范围,如50000-50100):
      sudo ufw allow 20/tcp  
      sudo ufw allow 50000:50100/tcp  # 需与vsftpd配置的被动端口范围一致  
      
  4. 重新加载规则
    sudo ufw reload  
    
  5. 验证规则
    sudo ufw status  
    
    应看到类似输出:
    21/tcp                   ALLOW       Anywhere  
    20/tcp                   ALLOW       Anywhere  
    50000:50100/tcp          ALLOW       Anywhere  
    

二、使用iptables

  1. 安装iptables
    sudo apt update && sudo apt install iptables  
    
  2. 允许FTP端口
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT  # 控制连接  
    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT  # 数据连接  
    sudo iptables -A INPUT -p tcp --dport 50000:50100 -j ACCEPT  # 被动模式端口范围  
    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
    sudo iptables -P INPUT DROP  # 拒绝其他流量  
    
  3. 保存规则
    sudo apt install iptables-persistent  
    sudo netfilter-persistent save  
    
  4. 验证规则
    sudo iptables -L -v -n  
    

三、关键注意事项

  • 被动模式端口:需在/etc/vsftpd.conf中设置pasv_min_portpasv_max_port(如50000-50100),并与防火墙规则一致。
  • 服务重启:修改配置后需重启vsftpd:
    sudo systemctl restart vsftpd  
    
  • 安全增强:可关闭匿名登录(anonymous_enable=NO)并限制用户访问目录(chroot_local_user=YES)。

根据实际需求选择工具,ufw更简洁,iptables更灵活,均需确保规则在系统重启后生效。

0