如何用frp實現內網穿透

2021-10-04 23:06:09 字數 3144 閱讀 5028

frp 是乙個可用於內網穿透的高效能的反向**應用,支援 tcp, udp 協議,為 http 和 https 應用協議提供了額外的能力,且嘗試性支援了點對點穿透。

注意事項:

以0.32.0版本64位為例:

wget

部署分為服務端和客戶端,先執行服務端

說下我使用的機器裝置:

類別裝置

服務端阿里雲伺服器ecs(centos 7.7 64位)

客戶端樹莓派3b+

簡單說下,博主服務端用的阿里雲伺服器ecs ,這樣你就有了一台有公網ip的機器,如果不是用公網的機器,那只能在區域網中訪問了。

客戶端用的樹莓派3b+ 乙個linux小主機,一直在吃灰,這次也算物盡其用了。

你可以選擇你有的兩台裝置分別做服務端客戶端做測試,windows、linux、mac 都可以

# 解壓

tar -zxvf frp_0.32.0_linux_amd64.tar.gz -c /usr/local

# 進入配置路徑

cd /usr/local/frp/frp_0.32.0_linux_amd64

下面博主自己的配置:

token = 123456bind_port: 提供給客戶端訪問的埠

vhost_http_port: 服務端給使用者訪問的埠,這裡可以配合使用網域名稱,後面詳細說明

authentication_method:使用token方式來驗證客戶端訪問

token:自己定義乙個隨機數,客戶端的token要和服務端token 保持一致,注意不要洩露,防止別人隨意蹭服務端提供的服務

./frps -c ./frps.ini
上面直接啟動,關閉連線視窗會關閉程序,可以後台執行

nohup ./frps -c ./frps.ini &
高階:將服務端frps新增為service

進入/usr/local/frp/frp_0.32.0_linux_amd64/systemd 路徑

cd /usr/local/frp/frp_0.32.0_linux_amd64/systemd
[unit]

description=frp server service

after=network.target

[service]

type=******

user=root

restart=on-failure

restartsec=5s

execstart=/usr/bin/frps -c /etc/frp/frps.ini

[install]

wantedby=multi-user.target

啟動程式複製到/usr/bin 目錄下,配置檔案複製到/etc/frp 路徑下,沒有frp資料夾,自行建立

# 啟動指令碼複製到/usr/bin目錄下

cp /usr/local/frp/frp_0.32.0_linux_amd64/frps /usr/bin

# 在/etc下新建frp資料夾

cd /etc

mkdir frp

# 複製配置檔案

cp /usr/local/frp/frp_0.32.0_linux_amd64/frps.ini /etc/frp

# 複製frps.service

cp /usr/local/frp/frp_0.32.0_linux_amd64/systemd/frps.service /etc/systemd/system

以上操作如沒有許可權, 請在命令前新增sudo,或者使用root使用者(使用root使用者一定要小心操作)

下面嘗試使用systemctl來管理frps

# 啟動

systemclt start frps

# 停止

systemclt stop frps

# 重啟

systemctl restart frps

# 檢視狀態

systemctl status frps

# 開機啟動

systemctl enable frps

訪問:http://公網ip:8080

注意: 服務端起來後就可以訪問到頁面, 這時候還沒有客戶端提供服務, 等客戶端啟動後, 就可以訪問到具體服務。

如果機器80埠可用的話,標題2.1.2的 vhost_http_port 也可以配置成80埠,這樣就可以直接使用http://公網ip訪問了。

如果80埠已經被占用了,我們我可以使用nginx來處理

在nginx配置中新增以下配置:

server 

}

我們可以使用二級網域名稱,直接訪問

訪問的請求會自動**到 上,這裡博主的nginx和frp部署在一台機器上。

解壓rp_0.32.0_linux_arm.tar.gz

修改frpc.ini配置

# frpc.ini

[common]

server_addr = 公網ip

custom_domains = 公網網域名稱

啟動

./frpc -c ./frpc.ini
後台執行:

nohup ./frpc -c ./frpc.ini &

frp實現內網穿透

利用處於內網或防火牆後的機器,對外網環境提供 http 或 https 服務。對於 http,https 服務支援基於網域名稱的虛擬主機,支援自定義網域名稱繫結,使多個網域名稱可以共用乙個80埠。利用處於內網或防火牆後的機器,對外網環境提供 tcp 和 udp 服務,例如在家裡通過 ssh 訪問處於...

frp實現內網穿透

第二部 開啟資料夾,配置裡面的frpc.ini檔案,右鍵編輯就可以 裡面的ssh是預設的要改個名字,不是提示名字被占用,web 是自己加上去的,但是也要改個名字。埠號 按自己需求定,比如你的tomcat是80埠,就配80 按這個配置好檔案後,進行第三步。第三步 在doc視窗下執行這個配置檔案,執行這...

Frp實現內網穿透

一 內網穿透 內網穿透 可用使用外網訪問本地的應用,例如 內網穿透後使用zyd.fanaozhe.top訪問本地的localhost 8080 二 frp安裝步驟 服務端 客戶端2.frp的解壓啟動 1 服務端 將tar包解壓縮 tar zxvf frp 0.26.0 linux amd64.tar...