天天看點

伺服器端安裝配置 Frp 内網穿透

首先需要一個外網能通路的伺服器

FRP下載下傳

https://github.com/fatedier/frp/

安裝FRP

以centos7系統,為例執行一下指令

export FRP_VERSION=0.34.3
sudo mkdir -p /etc/frp
cd /etc/frp
sudo wget "https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_arm64.tar.gz"
sudo tar xzvf frp_${FRP_VERSION}_linux_arm64.tar.gz
sudo mv frp_${FRP_VERSION}_linux_arm64/* /etc/frp
           

其中,第一行等号後面的 0.33.0 是 frp 的版本号 (截稿為止最新版本)。你安裝的時候可以到官網檢視下有沒更新的版本,隻需将新版本的号碼替換掉 0.33.0 即可。

注意:還需要确認一下目前作業系統的架構,選擇合适的版本,我用的是arm是以選擇linux_arm64.tar.gz

其他版本需要到https://github.com/fatedier/frp/官網檢視

FRP 預設提供了 2 個服務端配置檔案,一個是簡化版的 frps.ini,另一個是完整版的 frps_full.ini。初學者隻需用簡版配置即可,在簡版 frps.ini 配置檔案裡,預設設定了監聽端口為 7000,你可以按需修改它。

啟動 FRP 服務端

./frps -c ./frps.ini
           

如伺服器使用 Win 系統,假設解壓到 c:\frp 檔案夾,那麼隻需這樣啟動:

c:\frp\frps.exe -c c:\frp\frps.exe
           

配置 Frp 用戶端

安裝在内網的機器上

設定好伺服器上 Frp 服務端後,我們就需要在内網的機器上安裝 Frp 的用戶端了。 Frp 的用戶端程式 frpc (frpc.exe) 與伺服器端都在同一個壓縮包裡, 我們同樣下載下傳對應系統版本的軟體包。

你可以将 Frp 用戶端安裝在内網的 Windows 電腦、Linux 裝置 (比如樹莓派) 或者 NAS,甚至部分路由器等裝置上。Linux 用戶端的安裝和啟動與伺服器端沒有太多差別,隻是對應運作程式是 frpc 而不是 frps。

為了簡單起見,我們這裡以 Windows 電腦來安裝 Frp 用戶端,因為 Frp 是綠色程式,下載下傳軟體包回來解壓後,啟動 frpc.exe 即可。

但在啟動前,我們需要先修改配置檔案,我們以配置“Windows 遠端桌面控制”以及“群晖 NAS 管理界面”為例。假設你的 FRP 服務端所在的 VPS 公網 IP 為 1.2.3.4, 而用戶端是 Win 電腦,我們來修改 frpc.ini 配置檔案:

[common]
# server_addr 為 FRP 服務端 (VPS 伺服器) 的公網 IP
server_addr = 1.2.3.4
server_port = 7000
[DSM]
type = tcp
local_ip = 192.168.1.40 #群晖 NAS 在區域網路中的内網 IP
local_port = 5000
remote_port = 7001
[RDP]
type = tcp
local_ip = 192.168.1.30 #電腦在區域網路中的内網 IP (如是本機,也可使用 127.0.0.1)
local_port = 3389
remote_port = 7002
           

這樣就在本地上新增了“DSM”和“RDP”兩個可供公網通路的服務了 (它們名稱可以自己取),這裡分别對應内網的群晖 NAS 的背景管理界面和 PC 遠端桌面。如果你需要添加更多的裝置和服務供外網通路,那麼隻需照樣畫葫蘆,指定正确的 IP 位址和端口号即可。

注意放行端口

每個服務的 remote_port 是遠端通路時要用到的端口号,注意這些端口号也要在伺服器的防火土啬和安全組裡放行才能順利通路的,如上面的 7001、7002。

啟動 FRP 用戶端

假設你已将 Frp 的用戶端解壓縮到 c:\frp 目錄中,那麼啟動 Frp 用戶端的指令就是:

c:\frp\frpc.exe -c c:\frp\frpc.ini
           

Linux 啟動 Frp 用戶端指令:

./frpc -c ./frpc.ini
           

啟動之後看到 “start proxy success”字樣就表示啟動成功了。

進行遠端通路

前面搞了這麼多,我們終于可以正式使用 Frp 内網穿透來進行遠端通路内網裡的裝置了!按照上面的配置,隻需打開浏覽器,在位址欄輸入 伺服器公網IP:7001 即可通路

而如果需要遠端桌面連接配接到家裡的 Windows 電腦,那麼打開“微軟遠端桌面用戶端”後,在位址欄裡填入 伺服器公網IP:7002 即可連接配接。

由此,借助 Frp,你就能輕松地為本地區域網路内網的裝置提供公網直接通路的能力了,你可以用 Frp 來轉發包括但不限于 ssh、http、https、轉發 Unix 域套接字等服務。

上面隻是最基礎的教程,Frp 還有很多很多進階功能,比如給 Web 增加密碼保護、點對點内網穿透、設定端口白名單等等,Frp 官網上也提供了很詳細的文檔,感興趣的朋友可以去研究一下。

線上說明文檔

https://gofrp.org/docs/

frp背景運作和停止

1.運作

nohup ./frps -c frps.ini >/dev/null2>&1&
           

2.停止

先找到這個程序

ps -aux|grep frp| grep -v grep
           

然後kill -9 程序号

kill -9 PID
           

繼續閱讀