FRP | 利用frp搭建自己的mstsc远程桌面服务器
相信大家做開發的時候都是使用的公司的電腦,但是BUG可不會挑著你上班的時候出現,有時候一個電話打來,節假日也得匆匆忙忙跑回公司改代碼。本文將簡單介紹如何使用FRP(全名Fast Reverse Proxy)進行內網穿透,通過阿里云服務器遠程訪問自己公司電腦。
一、實現思路
Windows是自帶遠程桌面功能的,只是該功能只有專業版才有。Windows遠程桌面端口是3389,控制端Win鍵 + R打開run界面輸入mstsc可以呼出遠程桌面連接,輸入目標電腦IP即可連接。公司電腦通常部署在內網中,不能直接通過IP訪問到,因此需要將內網的電腦3389端口映射到公網IP服務器上,內網電腦與云服務器建立連接,控制端通過訪公網服務器轉發流量到內網電腦中,簡單地說就是內網穿透。
二、準備工作
1、一臺有公網IP的云服務器,開放7000,3389端口(沒有的話的可以右上角了)
2、一臺Windows旗艦版/專業版系統的電腦(被連接端,能夠訪問互聯網)
3、FRP 項目地址
三、操作步驟
準備工作中的1、2不再詳細贅述,這里主要講FRP的搭建和使用,FRP的操作很簡單,下面以被連接端Windows10專業版,阿里云服務器Ubuntu18.04LTS為例介紹操作步驟:
首先去這里下載FRP應用,根據自己要遠程的電腦和云服務器選擇對應的版本下載。
FRP文件結構
1、將下載好的FRP解壓,進入到目錄中,可以總共有8個文件,其中有用的是這六個:
可以看到文件名以frp + c/s命名,其中以c結尾的是客戶端,以s結尾的是服務端,ini是配置文件,帶full的是詳細配置,這里我們只需要使用不帶full的frpc/s.ini的簡單配置文件就可以了。
服務端(Ubuntu18.04)
1、將文件frp_0.29.0_linux_amd64.tar.gz傳輸到服務器并解壓,打開frps.ini,可以看到:
[common] bind_port = 7000如果有需要,可以更改服務器的啟動端口
這里我們不做更改,直接輸入命令
./frps -c ./frps.ini
截圖我改成6999端口,出現藍色字樣即啟動成功
被連接端(Windows10專業版)
1、首先允許遠程桌面連接,具體操作可以自行搜索
(win10下進入到設置->系統->遠程桌面開啟即可,注意Windows10專業版才有的選項)
2、同樣先解壓,打開frpc.ini,
[common] server_addr = 127.0.0.1 server_port = 7000 auto_token=mstsc[mstsc] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000其中
server_addr,server_port為服務端的IP地址和端口
可以看到FRP默認配置了SSH端口,即不修改的話通過訪問服務端6000端口可以SSH到內網電腦,下面我們修改為
其中
type為連接方式
local_ip為本機ip
local_port為本地需要映射的端口
remote_port為映射到服務器上的端口
auto_token=mstsc對應 [mstsc],如果需要同時部署多臺的話改個名就可以了
修改完成后保存,注意這里不能直接通過雙擊exe文件來運行
win + R打開運行,輸入powershell,進入到目錄下執行
至此,內網穿透就完成了,下面Win + R輸入mstsc,輸入服務器的IP,如果remote_port不是3389的話還需要加上端口號地址(server_addr :remote_port),即可遠程內網電腦桌面了
手機端使用官方出品的RD Client也是可以連接的
四、使用點對點直連
顯然,使用服務器中轉,流暢性受到控制端,被控端,以及服務器三方面的影響,特別是受中間代理服務器的影響最大,那么,有沒有直連方案呢?
有
FPR提供了一種xtcp的直連方式,可以允許我們控制端與被控端進行點對點連接。原理是通過服務端找到雙方位置,之后雙方使用UDP進行通訊
下面修改服務端配置文件frps.ini
[common] bind_port = 7000 bind_udp_port = 7001可以看多了一個UDP端口,重啟服務器
因為是直連,所以連接雙方都要有frp
其中控制端frpc.ini文件如下:
[common] server_addr = 你的IP地址 server_port = 7000[p2p_mstsc_visitor] #官方文檔是使用xtcp,但是測試發現穿透率不高,所以改用stcp type = stcp # xtcp 的訪問者 role = visitor # 要訪問的 xtcp 代理的名字 server_name = mstsc # 只有 sk 一致的用戶才能訪問到此服務 sk = kangdi # 綁定本地端口用于訪問 ssh 服務 bind_addr = 127.0.0.1 bind_port = 6999啟動服務,出現類似字樣
服務端會出現類似字樣
被控制端frpc.ini文件如下:
啟動服務,出現類似字樣
服務端出現類似字樣
現在,在遠程連接的時候輸入localhost:6999就能點對點訪問服務器了
FRP的功能不僅僅只有內網穿透,
以后有機會還會介紹FPR更多相關的功能
本教程到此結束,謝謝瀏覽
總結
以上是生活随笔為你收集整理的FRP | 利用frp搭建自己的mstsc远程桌面服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 出现身份验证错误,要求的函数不受支持
- 下一篇: 2019杭州江干区中小学学区划分一览表