介绍
mr2是一个基于Go语言的端口转发小工具,Mr.2可以帮助您将本地服务器公开到外部网络。同时支持TCP / UDP,当然也支持HTTP。零配置,相比较各类内网穿透工具来说,它更简单和纯粹。且支持各大平台!
Github
https://github.com/txthinking/mr2
使用前提
使用这样一个工具的前提就是你需要一台独立IP的服务器,为什么说是程序员使用较为合适,是因为我相信程序员要比普通用户更容易或者更有可能拥有这样的服务器,笔者也一直都有一个闲置的小带宽,少流量服务器!
配置步骤(参考Github)
- 服务端
首先将mr2下载到服务器,笔者手里是一台Windows服务器,Linux也是一样,配置代码如下:
配置端口和密码(全端口)
- mr2 server -l :9999 -p password
仅允许部分端口,并在每个端口上设置密码
- mr2 server -l :9999 -P '5678 password' -P '6789 password1'
- 客户端
- mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:1234
- //公开本地服务器端口1234到服务器的端口5678
示例(HTTP服务)
- mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:8080
- /那么你在在外部网络中的HTTP服务器是:server_address:5678
- mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:22
- //同样你也可以将本地ssh映射到外网,ssh -oPort=5678 user@server_address
访问本地DNS服务器
- mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:53
- /外部网络中的DNS服务器是:server_address:5678
配置Windows远程桌面
因为笔者有时候需要远程公司的电脑来进行远程办公,但是公司又没有外网,因此只能自己想办法,今天就尝试用mr2来配置远程桌面,以下就是服务器配置并启动,这里我们使用批处理方便启动,一句命令服务器端就配置好了
mr2.exe server -l :10086 -p 20142932
当然你也可以通过注册Windows服务的方式来防止不小心关闭,这里推荐大家使用nssm工具
公司电脑客户端配置:将本地的端口3389(远程端口映射到公网端口10086)
mr2.exe client -s serverip:10086 -p 20142932 -P 3390 -c 127.0.0.1:3389
然后你就可以使用Windows自带的远程工具mstsc进行远程连接这台PC了,记得开启Windows的远程功能
- server:10086
笔者实测这种方式要比很多第三方的远程工具要稳定得多,而且还相当流畅,笔者服务器1M小带宽
Windows 10隐藏的远程工具(可尝试)
Windows10其实自带了一个远程协助的功能,如图,这是一个可以远程的工具叫快速助手,不需要公网,需要微软账号,笔者成功连接,不多顶多可以作为普通的远程协助,因为不算流畅,也有可能是网络原因
不同于TeamViewer和向日葵,它是由控制方提供一个安全代码
总结
市面上有很多远程办公的方式,但是无论哪一种都不如自己搭建的稳定,其中frp也比较受欢迎,大家都可以自行尝试!