ftp服务器映射到外网
外网远程电脑访问内网的FTP的实现方法基于之前两篇文章搭建了ngrok实现了内网穿透,用过了http和https的协议完成了外网访问内网的网站,这一篇教大家用tcp协议实现外网远程电脑访问内网的FTP的方法。
一、外网远程桌面内网的电脑
如何让外网的电脑远程本地的电脑呢,用ngrok进行内网穿透,把本地的远程端口映射出去,然后使用Windows的远程桌面,就能进行连接了。
首先,更改ngrok.cfg文件(当然你也可以重新建一个使用(ノ ̄▽ ̄))
- server_addr: "你的域名:4443"
- trust_host_root_certs: false
- tunnels:
- mstsc:
- remote_port: 5012
- proto:
- tcp: "127.0.0.1:3389"
然后更改start.bat文件(同理你也可以重新建一个使用(~ ̄▽ ̄)~ )
ngrok -config=ngrok.cfg start mstsc
然后运行start.bat文件
然后右键计算机→属性,点击远程设置。
切到远程选项,勾选【允许远程协助连接这台计算机】,然后下面的选项也要允许。
注:本机需要设置账户密码,没有账号和密码的计算机无法被远程连接。
接着,我们在另一台电脑上打开Windows自带的远程桌面。
WIN+R运行mstsc。
或开始菜单搜索找到远程桌面。
输入你的域名:映射服务器的端口。点击连接,然后输入远程计算机的账号和密码就能成功进行连接了。
二、外网访问内网的FTP
运行用ngrok进行内网穿透,就能够达到让外网访问本地的FTP实现对本地文件随时随地的操作,是不是就很方便。
这里我没有用IIS上的FTP,而是用了Serv-U这个软件作为FTP服务端。
首先我们先下载安装Serv-U(下载和安装网上很多,这里就不再赘述了)
安装完成启用后,新建一个域,我这里取名为ftp
然后,点击【用户】,添加一个域用户。
填入用户名和密码,选择根目录。
然后切到【目录访问】添加目录访问规则,选择路径,点击完全访问,保存。
接着,点击【域详细信息】,切换到【监听器】,下面点击添加。
弹出窗口,类型和IP地址默认就行了,端口为ftp连接口,默认为21,我用的是5001,然后勾选【启用监视器】,在PASV模式里填入你的域名或服务器IP。
接下来切换到全局,点击【限制和设置】,切到【设置】,在下面的【网络设置】中,设置PASV被动模式的端口范围,我这里设置的是5008到5009。
这样FTP服务端就搭建好了,然后就该用ngrok进行端口映射了。(注:我本地的防火墙是关着的)
同理,配置ngrok.cfg文件,设置TCP映射,结合之前的,这里把所有用过的都写上,红框里是本次用到的。
- server_addr: "你的域名:4443"
- trust_host_root_certs: false
- tunnels:
- http:
- subdomain: "www"
- proto:
- http: "233"
- https:
- subdomain: "www"
- proto:
- https: "2333"
- mstsc:
- remote_port: 5002
- proto:
- tcp: "127.0.0.1:3389"
- ftp:
- remote_port: 5001
- proto:
- tcp: "127.0.0.1:5001"
- ftp1:
- remote_port: 5008
- proto:
- tcp: "127.0.0.1:5008"
- ftp2:
- remote_port: 5009
- proto:
- tcp: "127.0.0.1:5009"
然后把start.bat文件中启动的改为本次使用的。
ngrok -config=ngrok.cfg start ftp ftp1 ftp2
至此,FTP服务端就搞定了,然后就是我们来使用它了。
网页上访问:
打开浏览器,输入ftp://你的域名:ftp连接端口,弹出登录框登录。
就能看到FTP里的文件了。
文件管理器上访问:
在另一台电脑上打开资源管理器,输入ftp://你的域名:ftp连接端口。
然后输入用户名和密码进行验证。
成功访问。
手机上访问:
下载一个ES文件浏览器。
展开右侧,选择FTP。
点击新建,选择ftp。
配置信息,点击确定。
就会出现一个文件夹。
点开之后就能够查看和操作里面的文件了。
原文地址:https://www.cnblogs.com/LYF1997/p/11296158.html