你在公司传报表的时候,FTP连接突然断了,重试几次都不行。同事说他那边一切正常,问题可能就出在你电脑的防火墙上。
为什么防火墙会干扰FTP传输
FTP协议分主动模式(PORT)和被动模式(PASV)。大多数家用网络和办公网都用的是被动模式。但在这种模式下,客户端要跟服务器建立多个连接,除了控制端口(通常是21),还要开一堆临时数据端口。防火墙一看:这不是可疑行为吗?立马拦截。
结果就是:登录能成功,列目录卡住,传到一半断掉,或者根本没法下载。
常见FTP客户端如何配合防火墙
以FileZilla为例,这是很多人处理表格数据时常用的工具。打开软件后点“文件”→“站点管理器”,选中你的连接,切换到“传输设置”标签页。
把“传输模式”设为“被动”,然后勾上“使用服务器的外部IP地址(用于被动模式)”。这个选项在某些NAT环境下特别有用,不然防火墙根本不知道该放行哪个IP的数据流。
Windows防火墙放行规则设置
如果你不想关防火墙图省事,那就手动加条规则。按 Win + S,搜“高级安全 Windows 防火墙”,进“出站规则”→“新建规则”。
选择“程序”,路径指向 FileZilla 的安装位置,比如:
C:\\Program Files\\FileZilla FTP Client\\filezilla.exe
操作选“允许连接”,配置文件全勾上,名字写“FileZilla - 表格同步专用”就行。
路由器或企业防火墙注意事项
有些公司路由器会默认封掉非常规端口。如果你是IT管理员,可以在网关设备上给FTP客户端分配固定被动端口范围,比如 50000-50100,然后在FileZilla的“编辑”→“设置”→“被动模式”里填上这个区间。
被动端口最小值:50000
被动端口最大值:50100
接着在防火墙开放这100个端口的TCP入站权限。这样既安全又不会误杀合法连接。
小技巧:测试连通性别只靠肉眼
传一个几百KB的Excel表过去,看进度条是不是匀速跑完。如果前几秒飞快,然后突然停住,基本就是防火墙在中途掐断了数据通道。这时候打开FileZilla的日志面板,找关键词“ECONNABORTED”或“连接被对方关闭”,八成就是防火墙搞的鬼。
下次导出财务汇总表前,先把防火墙策略检查一遍,别等到会议前五分钟才发现数据没传上去。