FRP配置外網遠端桌面

magicdmer發表於2023-08-13

前言

我們有時候需要從外網遠端家裡的,或者公司的電腦處理一些事情。雖然現在有向日葵,ToDesk 等遠端軟體,但是免費版本有時候用起來還是存在卡頓等問題,查閱了一下資料,可以採用FRP配合公網伺服器進行內網穿透操作,我正好有一個獨立的部落格站點,擁有公網ip,可以嘗試操作一波

服務端配置

首先我們在公網伺服器上下載 frp 軟體包,並解壓命名為 frp

wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz

tar -zxvf frp_0.37.0_linux_amd64.tar.gz && mv frp_0.37.0_linux_amd64 frp

然後我們進入到 frp 資料夾,並編輯 frps.ini 檔案 (frpc.ini 是供客戶端使用的,不管)

[common]
bind_port = 7000
auto_token = 123456

這裡加了一個 auto_token,是為了和客戶端匹配認證,起到安全的作用

接著我們需要開放 7000 埠,由於我是 CentOS 伺服器,所以這裡輸入如下指令:

sudo firewall-cmd --add-port=7000/tcp --permanent
sudo firewall-cmd --add-port=7001/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --query-port=7000/tcp #如果已經開啟,會返回 yes

這裡我們新增了一個 7001,這是後面被遠控的windows機器需要使用的遠控埠

最後我們執行如下的指令即可

./frps -c frps.ini

客戶端配置

客戶端我們同樣先下載對應版本的 frp 程式,並解壓。然後修改 frpc.ini 檔案如下:

[common]
server_addr = 127.0.0.1  #伺服器公網ip,也是我們後面遠端用到的ip
server_port = 7000
auto_token = 123456

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001  #這個是伺服器為RDP開放的連結埠,後面我們需要用這個埠來遠端

然後我們執行如下指令

./frpc -c frpc.ini

這個指令會連線服務端的 frps 服務進行通訊,然後服務端會監控 7001 埠


外網機器

我們直接開啟遠端桌面,輸入 伺服器IP:7001 遠端連線即可


邏輯流程

【外網機器】遠端連線 【伺服器IP:7001】,然後伺服器的 frps 服務程式將該埠轉發到 【被遠控的客戶端】,然後【客戶端】透過配置的 ssh,將 7001 埠重定向為 3389,然後就聯通了

更多的使用方式請參考:https://gofrp.org/


小貼士

下面是一個開源的GUI版本飛frp管理器:
https://github.com/koho/frpmgr

相關文章