1. 程式人生 > 其它 >使用Frp內網穿透實現遠端桌面(家裡電腦遠端控制公司電腦)

使用Frp內網穿透實現遠端桌面(家裡電腦遠端控制公司電腦)

場景:最近國內疫情反覆,隨時可能被封閉在家裡,這時候就需要遠端控制公司電腦實現一部分的在家辦公需求。

  • 公司電腦處於公司內網,可以連線外網,但是沒有公網ip,為方便後續識別,統一為 office-pc。
  • 家裡電腦也可以連線外網,同樣沒有公網ip,統稱為home-pc。
  • 一個公網伺服器,有固定的公網ip,用於轉發和連線客戶端,統稱為server。

我們使用Frp進行內網穿透,Frp官方下載地址:https://github.com/fatedier/frp/releases

下載win64版本

解壓之後得到 frpc.exe frps.exe和相應的配置檔案。frps.exe就是服務端應用程式,frpc.exe就是客戶端應用程式(home-pc和office-pc使用).

server配置

假設伺服器公網ip為:110.110.110.110
frps.ini

[common]
bind_port = 9527
bind_udp_port = 9527
token = 123456

說明:
繫結9527的tcp埠
繫結9527的udp埠
使用token進行服務端與客戶端間的通訊校驗,服務端與客戶端需要使用相同的token值

start.bat

@echo off
:home
frps -c frps.ini
goto home

說明:
使用frps -c frps.ini命令執行服務端程式,可以手動點選 start.bat檔案執行,也可以配置成開機自動執行(防止斷電重啟後連線不上)
使用windows自帶的 排程計劃 配置

  • 建立task

home-pc配置

[common]
server_addr = 110.110.110.110
server_port = 9527
token = 123456

[p2p_rdp_visitor]
type = stcp
role = visitor
server_name = p2p_rdp
bind_addr = 127.0.0.1
bind_port = 2333
sk = 654321

office-pc配置

[common]
server_addr = 110.110.110.110
server_port = 9527
token = 123456

[p2p_rdp]
type = stcp
local_ip = 127.0.0.1
local_port = 3389
sk = 654321

公司電腦開啟允許遠端桌面訪問

公司電腦和家裡電腦通過sk值進行校驗,必須保持一致。

家裡電腦使用 110.110.110.110:2333 即可使用遠端桌面訪問公司電腦

注意事項:

  1. 如果發現連線不上服務端,可以開啟服務端的tcp/udp 9527埠的進站和出站
  2. stcp協議使用服務端流量進行轉發,對服務端頻寬有要求
  3. 可以嘗試切換到xtcp協議,直接點對點傳輸,伺服器只做握手認證。但xtcp對兩邊的網路有特殊要求,成功率比較低