vsftpd 与 Ubuntu 防火墙的兼容配置
一、关键原理
二、UFW 放行步骤
sudo apt update && sudo apt install vsftpdsudo ufw enable(注意先放行 SSH 22/tcp,避免被锁)sudo ufw allow 21/tcpsudo ufw allow 50000:50050/tcpsudo ufw reload 或 sudo ufw status verbose 查看三、iptables 放行步骤
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPTsudo iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTsudo apt install iptables-persistentsudo netfilter-persistent save(或 sudo iptables-save > /etc/iptables/rules.v4)四、vsftpd 配置要点
anonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESallow_writeable_chroot=YESpasv_enable=YESpasv_min_port=50000pasv_max_port=50050ssl_enable=YESforce_local_data_ssl=YESforce_local_logins_ssl=YESrsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pemsudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemsudo systemctl restart vsftpd五、验证与排错
ftp localhost(或使用 FileZilla 连接),验证登录、列目录、上传/下载是否正常。sudo ufw status verbosesudo iptables -L -v -nsudo ss -lntp | grep :21xferlog_enable=YES、xferlog_file=/var/log/vsftpd.log,查看传输与连接问题。六、更稳妥的替代方案