配置frp實作内網穿透
frp中文文檔:https://github.com/fatedier/frp/blob/master/README_zh.md
一、frp的作用
利用處于内網或防火牆後的機器,對外網環境提供 http 或 https 服務。
對于 http, https 服務支援基于域名的虛拟主機,支援自定義域名綁定,使多個域名可以共用一個80端口。
利用處于内網或防火牆後的機器,對外網環境提供 tcp 和 udp 服務,例如在家裡通過 ssh 通路處于公司内網環境内的主機。
二、配置說明
1、實作功能
(1)外網通過ssh通路内網機器
(2)自定義綁定域名通路内網web服務
2、配置前準備
(1)公網伺服器1台
(2)内網伺服器1台(我這裡示範的是linux環境,win10上面vmware安裝的centos7)
(3)公網伺服器綁定域名1個(實作二1中(1)功能不需要公網伺服器綁定域名,二1中(2)功能必須需要公網伺服器綁定域名)
(4)内網伺服器部署一個web服務,這裡用的Apache
三、安裝frp
- github 位址:https://github.com/fatedier/frp/releases,可以用wget下載下傳,公網、内網伺服器都下載下傳一份。
wget https://github.com/fatedier/frp/releases/download/v0.28.0/frp_0.28.0_linux_amd64.tar.gz
2、建立目錄mkdir -p /usr/local/frp,上傳frp_0.28.0_linux_amd64.tar.gz至linux伺服器該目錄下
3、解壓tar -zxvf frp_0.28.0_linux_amd64.tar.gz
4、進入解壓目錄cd frp_0.28.0_linux_amd64.tar.gz,這裡主要關注4個檔案,分别是frpc、frpc.ini和frps、frps.ini,前者兩個檔案是用戶端所關注檔案,後者兩個檔案是服務端所關注兩個檔案。
5、配置服務端(公網伺服器),首先删掉frpc、frpc.ini兩個檔案,這兩個檔案是用戶端所用,服務端不需要,然後再進行配置,vim ./frps.ini
[common]
bind_port = 7000 #與用戶端綁定的進行通信的端口
vhost_http_port = 6081 #通路用戶端web服務自定義的端口号
儲存然後啟動服務./frps -c ./frps.ini,這是前台啟動,背景啟動指令為nohup ./frps -c ./frps.ini &
7、配置用戶端(内網伺服器),首先删掉frps、frps.ini兩個檔案,然後再進行配置,vi ./frpc.ini
[common]
server_addr = 120.56.37.48 #公網伺服器ip
server_port = 7000 #與服務端bind_port一緻
#公網通過ssh通路内部伺服器
[ssh]
type = tcp #連接配接協定
local_ip = 192.168.3.48 #内網伺服器ip
local_port = 22 #ssh預設端口号
remote_port = 6000 #自定義的通路内部ssh端口号
#公網通路内部web伺服器以http方式
[web]
type = http #通路協定
local_port = 8081 #内網web服務的端口号
custom_domains = www.mczhangyi.top #所綁定的公網伺服器域名,一級、二級域名都可以
儲存然後執行./frpc -c ./frpc.ini啟動,這是前台啟動,背景啟動指令為nohup ./frpc -c ./frpc.ini &
8、通路方式
(1)外網ssh通路内網伺服器(直接使用配置裡面資料示範)
ip:120.56.37.48 port:6000
ip:120.56.37.48 port:22
ip:www.mczhangyi.top port:6000
ip:www.mczhangyi.top port:22
(2)自定義綁定域名通路内網web服務(直接使用配置裡面資料示範)
repo.iwi.com:6081
四、結尾
1.用戶端連接配接服務端提示通路被拒絕,則需要服務端開放防火牆端口(學習的話全開就行了,生産環境除外)。
2.frps dashboard 通過浏覽器檢視 frp 的狀态以及代理統計資訊展示。
注:Dashboard 尚未針對大量的 proxy 資料展示做優化,如果出現 Dashboard 通路較慢的情況,請不要啟用此功能。
需要在 服務端的 frps.ini 中指定 dashboard 服務使用的端口,即可開啟此功能:
[common]
dashboard_port = 7500
dashboard 使用者名密碼,預設都為 admin
dashboard_user = admin
dashboard_pwd = admin
打開浏覽器通過 http://[server_addr]:7500 通路 dashboard 界面,使用者名密碼預設為 admin。
3.其他功能請閱讀frp中文文檔:https://github.com/fatedier/frp/blob/master/README_zh.md
原文:https://blog.csdn.net/u013144287/article/details/78589643/