基于Go語言的一個開源的小工具,程序員遠程辦公利器
介紹
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也比較受歡迎,大家都可以自行嘗試!