frp 是一個(gè)專注于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,通過(guò)在具有公網(wǎng) IP 的節(jié)點(diǎn)上部署 frp 服務(wù)端,可以將內(nèi)網(wǎng)服務(wù)以安全便捷的方式穿透到公網(wǎng),支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議,且支持 P2P 通信。
frp 功能特性
客戶端服務(wù)端通信支持 TCP、QUIC、KCP 以及 Websocket 等多種協(xié)議
采用TCP連接流式復(fù)用,在單個(gè)連接間承載更多請(qǐng)求,節(jié)省連接建立時(shí)間,降低請(qǐng)求延遲
代理組間的負(fù)載均衡
端口復(fù)用,多個(gè)服務(wù)通過(guò)同一個(gè)服務(wù)端端口暴露
支持 P2P 通信,流量不經(jīng)過(guò)服務(wù)器中轉(zhuǎn),充分利用帶寬資源
多個(gè)原生支持的客戶端插件(靜態(tài)文件查看,HTTPS/HTTP 協(xié)議轉(zhuǎn)換,HTTP、SOCK5 代理等),便于獨(dú)立使用 frp 客戶端完成某些工作
高度擴(kuò)展性的服務(wù)端插件系統(tǒng),易于結(jié)合自身需求進(jìn)行功能擴(kuò)展
服務(wù)端和客戶端 UI 頁(yè)面
frp目前已在Github上獲取 72.4k stars,屬于github上的明星項(xiàng)目,目前已被很多公司廣泛用于測(cè)試、生產(chǎn)環(huán)境。非常受歡迎!
下載
目前可以在 Github 的 Release 頁(yè)面中下載到最新版本的客戶端和服務(wù)端二進(jìn)制文件,所有文件被打包在一個(gè)壓縮包中。
下載地址(版本frp_0.52.3_windows_amd64):其他版本:
解壓縮下載的壓縮包,將其中的「 frpc 」拷貝到內(nèi)網(wǎng)服務(wù)所在的機(jī)器上,將「frps 」拷貝到具有公網(wǎng) IP 的機(jī)器上,放置在任意目錄。② 先通過(guò) ./frps -c ./frps.ini
啟動(dòng)服務(wù)端③ 再通過(guò) ./frpc -c ./frpc.ini
啟動(dòng)客戶端
如果需要在后臺(tái)長(zhǎng)期運(yùn)行,建議結(jié)合其他工具使用,例如 systemd
和 supervisor
。
如果是 Windows 用戶,需要在 cmd
終端中執(zhí)行命令。示例:通過(guò) SSH 訪問(wèn)內(nèi)網(wǎng)機(jī)器以 Windows 的包「frp_0.51.3_windows_arm64.zip」為例,解壓后獲得如下文件。
「ini」是對(duì)應(yīng)客戶端的配置文件;
這個(gè)示例通過(guò)簡(jiǎn)單配置 TCP 類型的代理讓用戶訪問(wèn)到內(nèi)網(wǎng)的服務(wù)器。具體步驟如下:
在具有公網(wǎng) IP 的機(jī)器上部署 frps,修改「frps.ini」文件,這里使用了最簡(jiǎn)化的配置,設(shè)置了 frp 服務(wù)器用戶接收客戶端連接的端口:
[common]
bind_port = 7000
在需要被訪問(wèn)的內(nèi)網(wǎng)機(jī)器上(SSH 服務(wù)通常監(jiān)聽(tīng)在 22 端口)部署 frpc,修改 「frpc.ini 」文件,假設(shè) frps 所在服務(wù)器的公網(wǎng) IP 為 x.x.x.x:
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
local_ip
和 local_port
配置為本地需要暴露到公網(wǎng)的服務(wù)地址和端口。remote_port
表示在 frp 服務(wù)端監(jiān)聽(tīng)的端口,訪問(wèn)此端口的流量將會(huì)被轉(zhuǎn)發(fā)到本地服務(wù)對(duì)應(yīng)的端口。
- 分別啟動(dòng)「frps.exe」和「 frpc.exe」。
- 通過(guò) SSH 訪問(wèn)內(nèi)網(wǎng)機(jī)器,假設(shè)用戶名為 test:
ssh -oPort=6000 test@x.x.x.x
frp 會(huì)將請(qǐng)求 x.x.x.x:6000
的流量轉(zhuǎn)發(fā)到內(nèi)網(wǎng)機(jī)器的 22 端口。
更詳細(xì)教程:
FRP內(nèi)網(wǎng)穿透轉(zhuǎn)發(fā)Windows遠(yuǎn)程桌面端口[327]
http://21771.oa22.cn
多個(gè) SSH 服務(wù)復(fù)用同一端口
通過(guò)自定義域名訪問(wèn)內(nèi)網(wǎng)的 Web 服務(wù)
轉(zhuǎn)發(fā) DNS 查詢請(qǐng)求
轉(zhuǎn)發(fā) Unix 域套接字
對(duì)外提供簡(jiǎn)單的文件訪問(wèn)服務(wù)
為本地 HTTP 服務(wù)啟用 HTTPS
安全地暴露內(nèi)網(wǎng)服務(wù)
點(diǎn)對(duì)點(diǎn)內(nèi)網(wǎng)穿透
frp 是一個(gè)專注于內(nèi)網(wǎng)穿透的反向代理軟件,支持多種代理類型以及 P2P 通信,通過(guò)在具有公網(wǎng) IP 的節(jié)點(diǎn)上部署 frp 服務(wù)端,可以將內(nèi)網(wǎng)服務(wù)以安全、便捷的方式,通過(guò)具有公網(wǎng) IP 節(jié)點(diǎn)的中轉(zhuǎn)暴露到公網(wǎng),為不同場(chǎng)景下的需求提供豐富的解決方案。
附官網(wǎng)鏈接:
https://gofrp.org/docs/examples/
該文章在 2024/1/2 18:37:49 編輯過(guò)