5 分鐘,使用內網穿透快速實現遠端桌面
1. 前言
大家好,我是安果!
一提到遠端桌面,可能大家都會想到 TeamViewer、向日葵等第三方軟體
但是,它們大多是商業化軟體,價格昂貴;即使有提供免費版本,也是各種限制,穩定性和安全性也沒法得到保證
本篇文章將介紹如何使用「內網穿透」實現遠端桌面管理
2. 內網穿透 Frp
常見實現內網穿透的方案有:Frp、Ngrok、natapp
其中,Frp 是一款開源的、簡潔易用、高效能的反向代理軟體
它支援 TCP、UDP、HTTP、HTTPS等協議型別
官方地址:https://github.com/fatedier/frp
3. 操作步驟
下面以 Frp 內網穿透為例,實現遠端桌面訪問
3-1部署 Frp 服務端到雲伺服器
根據系統平臺,從下面連結下載 Frp 原始碼上傳到雲伺服器
https://github.com/fatedier/frp/releases
當然,也可以通過 wget 命令直接下載
#使用wget命令下載0.37.1版本
wgethttps://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
接著,解壓檔案壓縮包
#解壓檔案
tar-zxvffrp_0.37.1_linux_amd64.tar.gz
然後,使用 vi/vim 編輯 Frp 服務端配置檔案「frps.ini」
其中
-
bind_port 用於指定 Frp 服務端的埠號
-
dashboard_user、dashboard_pwd、dashboard_port 分別用於配置 Frp 後臺管理的賬號資訊及訪問埠號
# frps.ini [common] bind_addr = 0.0.0.0 bind_port = 7777 token = 12345678 # 授權碼 # 配置frp後臺管理賬號 dashboard_user = admin dashboard_pwd = admin dashboard_port = 8888 enable_prometheus = true # 配置日誌配置資料夾 log_file = /var/log/frps.log log_level = info log_max_days = 3
最後,開放雲伺服器防火牆埠、配置安全組規則,執行 Frp 服務
# 開放防火牆埠號、配置安全組規則
# 這裡配置7777、8888埠號
# 配置服務
mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
cp systemd/frps.service /usr/lib/a
# 啟動frps服務
systemctl enable frps
systemctl start frps
3-2訪問 Frp 後臺管理
開啟瀏覽器,訪問雲伺服器的 ip 地址 + 上面指定的埠號「 8888 」,輸入上面的使用者名稱和密碼,即可以進入到 Frp 後臺管理介面
管理介面實時檢視 Frp 的執行狀態及代理統計資訊展示
3-3部署 Frp 客戶端到目標計算機
PS:由於目標計算機是 Windows,所有需要先下載 Windows 版本的 Frp原始碼
首先,修改客戶端配置檔案「frpc.ini」
# 配置Frp客戶端資訊
# frpc.ini
[common]
server_addr = frp公網ip地址 #frp服務公網ip地址
server_port = 7777 # frps.ini中指定的埠號
token = 12345678 # 和frps.ini中的token保持一致
[ssh]
type = tcp # 通訊方式
local_ip = 127.0.0.1
local_port = 3389 # 遠端訪問服務預設埠是3389
remote_port = 6000 # 定義遠端埠通過6000指向本地3389埠
然後,使用 CMD 中使用下面命令執行 Frp 客戶端
#執行frp客戶端
frpc-cfrpc.ini
最後,重新整理 Frp Dashboard 管理頁面,可以觀察到 Frp 客戶端的連線資訊
3-4目標計算機開機自啟 - winsw
為了保證目標計算機永久線上,可以利用「winsw」將客戶端連線配置做成一個服務,並配置為開機自啟
專案下載地址:https://github.com/winsw/winsw/releases
配置步驟如下:
-
根據系統版本下載對應原始碼,解壓後放置到 Frp 同一級目錄下
-
修改可執行檔名稱為 winsw.exe
-
新建一個配置檔案winsw.xml,新增執行Frp客戶端的命令
配置資訊如下:
# winsw.xml
<service>
<id>frp</id>
<name>frp</name>
<description>frp遠端控制客戶端服務</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<logmode>reset</logmode>
</service>
最後,使用管理員身份開啟 CMD 終端,執行下面命令,使得 Frp 客戶端能變成系統服務在後臺運行了
#管理員身份執行
winswinstall
winswstart
3-5遠端桌面訪問
通過雲伺服器 ip +客戶端指定的遠端訪問埠號,就可以對目標計算機進行遠端桌面控制了
假設雲伺服器 ip 為「 *.*.*.*
」,Frp 客戶端配置檔案中指定的遠端埠號為 6000
只需要使用命令「mstsc」進入到遠端桌面視窗,計算機輸入「*.*.*.*:6000
」,輸入目標計算機的使用者名稱、密碼即可以遠端控制目標計算機了
當然,也可以通過手機 App,比如「RD Client」來控制遠端桌面
4. 最後
上面通過 Frp 內網穿透實現了遠端桌面控制,實際使用下來體驗真的不要太好
事實上內網穿透的用途遠不止此,大家可以查閱資料去自行擴充套件
如果你覺得文章還不錯,請大家點贊、分享、留言下,因為這將是我持續輸出更多優質文章的最強動力!
分享 Python 自動化及爬蟲、資料分析實戰乾貨,歡迎關注。