天天看點

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

背景說明

這兩天由于疫情的原因,很多公司都得在家遠端上班,然後像我們這類小公司有沒有 VPN 這些東西。傳統的遠端回公司隻能依靠 Teamviewer 或者向日葵等工具。但是由于最近使用者量很多,可能會造成卡頓,本着能不花錢就不花錢的原則,就得找一個折中的方案。既不用收費,也不會像花生殼,nat123 這種從第三方别人的伺服器進行資料傳輸。于是便找到了本次的主角:FRP。

項目說明

該項目的開源位址:

https://github.com/fatedier/frp

在文檔中有這樣一個架構圖:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

簡單的說明一下:

就是我們需要一個中間機器用于運作 FRP 的 Server(服務端),而且該機器需要有公網 IP。

在我們後端的電腦上門安裝 FRP 的 Client(用戶端),可以在這上面運作 tcp 或者 http 等服務。

使用者 User 可以通過通路官網 IP 的機器映射到後端 FRP 的機器,進行服務通路。

當然,我們本次的需求肯定不是這個,這個隻是用于搞搞什麼 web 通路,遠端連接配接等操作,我們這一次使用的是這個的更新版,架構如下:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

說明:

1. 左邊為使用者在家的電腦,右邊為使用者在辦公室的電腦。

2. 公網 IP 的伺服器為公司一台雲上面的伺服器,需要運作 FRP Server(服務端)。

3. 使用者在家裡的電腦和公司的電腦上面需要運作 FRP Client(用戶端)。

安裝配置

1. 下載下傳服務:

https://file.kskxs.com/?dir=frp

我這裡以 0.29 版本為例!

2. 在具有公網 IP 的機器上面安裝配置 Server 端,我這個是 CentOS 7 的,Windows 也是同理,隻是需要下載下傳對應的系統版本:frp_0.29.0_linux_amd64.tar.gz

# 解壓
tar -zxf frp_0.29.0_linux_amd64.tar.gz
mv frp_0.29.0_linux_amd64 /opt/FRP-Server

# 删除不需要的配置
cd /opt/FRP-Server
rm -rf frpc* frps_full.ini  frps.ini  LICENSE  systemd
mkdir logs      

添加配置:

vim frps.ini      

内容如下:

[common]
# 配置IP端口
bind_addr = 這台機器的公網IP
bind_port = 10000
bind_udp_port = 10001
# 配置管理頁面的端口,使用者密碼
dashboard_port = 10002
dashboard_user = admin
dashboard_pwd = admin
# 配置日志儲存位置和等級
log_file = ./logs/frps.log
log_level = info
log_max_days = 3
# 用戶端連接配接的token,最好是随機生成的
token = H99h8HHXSHXSSSCCC      

啟動服務:

./frps -c frps.ini &      

背景運作,可以通過檢視端口看到服務!

3. 在公司的電腦上面安裝啟動 FRP Client 端,由于是 Windows,是以需要下載下傳 Windows 的包:frp_0.29.0_windows_amd64.zip

為了便于區分,解壓後将檔案夾重命名為:FRP-remote

同理删除沒用的檔案,隻留下 frpc.exe 和 frpc.ini 即可:

其中 frpc.ini 的内容如下:

[common]
server_addr = 公網伺服器的公網IP位址
server_port = 10000
# 公網伺服器 FRP Server 配置檔案裡面的 token
token = H99h8HHXSHXSSSCCC

# 名字随意,但是待會兒家裡電腦必須和這個一緻
[dylan_p2p_rdp]
type = stcp
# 值随意,但是待會兒家裡電腦必須和這個一緻
sk = dylan123131223131
local_ip = 127.0.0.1
# 由于是遠端桌面,是以是 3389 端口
local_port = 3389      

啟動方法,進入檔案夾,在位址欄輸入 cmd,打開指令行:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

指令行執行指令:

frpc.exe -c frpc.ini      

效果如下類似:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

注意:該視窗由于沒用背景運作,是以不能關掉!

顯示 Success 啟動完成以後,在公司的電腦開啟遠端桌面:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

開啟遠端:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

至此,公司的電腦組態完成!

4. 家裡的電腦組態:

家裡的電腦也是 Windows,是以一樣使用安裝包:frp_0.29.0_windows_amd64.zip

除了配置檔案不一樣,其他配置和公司電腦一樣,但是為了便于區分,我們将其解壓改名為 FRP-vistor,frpc.ini 内容如下:

[common]
# 公網伺服器的IP和端口和token
server_addr = 公網伺服器的公網IP位址
server_port = 10000
token = H99h8HHXSHXSSSCCC

# 自定義的名字
[dyaln_RDP_visitor]
type = stcp
role = visitor
# 這個就是 RPC-remote 中配置的,必須一緻
server_name = dylan_p2p_rdp
# 這個就是 RPC-remote 中配置的,必須一緻
sk = dylan123131223131
bind_addr = 127.0.0.1
# 這個本機遠端端口,自己随便定義,遠端的時候使用
bind_port = 53389      

然後在指令行一樣的方式啟動即可,效果如下:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

5. 遠端測試:

輸入家裡電腦 配置檔案中的 IP 和端口即可,然後驗證遠端電腦的使用者密碼:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

效果如圖:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

遠端成功!

特别說明

1. 如果公網伺服器帶寬有限卡頓,可以将兩個 FRP Client 配置中的協定由 stcp 換成 xtcp,但是這種穿透方式不一定能夠成功。在文檔中有這樣一個說明:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

2. windows 10 遠端可能出現預設輸入法無法使用輸入中文的問題,公司電腦安裝搜狗輸入法就解決。

3. 服務自帶了儀表盤,之前我們也配置過,可以通過公網 IP + 儀表盤端口登入通路:

使用 FRP 讓部門同僚都能直接遠端桌面辦公( 适用于 TEAM 和向日葵卡頓的使用者)

至此,基本的遠端辦公功能就實作了!其他複雜功能可以看官方文檔和預設自帶的 full 配置,注釋都很詳細。

最後也感謝這位老哥的開源!!!

繼續閱讀