文件服务器这件事,说大不大,但一旦涉及到远程访问,麻烦就来了。
Serv-U 本身跑在局域网里,稳定性没问题,FTP/FTPS 协议支持也完善,唯独一件事头疼------外网进不来。没有公网 IP,端口映射搞不定,防火墙规则改来改去,最后还是连不上。这种情况在中小企业特别常见,文件服务器架好了,内网用着挺顺,一旦同事出差或者居家办公,就抓瞎。
其实这类问题的解法很直接:*用内网穿透工具把端口暴露出去*。cpolar 这个工具我前后用了大半年,不挑平台,Windows、Linux、群晖都能跑,配置一次就能把内网服务映射到公网,而且支持 TCP 协议,正好用来跑 SFTP。整个过程不需要改路由器、不需要申请公网 IP,十几分钟能跑通。
拿 Serv-U 举例,具体怎么操作:先确认 SFTP 监听器端口(默认 22),然后在 cpolar 里建一条 TCP 隧道指向这个端口,生成公网地址,最后用任意 SFTP 客户端连接这个地址就行。如果用的是固定域名方案,连地址都不用每天改。实际用下来,连接速度基本在秒级,稳定性也OK。
1. 查看开启的监听器
打开我们创建域里面的详细信息---监听器列表可以看到,是默认开启SFTP监听器,端口是 22端口,接下来我们就是通过SFTP连接,方便 快捷.

如果没有看到 我们可以点击右下角添加一个SFTP连接的监听即可,添加好后 我们下面安装cpolar工具 实现远程连接.

2. Windows安装Cpolar
首先注册一个账号,点击下面地址访问cpolar官网,注册一个账号,然后再进入下载页面下载windows安装包.
- windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
Cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录,即可看到Cpolar 管理界面,然后一切设置只需要在管理界面完成即可!

3. 配置SFTP远程地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:
- 隧道名称:可自定义,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:22 (这里端口填写我们在上面监听器看到的端口)
- 域名类型:临时随机TCP端口 (首次使用 选择随机地址测试)
- 地区:选择China vip
点击创建 (注意点击一次即可,不要重复点击!)

然后打开左侧在线隧道列表,查看刚刚创建隧道后生成的远程 TCP连接地址,这个地址就是远程连接的地址,在其他设备上的SFTP客户端,输入这个地址即可连接,下面进行连接测试

本例使用的连接端的filezilla, 主机名称填写: sftp://8.tcp.vip.cpolar.cn(⚠️注意不能漏掉sftp://协议名称),端口填写地址后面的五位数端口 再点击连接即可,如果出现弹框,点击接受, 然后可以看到 连接成功了,简单几部实现了远程连接本地Serv -U 文件服务

小结
为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
我们通常会使用固定TCP域名,原因是我希望将地址发送给同事或其他人时,它是一个固定、易记的公网地址,这样更显正式,便于流交协作。
4. 固定SFTP远程地址
上面步骤在cpolar中使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化为了方便使用,我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。
配置固定tcp端口地址需要将Cpolar升级到专业版套餐或以上。
登录Cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为Serv-U远程连接保留一个固定的地址:
- 地区:选择China vip
- 描述:即备注,可自定义
点击保留

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

再次打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑

修改隧道信息,将保留成功的固定tcp地址配置到隧道中
- 端口类型:修改为固定tcp端口
- 预留的TCP地址:填写官网保留成功的地址,
点击更新(只需要点击一次更新即可,不要重复点击)

隧道更新成功后,点击左侧仪表盘的状态------在线隧道列表,可以看到公网地址已经更新成为了和我们在官网固定的TCP地址和端口一致。这样表示地址已经成功设置固定了,下面测试固定地址连接

5. 固定地址测试连接
固定好了地址后,现在我们再次打开连接客户端,打开输入我们在cpolar中创建的固定公网tcp地址,然后点击连接,出现提示弹框点击确定即可

可以看到连接成功了,这样一个固定不变的公网TCP地址就设置好了,不用担心地址变化.只要本地serv-u服务和cpolar服务正常运行,随时随地的可以输入地址进行连接!

总结一下:Serv-U 本身的文件服务能力是够用的,配合 cpolar 做内网穿透,把 SFTP 端口暴露到公网,远程访问这件事就算解决了。整个链路是:本地 Serv-U → cpolar TCP 隧道 → 公网地址 → SFTP 客户端,不复杂,关键是把链路打通。
固定域名的意义在于地址不会变,用起来更省心,适合需要频繁远程访问或者多人协作的场景。当然,临时性的远程支持场景下,随机地址也能用,看需求选就行。