Windows系统下FTP服务器搭建与公网访问
时间:2023-02-20 10:30:01 | 来源:建站知识
时间:2023-02-20 10:30:01 来源:建站知识
Windows系统下FTP服务器搭建与公网访问:
更新:2022/11/22
零、目的与说明
目的:为了将因为出于安全性原因只能本地存储的一些文件通过网络传输到拥有指定权限的多个客户端。
整体思路:使用FileZilla Server建立FTP服务器,通过cpolar进行内网穿透,再使用FileZilla 客户端远程登录并访问。
步骤:以下教程来自 coplar.com (有修改)
由于FTP协议是个多端口协议,它需要侦听本地TCP 21端口和一个数据传输端口段(1024-65535),所以通常难以穿透。以下为cpolar给出的解决方案:
这里以一款免费开源的FTP软件
FileZilla
示例,快速简单搭建FTP服务器,并做内网穿透,实现在外网环境下访问内网FTP服务器。
使用工具:
- FileZilla服务器、客户端
- cpolar内网穿透
一、安装FileZilla服务器
下载地址:https://www.filezilla.cn/download设置管理员登录密码。14148端口一般默认就好。生成证书指纹。确定就好。安装完成进入管理界面,连接server使用管理员密码,登录FileZilla server登录成功,进入FileZilla server后台
二、配置cpolar内网穿透
注册并安装cpolar内网穿透
https://www.cpolar.com/,由于需要配置固定的ftp公网地址,因此需要将cpolar升级到专业套餐。目前免费版套餐也能创建随机地址的FTP隧道,但是可能不够稳定,但是对于测试来说也已经够用。以下步骤为购买专业套餐后执行,免费版可跳过。
在cpolar网页仪表盘界面查看自己的token代码,Win+R输入cmd,回车,打开命令与提示符,输入下面的代码。(windiwos环境下不要输入 ./ )
cpolar authtoken XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1. 预留FTP固定公网地址
登录cpolar后台,进入预留页面2 选择
保留的FTP地址
,保留一个固定的FTP公网地址
地区:选择China或者China vip。描述:可自定义3. FTP地址保留成功
由于穿透FTP不止需要穿透21端口,还需要穿透数据端口,所以保留成功ftp地址后,除了会生成一个信令端口(公网对应本地的21端口)以外,还会生成一个数据端口段。
4. 配置本机cpolar客户端
打开客户端或者浏览器访问127.0.0.1:9200,登录本地cpolar web-ui管理界面5. 创建隧道
- 隧道名称:自定义,不重复即可
- 协议:选择 ftp
- 本地地址:21
- 端口类型:选择固定ftp端口
- 预留的ftp地址:输入在cpolar后台所保留成功的地址
注:免费版需用随机临时端口
左侧仪表盘——隧道管理——创建隧道6. 隧道创建成功
隧道创建成功后,可以看到ftp隧道为激活状态。信令端口(ftp://开头地址):– ftp://1.tcp.cpolar.cn:25124数据端口(data://开头地址)(全例为25125——25127):– data://http://1.tcp.cpolar.cn:25125– data://http://1.tcp.cpolar.cn:25126– data://http://1.tcp.cpolar.cn:25127左侧仪表盘——状态——在线隧道列表,可查看到ftp隧道所生成的4条隧道7. 将域名解析为IP地址
由于ftp server里只认ip地址,无法使用域名地址,因此需要将cpolar所生成的公网域名
1.tcp.cpolar.cn
解析成IP地址。打开命令行,输入命令ping 1.tcp.cpolar.cn解析成功后,会生成一个与域名相对应的IP地址。
1.tcp.cpolar.cn————61.160.213.50
三、:设置FileZilla服务器
1、将FileZilla服务器配置为被动模式
勾选usecustom port range。设置数据端口,配置成与cpolar提供的一致(25125——25127)。填写已解析成功的cpolar公网IP地址(61.160.213.50)2. 添加用户并配置权限
选择
require a password to log in
- Virtual path虚拟路径:填写
/
- native path本地路径:填写user01用户所能访问的根目录文件路径
3. FTP SERVER服务器端配置完成
四、安装FileZilla客户端,快速连接
下载地址:https://www.filezilla.cn/download1. 一路默认安装即可
2. FileZilla客户端安装成功
3. 快速连接到FTP服务器
- 主机:输入cpolar所生成的公网域名地址
http://1.tcp.cpolar.cn
- 用户名:user01
- 密码:user01的密码
- 端口:填写信令端口
25124
4. 连接成功
注:若使用站点管理器连接,传输模式中不可以选用“主动模式”,否则无法正常连接上。
系列文章:
- 如何在内网搭建SFTP服务器,并发布到公网可访问
- Cpolar 内网穿透 FTP Server
【注】目前遇到的问题是服务器目录读取经常会失败,需要多刷新几次(8~10)次就会出来了,推测是Cpolar免费套餐限制的原因(免费套餐只能使用临时随机FTP端口,24小时后会失效)。该推测尚未验证。
五、debug & test
- 2022.11.19 通过TCP协议的远程桌面测试成功。登录凭证是远程计算机IP地址(要加端口号)和该机当前用户名和账户密码。默认Windows远程桌面端口是3389。可以传输文件,被控制计算机接入远程后就会自动锁屏,主从计算机不能同时操作。
- 2022.11.19 同样的问题又出现了,能登陆上远程ftp主机,但是无法读取目录,重新创建一个隧道之后好了。
- 2022.11.19 使用freeFTP建立服务器通过SFTP协议传输也可以,但是freeFTP貌似在客户端用户权限上的设置功能没有filezilla那么全。
- 2022.11.19 使用vip预留的ftp端口测试成功了。但是从公司回来之后连接公司的FTP服务器又读取不了目录,远程桌面连接的TCP3389没有问题。重新预留了一个FTP地址,又可以了,推测还是cpolar多隧道同时穿透不稳定的原因。
- 2022.11.20 折腾了很久问题解决了。原来是因为内网穿透之后服务器端只允许客户端使用被动模式连接,将客户端的设置为被动模式就可以了。:-P
- 2022.11.22 新的问题出现了。当cpolar的FTP隧道持续大约一天之后会进入idle状态,从而导致ftp隧道全部自动关闭,联系了客服也没说根本原因,就说Ftp隧道不稳定然后让换成SFTP。推测是FTP保留的4个隧道占用的他们服务器资源比较多所以就不让用吧。
六、备注&笔记
还有两种方式: SFTP WebDAV都可以文件传输,ssh服务也可以使用scp传输文件。待学习。
参考资料
Windows 使用cpolar系列教程
- 1. Windows用户如何安装cpolar https://zhuanlan.zhihu.com/p/430753222
- 2. 如何在Windows上搭建web站点,并发布到公网?2-1 https://zhuanlan.zhihu.com/p/432599555
- 3. 如何在Windows上搭建web站点,并发布到公网?2-2 https://zhuanlan.zhihu.com/p/432621265
- 4. 如何在Windows下搭建WordPress博客站点,并发布到公网?https://zhuanlan.zhihu.com/p/434020477
- 5. 如何为Windows上的WordPress站点配置自己的域名,并公网可访问https://zhuanlan.zhihu.com/p/455821417
- 6. 如何为WordPress站点配置HTTPS证书 https://zhuanlan.zhihu.com/p/455829492
- 7. 远程办公必备:如何通过cpolar在家远程控制公司内网的电脑办公 https://zhuanlan.zhihu.com/p/453223234
- 8. 远程办公必备:如何通过cpolar远程控制桌面,配置固定TCP端口地址 https://zhuanlan.zhihu.com/p/456435431