悠悠楠杉
架设FTP服务器的方法:目录授权与外网连接怎么配置
架设FTP服务器,安装软件只是其中一部分。实际使用时,文件放在哪里、账号能修改什么、外部网络能否完成传输,都会影响结果。仅供局域网使用的服务器,不必开放到互联网;涉及远程访问,再处理公网地址和端口映射。
在Windows电脑上建立可访问的目录
以Windows环境为例,可使用FileZilla Server搭建服务。下载服务端软件,不要把用于连接服务器的FileZilla Client当成服务端。安装后进入管理界面,确认FTP服务已经运行;管理界面的连接地址与文件传输使用的监听地址是两回事。
为传输建立独立目录,不要直接共享整个磁盘。创建专用账号,把实际文件夹映射到客户端可见的路径,例如根路径“/”。只供下载的账号保留读取权限;承担上传任务的账号,再开放写入权限。删除权限单独核对,避免一次误操作清空共享文件。
服务端的授权还受Windows文件夹权限限制。账号已经获得写入权限,上传仍被拒绝时,检查运行FTP服务的系统账户对目标目录是否有写入权限,不要直接把整个磁盘改成所有人可写。
用同一局域网内的另一台电脑连接服务器的内网地址。能登录后,再传输一个非敏感文件,检查文件实际落到哪个目录。普通FTP会明文传输账号和内容,涉及密码或业务资料时,启用带TLS加密的FTPS,并让客户端采用匹配的连接方式。
外网能登录,却卡在目录列表
FTP登录与文件传输使用不同的连接。控制连接通了,目录列表和上传下载仍可能被防火墙拦住。家庭或办公网络常用被动模式:服务器提供数据连接端口,客户端主动连接这个端口。因此,仅开放默认控制端口21,未必能完成传输。
准备开放外网访问时,核对路由器WAN地址与外部查询到的公网地址。地址不一致时,可能存在上级路由或运营商地址转换,本机路由器上的映射可能不足以让外网接入;没有可用公网入口时,先确认网络条件,或改用VPN、具备公网地址的服务器。
假设有这样一种情况:一台Windows电脑位于路由器后,局域网传输正常,外部客户端输入账号后能够登录,却一直停在“读取目录列表”。管理员已经映射了控制端口,此时排查方向放在数据连接,不反复重装软件或修改密码。
在这条处理路径中,管理员给服务端设置一个固定的被动端口范围,让Windows防火墙放行该范围,并在路由器上把相同范围映射到服务器内网地址。如果服务端向客户端返回的是内网地址,还要在被动模式设置中填写外部可达地址。公网地址会变化的连接,可按软件支持情况配置动态域名。
完成调整后,换到手机热点重新连接,避免在原局域网里测试公网地址时受到路由器回环支持的影响。若仍卡住,保留客户端日志,核对日志中的目标地址与端口;尚未确认的数据连接问题继续查,不额外扩大开放范围。
交付账号前,把加密和权限测一遍
FTPS与SFTP名称相近,但不是同一种协议。SFTP依托SSH,客户端选择SFTP时,无法连接普通FTP或FTPS服务。已经部署FTPS,就把连接方式与证书信息交给使用者;证书警告出现时核对来源,不直接要求对方忽略提示。
关闭匿名访问,为不同使用者分配独立账号。对外只开放文件传输所需端口,管理界面留在本机或受控网络。服务器还要避免自动休眠,否则离开电脑后,远程传输可能中断。
交付前,用实际账号从外部网络测试上传和下载,再检查只读账号能否删除文件。把服务器地址、加密方式和共享目录写清楚,确认文件到达预定位置,并保留一份独立备份。

