欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

高性能的內(nèi)網(wǎng)穿透工具frp使用場景

 更新時間:2022年06月17日 08:51:04   作者:K8sCat  
這篇文章主要為大家介紹了一款高性能內(nèi)網(wǎng)穿透工具frp的使用場景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

本文將分享一個很好用的內(nèi)網(wǎng)穿透工具 frp,以及一些具體的使用場景。

什么是 frp

frp 是一個專注于內(nèi)網(wǎng)穿透的高性能的反向代理應用,支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議。可以將內(nèi)網(wǎng)服務以安全、便捷的方式通過具有公網(wǎng) IP 節(jié)點的中轉(zhuǎn)暴露到公網(wǎng)。

為什么使用 frp

通過在具有公網(wǎng) IP 的節(jié)點上部署 frp 服務端,可以輕松地將內(nèi)網(wǎng)服務穿透到公網(wǎng),同時提供諸多專業(yè)的功能特性,這包括:

  • 客戶端服務端通信支持 TCP、KCP 以及 Websocket 等多種協(xié)議。
  • 采用 TCP 連接流式復用,在單個連接間承載更多請求,節(jié)省連接建立時間。
  • 代理組間的負載均衡。
  • 端口復用,多個服務通過同一個服務端端口暴露。
  • 多個原生支持的客戶端插件(靜態(tài)文件查看,HTTP、SOCK5 代理等),便于獨立使用 frp 客戶端完成某些工作。
  • 高度擴展性的服務端插件系統(tǒng),方便結(jié)合自身需求進行功能擴展。
  • 服務端和客戶端 UI 頁面。

安裝

可以在 Github 的 Release 頁面中進行下載:

curl -LO https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz
tar zxf frp_0.37.0_linux_amd64.tar.gz

壓縮包里包含了客戶端和服務端的兩個可執(zhí)行文件,以及對應的配置文件:

> tree -L 1 frp_0.37.0_linux_amd64
frp_0.37.0_linux_amd64
├── frpc # 客戶端程序
├── frpc_full.ini # 對應客戶端程序的詳細配置文件
├── frpc.ini # 對應客戶端程序的簡單配置文件
├── frps # 服務端程序
├── frps_full.ini # 對應服務端程序的詳細配置文件
├── frps.ini # 對應服務端程序的簡單配置文件
├── LICENSE
└── systemd
    ├── frpc.service # 客戶端的 systemd 服務配置文件
    ├── frpc@.service # 客戶端的 systemd 模板文件
    ├── frps.service  # 服務端的 systemd 服務配置文件
    └── frps@.service # 服務端的 systemd 模板文件

使用

首先,這個工具需要一個公網(wǎng)服務器配置使用,配置文件可以參考詳細的配置文件進行編寫,后面會講到自己常用的幾個場景下的配置。

先啟動服務端:

./frps -c ./frps.ini

再啟動客戶端:

./frpc -c ./frpc.ini

Tip:如果需要在后臺長期運行,可以結(jié)合 systemd 或者 supervisor 進行使用。

使用場景

統(tǒng)一的服務端配置

[common]
bind_port = 9999
authentication_method = token
token = yourtokenhere
vhost_http_port = 10001
vhost_https_port = 10002

配置說明:

  • bind_port 是客戶端連接使用的端口號。
  • 為了安全起見,會給服務端加上 token 認證,客戶端被要求使用服務端配置的 token 才可以連接。
  • vhost_http_port 和 vhost_https_port 在自定義域名訪問時需要設置。

下面將都是基于這個服務端配置的一些場景下的客戶端配置。

SSH 連接內(nèi)網(wǎng)服務器

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6666

配置說明:

  • server_addr 是服務端所在服務器的公網(wǎng) IP。
  • remote_port 設置在公網(wǎng)服務器上綁定的端口號。

現(xiàn)在,我們就可以通過 SSH 連接內(nèi)網(wǎng)服務器:

ssh -p 6666 k8scat@x.x.x.x

暴露內(nèi)網(wǎng) HTTP 服務

TCP 類型

這種方式不需要在服務端設置 vhost_http_port 和 vhost_https_port:

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 3333
remote_port = 6666

訪問:http://x.x.x.x:6666

HTTP 類型

這種方式需要在服務端設置 vhost_http_port = 6666,也就是和客戶端配置的 remote_port 相同。

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[web]
type = http
local_ip = 127.0.0.1
local_port = 3333
remote_port = 6666
custom_domains = x.x.x.x

同樣訪問:http://x.x.x.x:6666

靜態(tài)文件下載服務

在沒用 frp 之前,使用的是 Nginx 搭建的靜態(tài)文件服務器,只適用于公網(wǎng)服務器,如果是內(nèi)網(wǎng),還是得用 frp!下面是使用 frp 搭建靜態(tài)文件下載服務的客戶端配置:

[common]
server_addr = x.x.x.x
server_port = 9999
token = yourtokenhere
[file-server]
type = tcp
remote_port = 6666
plugin = static_file
plugin_local_path = /home/k8scat/files
plugin_strip_prefix = download
plugin_http_user = k8scat
plugin_http_passwd = yourpasswd

配置說明:

  • plugin_local_path 指定本地文件存放的路徑。
  • plugin_strip_prefix 指定下載的 URL 的前綴,比如需要下載 /home/k8scat/files/a.tgz 文件,那么 URL 將會是 http://x.x.x.x:6666/download/a.tgz。
  • plugin_http_user 和 plugin_http_passwd 為了安全起見,可以設置下載時的 HTTP 身份驗證。

以上就是高性能的內(nèi)網(wǎng)穿透工具frp使用場景的詳細內(nèi)容,更多關(guān)于內(nèi)網(wǎng)穿透工具frp的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論