温馨提示×

Debian FTP如何开防火墙

小樊
49
2026-10-03 20:25:00
栏目: 智能运维

在 Debian 上“开 FTP 防火墙”通常有两层意思,我分开说明,你可以按需要来:


一、允许 FTP 通过防火墙(最常用)

Debian 默认防火墙工具一般是 nftables(新版本)或 iptables(老版本),也可用 ufw 简化管理。

1️⃣ 使用 ufw(推荐,最简单)

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw enable

如果你用的是 被动模式 FTP(PASV),还要放行被动端口范围(假设 30000–31000):

sudo ufw allow 30000:31000/tcp

并在 FTP 服务(如 vsftpd)中配置:

pasv_min_port=30000
pasv_max_port=31000

2️⃣ 使用 iptables(传统方式)

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT

保存规则(Debian):

apt install iptables-persistent
netfilter-persistent save

3️⃣ 使用 nftables(Debian 10+ 默认)

nft add rule inet filter input tcp dport {20,21,30000-31000} accept

保存:

nft list ruleset > /etc/nftables.conf
systemctl restart nftables

二、FTP 主动 / 被动模式与防火墙关系

模式 端口 防火墙注意
主动模式 21 + 20 服务器连客户端,易被客户端防火墙拦
被动模式 21 + 随机端口 必须放行 PASV 端口范围

✅ 生产环境建议用被动模式


三、FTP 服务本身也要开(示例 vsftpd)

sudo apt install vsftpd
sudo systemctl enable --now vsftpd

检查监听:

ss -tlnp | grep 21

四、常见问题

  • FTP 能连但不能列目录 → PASV 端口没开
  • 外网连不上 → 云服务器安全组也要放行
  • 推荐更安全的替代:SFTP(22端口)

如果你能告诉我:

  • Debian 版本
  • 用的 FTP 软件(vsftpd / proftpd)
  • 内网还是公网

我可以给你精确命令。

0 踩