基于之前两篇文章搭建了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。
配置信息,点击确定。
就会出现一个文件夹。
点开之后就能够查看和操作里面的文件了。