1. 程式人生 > 實用技巧 >frp 埠對映

frp 埠對映

如果你想把家裡的電腦當做伺服器用,做一個網站或者遊戲伺服器什麼的,肯定會遇到一個問題:由於沒有公網IP,而且有家裡的路由器把關,導致其他地方的人完全無法連線到伺服器。這時候就需要內網穿透和埠對映工具了,這樣的工具有很多,我列舉常用的幾個:

  • 花生殼
  • nat123
  • ngrok

不過這幾個工具雖然都算是挺好用的,但是都是收費的,雖然都有免費版,但是免費版功能實在太少,基本上只能繫結一個應用,埠號還是隨機的。臨時玩玩倒是可以,真正要用的話還是不行。經過一番尋找,最後我鎖定了frp這個工具,它的優點就是完全開源免費,自定義配置;缺點是不提供服務,也就是說我們需要自己買個伺服器在上面搭建。

下載

frp也是託管在Github上的開源專案,直接到Release頁面下載即可,連結如下:

https://github.com/fatedier/frp/releases

我這裡下載這兩個版本的,因為我的伺服器是linux系統的,平常手提用windows,所以要用到這兩個版本。

服務端配置

首先我們看看如何配置frp的服務端。服務端配置比較簡單,如果不使用高階功能的話,只需要兩三行就可以了。

# frps.ini
[common]
bind_port = 7000
token = 123456

bind_port是服務端與客戶端之間通訊使用的埠號,預設就可以。token用於驗證連線,只有服務端和客戶端token相同的時候才能正常訪問。如果不使用token,那麼所有人都可以直接連線上,所以我建議大家在使用的時候還是把token加上。

配置完畢後就可以啟動服務端了,啟動命令也很簡單:

./frps -c frps.ini
如果發現許可權不夠,更改下許可權,改為可以執行

改為後就可以成功啟動了

客戶端配置

下面來看看客戶端配置,frp可以實現很多常用功能,都是在客戶端配置檔案中完成配置。首先來看看最基本的埠轉發配置。

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
token = 123456
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

首先是common下的配置項,需要和服務端配置檔案相同。然後是ssh下的配置,type是連線型別,大部分應用都是tcp協議的,所以這裡就寫tcp就好;local_ip是本地ip,預設127.0.0.1即可;local_port是要轉發的埠號,官方例項中這裡是遠端轉發SSH,所以埠號是22,如果你想做遊戲伺服器的話,改成對應的埠號即可;remote_port是埠轉發之後暴露在外網的埠號。

客戶端配置完畢之後,就可以啟動了,啟動命令類似:

frpc.exe -c frpc.ini

啟動成功。

然後訪問 內網的22埠就對映到外網ip:6000了

吃瓜吃瓜!