1. 程式人生 > >frp實現內網穿透

frp實現內網穿透

一、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服務,可以用tomcat模擬,這裡就不演示了
三、安裝frp


1、公網伺服器與內網伺服器都需要下載frp進行安裝,公網伺服器(服務端)配置關注步驟6,內網伺服器(客戶端)關注步驟7
2、下載地址是https://github.com/fatedier/frp/releases,下載linux版本frp_0.13.0_linux_amd64.tar.gz,個人感覺下載速度有點慢,
也可以這樣選擇下載wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz
3、新建目錄mkdir -p /usr/local/frp,上傳frp_0.13.0_linux_amd64.tar.gz至linux伺服器該目錄下
4、解壓tar -zxvf frp_0.13.0_linux_amd64.tar.gz
5、進入解壓目錄cd frp_0.13.0_linux_amd64,這裡主要關注4個檔案,分別是frpc、frpc.ini和frps、frps.ini,前者兩個檔案是客戶端所關注檔案,後者兩個檔案是服務端所關注兩個檔案。
6、配置服務端(公網伺服器),首先刪掉frpc、frpc.ini兩個檔案,然後再進行配置,vi ./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 = 139.207.37.48 #公網伺服器ip
server_port = 7000 #與服務端bind_port一致

#公網通過ssh訪問內部伺服器
[ssh]
type = tcp #連線協議
local_ip = 192.168.111.48 #內網伺服器ip
local_port = 22 #ssh預設埠號
remote_port = 6000 #自定義的訪問內部ssh埠號

#公網訪問內部web伺服器以http方式
[web]
type = http #訪問協議
local_port = 8081 #內網web服務的埠號
custom_domains = repo.iwi.com #所繫結的公網伺服器域名,一級、二級域名都可以
儲存然後執行./frpc -c ./frpc.ini啟動,這是前臺啟動,後臺啟動命令為nohup ./frpc -c ./frpc.ini &
8、訪問方式
(1)外網ssh訪問內網伺服器(直接使用配置裡面資料演示)
ip:139.207.37.48 port:6000 使用者名稱:linux伺服器的使用者 密碼:linux伺服器的密碼 或者
ip:139.207.37.48 port:22 使用者名稱:linux伺服器的使用者 密碼:linux伺服器的密碼 或者
ip:

xxx.com port:6000 使用者名稱:linux伺服器的使用者 密碼:linux伺服器的密碼 或者
ip:xxx.com port:22 使用者名稱:linux伺服器的使用者 密碼:linux伺服器的密碼

(2)自定義繫結域名訪問內網web服務(直接使用配置裡面資料演示)
xxx.com:6081