端口 20 — FTP-Data (TCP)
什么是端口 20?
文件传输协议(数据)
这是 well-known 端口(0–1023),常被 FTP-Data 等核心服务使用。 · RFC 959
什么情况下需要开放端口 20?
Open only if you host an FTP server in active mode. Passive mode FTP (preferred for modern firewalls) does not use port 20 for data transfer. Keep closed if you use SFTP (port 22) or FTPS instead.
常见用途与软件
- vsftpd (active mode)
- Pure-FTPd
- ProFTPD
- Apache FTP Server
安全
FTP-Data transmits file content in plain text with no encryption. Avoid active-mode FTP in favour of SFTP (port 22) or FTPS (port 990). If FTP must be used, restrict allowed IP ranges in your firewall to minimise exposure.
端口 20 安全吗?
开放端口会增加攻击面。安全性取决于 FTP-Data 的配置。
保持 FTP-Data 及时更新安全补丁。要求强身份验证并将访问限制为最低必要的 IP 地址。
测试任意主机的端口 20 连通性。
开放端口 20
要允许到端口 20 (FTP-Data) 的入站连接,请配置防火墙并在路由器上添加端口转发规则,指向设备的本地 IP 地址。
打开 Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则 → 端口 → TCP → 特定本地端口: 20 → 允许连接 → 命名并保存规则。
netsh advfirewall firewall add rule name="Open Port 20" dir=in action=allow protocol=tcp localport=20sudo ufw allow 20/tcpsudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT登录路由器(192.168.1.1 或 192.168.0.1)→ 端口转发 → 添加新规则: 协议 TCP, 外部端口 20, 内部 IP: 设备的本地 IP, 内部端口 20 → 保存。
如何关闭端口 20
若不需要 FTP-Data,请在防火墙或路由器中阻止该端口。
要在 Windows 上屏蔽端口 20,请以管理员身份在 PowerShell 或命令提示符中运行以下命令:
netsh advfirewall firewall add rule name="Block Port 20" dir=in action=block protocol=tcp localport=20执行:sudo ufw deny 20/tcpsudo iptables -A INPUT -p tcp --dport 20 -j DROP删除或禁用端口 20 的端口转发规则。
常见问题
端口 20 用于什么?▾
20 端口是 FTP-Data 的标准 TCP 端口。它被需要接受该服务入站连接的服务器和应用程序所使用。是否需要开放取决于您是否在运行 FTP-Data 服务器——如果没有,应保持关闭。
保持端口 20 打开安全吗?▾
开放的 20 端口会扩大攻击面。如果您没有主动运行 FTP-Data,请在防火墙中关闭此端口并删除端口转发规则。如果 FTP-Data 需要可访问,请将访问限制为已知 IP 地址并保持软件更新。