linux,使用frp工具實現內網穿透連線

2021-09-24 15:35:44 字數 4003 閱讀 3497

frp 是乙個高效能的反向**應用,可以幫助您輕鬆地進行內網穿透,對外網提供服務,支援 tcp, http, https 等協議型別,並且 web 服務支援根據網域名稱進行路由**。

乙個frp檔案包裡面包括frpc、frps以及相應的配置檔案。內部的配置檔案,如下圖所示:

frpc:是指 frp客戶端(client)

frpc.ini:客戶端配置檔案

frps:是指 frp服務端(server)

frps.ini:服務端配置檔案

一台有公網ip的伺服器(下文稱外網主機)

一台需要實現內網穿透的機器(下文稱內網主機)

乙個ssh工具(xshell、mobaxterm或putty)

乙個網域名稱(如果只是建立ssh反向**則不需要網域名稱)。

外網主機(帶有公網ip的伺服器)需要安裝服務端的frp

(1)解壓

使用tar指令解壓tar.gz檔案

tar -zxvf frp_0.20.0_linux_amd64.tar.gz
(2)刪除多餘檔案外網主機作為服務端,可以刪掉不必要的客戶端檔案。使用cd指令進入解壓出來的資料夾,使用rm指令刪除檔案。

cd frp_0.20.0_linux_amd64/

rm -f frpc

rm -f frpc.ini

(3)修改配置檔案修改伺服器配置檔案,frps.ini檔案。使用vi指令對目標檔案進行編輯。

vi frps.ini
新增以下內容:

[common]

bind_port = 7000 #frp服務端埠

vhost_http_port = 8080 #http訪問埠

[common]部分是必須有的配置,其中bind_port是自己設定的frp服務端埠,vhost_http_port是自己設定的http訪問埠。

儲存配置!

(4)啟動

啟動frp服務端,命令如下:

./frps -c ./frps.ini
服務端配置完成!

(1)解壓

使用tar指令解壓tar.gz檔案

tar -zxvf frp_0.20.0_linux_amd64.tar.gz
(2)刪除多餘檔案外網主機作為服務端,可以刪掉不必要的服務端檔案。使用cd指令進入解壓出來的資料夾,使用rm指令刪除檔案。

cd frp_0.20.0_linux_amd64/

rm -f frps

rm -f frps.ini

(3)修改配置檔案使用vi命令,修改frpc.ini

vi frp.ini
客戶端的配置如下:

[common]中的server_addr填frp服務端的ip(也就是外網主機的ip),server_port填frp服務端的bind_prot。

[common]

server_addr = 123.5.57.118 #服務端ip(外網ip)

server_port = 7000 #服務端設定的埠

[ssh]中的local_port填本機開放的ssh埠,一般ssh埠預設為22。

#通過tcp來連線ssh

[ssh]

type

= tcp

local_ip = 127.0.0.1 #本機ip

local_port = 22 #本機ssh埠

remote_port = 6000 #外網伺服器請求過來的埠

[mysql]中的 type對應服務端配置,local_port填服務端mysql埠。

#通過tcp來連線mysql

[mysql]

type

= tcp

local_port = 3306

remote_port = 3306

#use_encryption = true

#use_compression = true

[tomcat]中的 type對應服務端配置,local_port填服務端toncat埠。

[web]中的type對應服務端配置。local_port填f伺服器的web埠。

以上的配置和服務端是對應的。

可以選擇自己需要的進行配置,其中[common]是必不可少的配置,其餘按需配置。

儲存配置!!!

(4)執行

執行frp客戶端,命令如下:

./frpc -c ./frpc.ini
(若要在後台執行,需要使用其他命令,後面詳述)

若在服務端會看到"start proxy sucess"字樣,即連線成功。

ssh連線:

通過客戶端ip:6000和伺服器端建立ssh連線。

ssh 120.79.17.158 -p 6000
現階段只是讓frp暫時執行,功能也已經實現,但是只要關閉ssh連線,frp也會自動停止。若想要frp一直保持執行狀態怎麼辦???

兩個辦法

乙個是screen命令,

乙個是nohup命令。

先使用screen命令建立乙個會話。

screen -dms frp
然後進入這個會話。

screen -r frp
最後使用執行frp的指令,在後面加上" &" (一定是要在frp目錄下使用該命令)

./frps -c ./frps.ini &
這樣就讓frp在後台執行了。

nohup指令的使用方法相對簡單,只需要在nohup後面加上frp的執行指令即可。下面示範的指令是執行frp客戶端。(同樣,如果之前斷開了ssh連線,記得用cd指令進入frp的目錄先。)

nohup ./frpc -c ./frpc.ini &
這樣就成功讓frp在後台執行了。

有了後台啟動,自然就有相應的關閉之法。關閉frp,直接殺程序就可以啦!!!

ps -aux|

grep frp|

grep -v grep

kill -9 程序號

例如:

[web1~]

#ps -aux|grep frp| grep -v grep

[web1~]

#root 3600 0.1 0.1 110188 9484 pts/0 sl 15:04 0:00 ./frpc -c ./frpc.ini

[web1~]

#kill -9 3600

內網穿透 frp工具使用

2.伺服器上啟動 frps 3.修改本地frpc.ini 檔案 4.本地啟動frpc 5.通過網域名稱訪問 總結 有時想要讓其他人通過網域名稱訪問或者測試我們在本地搭建的 web 服務,但是由於本地機器沒有公網 ip,無法將網域名稱解析到本地的機器,通過 frp 就可以實現這一功能。frp 是乙個可...

內網穿透工具FRP的使用

frp fast reverse proxy 是一款簡單,好用,穩定的隧道工具。frp 使用 go 語言開發,它是一款高效能的反向 應用,可以輕鬆地進行內網穿透,對外網提供服務。frp 支援 tcp udp kcp http https等協議型別,並且支援 web 服務根據網域名稱進行路由 在進行內...

使用frp實現內網穿透

群暉nas frp發揮更大作用 posted by sunnyrx on october 21,2016 該文章於2017年9月2日將frp版本從0.8.1更新到0.13.0,下文針對frp 0.13.0配置。nas沒有公網ip是一件很不方便的事情,尤其是在國內的網路環境,學校和小區內的使用者通常都...