给客户开个 FTP 传图纸,装完 FileZilla Server,本机 127.0.0.1 能连,客户那边一直报 425 Can't open data connection,目录列表转两圈就断。
先改管理端口和密码
安装时默认管理端口 14147,很多人密码直接留空。装完第一件事是在设置里把 admin 端口改掉,设一个像样的密码,再勾上只允许本机连接管理端口。这个端口一旦对外开放,等于把服务器配置界面送人。
425 多半是数据端口没开
FTP 的控制连接走 21,数据连接另开端口。主动模式由服务器去连客户端,被动模式反过来,客户端连服务器的一段高位端口。现在绝大多数客户端走被动,所以必须在设置里填一个范围,比如 50000 到 50100,同时在防火墙放行这一百多个 TCP 端口。
netsh advfirewall firewall add rule name=ftp-passive dir=in action=allow protocol=TCP localport=50000-50100外网访问还要勾上使用自定义端口范围,并指定外网 IP,否则服务器回给客户端的是内网地址,客户端当然连不上。云主机要在安全组里同步放行,只开防火墙不开安全组是最常见的坑。
用户和目录权限按人开
每个客户一个账号,根目录指到自己的文件夹,权限只给读、写、删、追加里真正需要的那几个。别共用 administrator 这种账号,出了事查不到人。目录权限列表从上到下匹配,前面的规则赢,顺序写错会出现能进不能写的怪现象。
TLS 和编码
FileZilla Server 支持 FTP over TLS,自签证书也能跑,客户端首次连接会提示指纹,确认一次即可。中文文件名建议强制 UTF-8,老客户端还在用 GBK,混着来就是一堆乱码文件名,看着像文件损坏,其实只是编码不对。
还连不上按报错码查
- 530:账号或密码错,先看用户名有没有带前后空格
- 421:连接被主动断开,多半是超时或并发数超限
- 425:数据连接没建起来,查被动端口和防火墙
如果只是给客户传几个文件,用一次性分享链接比维护 FTP 省事得多。FTP 明文传密码、端口难开,能换 SFTP 就换。