使用FRP做內網穿透教程

2021-10-10 18:32:20 字數 3617 閱讀 4821

為什麼要做內網穿透?

普通家庭裡使用的都是區域網,比如說你家在a,然後你工作的地方在b,然後你突然間想遠端家裡a的電腦,這時候是不能在b的網路裡直接遠端到a的電腦上,因為不是在同個區域網內,雖然我們可以借助第三方軟體來實現遠端的功能,但還是存在一些不方便,第三方軟體對桌面系統很友好,例如windows系統,ubuntu桌面,或者deepin桌面系統,這些都會有開發好的圖形化的遠端軟體來支援。但是對命令介面的作業系統就很不友好了,我家裡放的一台筆記本是裝了命令介面的centos7系統。安裝那些遠端軟體是乙個問題,配置是乙個問題,讓很多人操碎了心,這時候製作乙個內網穿透的功能就顯得有一定的作用了,簡而言之,有了內網穿透功能,我們就可以隨時隨地的遠端回家的電腦了。

這些教程是我通過在網上學來的,然後通過自己實踐並總結做出來的筆記。

首先要有乙個雲伺服器(vps伺服器)在亞馬遜、阿里雲、微軟雲等等都可以。

在雲伺服器上安裝frp服務端

有兩種方法:

方法一:

export frp_version=0.29.1

sudo

mkdir -p /etc/frp

cd /etc/frp

sudo

wget

""sudo

tar xzvf frp_$_linux_amd64.tar.gz

sudo

mv frp_$_linux_amd64/* /etc/frp

方法二:
sudo wget 

tar xzvf frp_0.29.1_linux_amd64.tar.gz

mv frp_0.29.1_linux_amd64 frp

啟動 frp 服務端

./frps -c ./frps.ini(不推薦這樣的啟動)這樣退出啟動控制台程式便中斷了。於是我們通常選擇後台啟動。在linux中使用如下命令進行後台啟動。然後執行的日誌會輸出到當前目錄的nohup.log檔案中

nohup ./frps -c frps.ini &(推薦)

可以使用 ps -ef | grep frps 檢視程式是否在執行。

如伺服器使用 win 系統,假設解壓到 c:\frp 資料夾,那麼只需這樣啟動:

c:\frp\frps.exe -c c:\frp\frps.exe
配置 frp 客戶端 (安裝在內網的機器上):
vim /etc/frp/frpc.ini

[common]

server_addr = 52.231.111.111 #公網ip

server_port = 7000 #公網埠 需要在雲伺服器的管理後台開放此埠。

[ssh]

type = tcp

local_ip = 192.168.2.138 #內網ip

local_port = 22

remote_port = 6000 #內網埠 需要在雲伺服器的管理後台開放此埠。

[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

[common]表示以下配置資訊是一些公用配置資訊

server_addr是我們服務端即外網伺服器的公網訪問ip

server_port是我們前面在服務端配置的frps.ini中bind_port中對應的埠。需保持兩邊一致

[ssh]表示以下配置資訊是我們使用ssh連線內網伺服器時需要的一些配置資訊

type 是連線型別,ssh方式連線就用tcp

local_ip 是本機ip,直接使用127.0.0.1即可

local_port 是本地ssh埠,ssh預設埠為22

remote_port 是外網伺服器請求過來的埠 注:阿里雲伺服器需要在esc管理中配置安全組規則中新增6000埠

啟動 frp 客戶端:

假設你已將 frp 的客戶端解壓縮到 c:\frp 目錄中,那麼啟動 frp 客戶端的命令就是:

c:\frp\frpc.exe -c c:\frp\frpc.ini
linux 啟動 frp 客戶端命令:

nohup ./frpc -c ./frpc.ini &
啟動之後看到 「start proxy success」字樣就表示啟動成功了。

進行遠端訪問:

前面搞了這麼多,我們終於可以正式使用 frp 內網穿透來進行遠端訪問內網裡的裝置了!按照上面的配置,我們想要訪問群暉 nas 的介面,只需開啟瀏覽器,在位址列輸入 伺服器公網ip:7001 即可訪問到群暉後台管理介面。

而如果需要遠端桌面連線到家裡的 windows 電腦,那麼開啟「微軟遠端桌面客戶端」後,在位址列裡填入 伺服器公網ip:7002 即可連線。

遠端linux客戶端:

ssh [email protected]:6000
由此,借助 frp,你就能輕鬆地為本地區域網內網的裝置提供公網直接訪問的能力了,你可以用 frp 來**包括但不限於 ssh、http、https、** unix 域套接字等服務。

上面只是最基礎的教程,frp 還有很多很多高階功能,比如給 web 增加密碼保護、點對點內網穿透、設定埠白名單等等,frp 官網上也提供了很詳細的文件,感興趣的朋友可以去研究一下。

外網伺服器http配置

在外網伺服器的frps.ini中新增http服務配置如下:

[common]

bind_port = 7000

vhost_http_port = 6001

bind_port和之前做ssh時是乙個意思。也是為了和客戶端建立通訊的埠,只需要在之前的配置檔案中新增上vhost_http_port = 6001,這個配置意思是讓別人在訪問我們的伺服器6001埠時。frp將http請求**到內網伺服器

服務端的http請求配置到這裡就結束了

內網伺服器http配置

內網伺服器需要在frpc.ini中新增上如下內容:

custom_domains = wannabe.fun[web]表示我們的配置是乙個web服務

type表示我們的請求方式是http方式

local_port表示我們的本地服務埠號為80

custom_domains表示配置為乙個已經備案的網域名稱(必填,並且需要網域名稱可用,開始我認為這個不是必須的,於是花了很長時間,),並且網域名稱解析配置為外網伺服器ip

以上配置完成後,我們就可以使用wannabe.fun:6001訪問到我們部署在內網伺服器的80埠的服務了。

利用frp做內網穿透

在學校做實驗遇到了一些問題,校內網的遠端主機只能在學校的機房裡連線上,但是平時搶不到機房,而大作業馬上要驗收了腫麼辦,這裡給大家推薦乙個方式來做內網穿透,需要準備的只有乙個靜態的公網ip 可能還需要伺服器 外網機器 centos 7,公網ip x.x.x.x 內網機器 centos 7,具體ip不重...

FRP內網穿透 詳細教程

儲存後就可以在cmd命令列cd到frp資料夾執行frp了 依次命令 d cd frp 成功進入frp目錄後執行命令執行frp frpc.exe c frpc.ini frpfrp 用frp發布本地電腦 到外網 客戶端配置如下 common server addr 118.24.6.47 server...

frp 內網穿透 簡潔教程

有一台雲主機 使用遠端桌面訪問內網中的機器.軟體官方教程 拷貝檔案frps.exe和frps.ini到伺服器 配置frps.ini common bind port 7000 在cmd中執行frp.exe以啟動 frp 服務.啟動成功如下圖 刪除伺服器所需的檔案,僅保留如下檔案 配置frpc.ini...