Serv-U 配合 cpolar 实现外网 SFTP 访问,一次配置永久生效 文件服务器这件事说大不大但一旦涉及到远程访问麻烦就来了。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 客户端不复杂关键是把链路打通。固定域名的意义在于地址不会变用起来更省心适合需要频繁远程访问或者多人协作的场景。当然临时性的远程支持场景下随机地址也能用看需求选就行。