在 Debian 上配置 FTP 服务器使用被动模式(Passive Mode),通常取决于你用的是哪个 FTP 服务端软件。Debian 上最常见的是 vsftpd,下面以 vsftpd 为例说明,另外也简要提一下 ProFTPD。
sudo apt update
sudo apt install vsftpd
编辑配置文件:
sudo nano /etc/vsftpd.conf
确保以下配置存在并正确:
# 开启被动模式
pasv_enable=YES
# 被动模式使用的端口范围(自定义)
pasv_min_port=30000
pasv_max_port=31000
# 服务器公网 IP(非常重要,尤其是 NAT 环境)
pasv_address=你的公网IP
# 如果使用云服务器且前面有 NAT
# pasv_addr_resolve=YES
示例(云服务器常见):
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=203.0.113.10
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
如果用的是 iptables:
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
sudo systemctl restart vsftpd
sudo nano /etc/proftpd/proftpd.conf
添加或修改:
PassivePorts 30000 31000
MasqueradeAddress 你的公网IP
重启服务:
sudo systemctl restart proftpd
防火墙同样需要放行对应端口。
✅ 被动端口未放行
✅ pasv_address 配置错误
✅ 云服务器安全组未放行被动端口
✅ NAT 环境未设置 pasv_address
listen_ipv6=YES
如果你能告诉我:
我可以给你更精确的配置示例。