配置 frp 實現內網穿透

zmxyzmxy1234發表於2020-05-26

frp 中文文件:github.com/fatedier/frp/blob/maste...

一、frp 的作用

利用處於內網或防火牆後的機器,對外網環境提供 http 或 https 服務。

對於 http, https 服務支援基於域名的虛擬主機,支援自定義域名繫結,使多個域名可以共用一個80埠。

利用處於內網或防火牆後的機器,對外網環境提供 tcp 和 udp 服務,例如在家裡透過 ssh 訪問處於公司內網環境內的主機。

二、安裝 frp

  1. github 地址:github.com/fatedier/frp/releases

    可以用 wget 下載,公網、內網伺服器都下載一份。


wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

2、解壓 tar -zxvf frp_0.33.0_linux_amd64.tar.gz

3、進入解壓目錄 cd frp_0.33.0_linux_amd64,這裡所有 frpc 開頭的檔案都是客戶端檔案,所以全部刪了,我們伺服器只需要 frps 開頭的檔案

目錄


rm -rf ./frpc*

4、配置服務端(公網伺服器)


vim ./frps.ini

注意配置檔案不支援註釋,請不要把漢字複製進去


[common]

bind_port = 7000           #與客戶端繫結的進行通訊的埠

vhost_http_port = 6081     #訪問客戶端web服務自定義的埠號

儲存然後啟動服務./frps -c ./frps.ini,這是前臺啟動,後臺啟動命令為 nohup ./frps -c ./frps.ini &

5、配置客戶端(內網伺服器),首先刪掉 frps 開標頭檔案檔案,然後再進行配置,vim ./frpc.ini


[common]

server_addr = 47.93.33.108   #公網伺服器ip

server_port = 7000            #與服務端bind_port一致

[web]

type = http         #訪問協議

local_port = 80   #內網web服務的埠號

custom_domains = www.mczhangyi.top   #所繫結的公網伺服器域名,一級、二級域名都可以

儲存然後執行

Linux 的 Base 命令


./frpc -c ./frpc.ini

windows 的 PowerShell 命令是


./frpc.exe -c ./frpc.ini

6、訪問方式

(1)外網 ssh 訪問內網伺服器(直接使用配置裡面資料演示)

47.93.33.108 port:6000

47.93.33.108 port:22

www.mczhangyi.top port:6000

www.mczhangyi.top port:22

(2)自定義繫結域名訪問內網 web 服務(注意服務端繫結的是哪個埠記得加上)

www.mczhangyi.top:6081

三、結尾

1.客戶端連線服務端提示訪問被拒絕,則需要服務端開放防火牆埠(學習的話全開就行了,生產環境除外)。

2.frps dashboard 透過瀏覽器檢視 frp 的狀態以及代理統計資訊展示。

注:Dashboard 尚未針對大量的 proxy 資料展示做最佳化,如果出現 Dashboard 訪問較慢的情況,請不要啟用此功能。

需要在 服務端的 frps.ini 中指定 dashboard 服務使用的埠,即可開啟此功能:


[common]

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = admin

開啟瀏覽器透過 http://[server_addr]:7500 訪問 dashboard 介面,使用者名稱密碼預設為 admin。

3.其他功能請閱讀 frp 中文文件:github.com/fatedier/frp/blob/maste...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章