十分鍾教你配置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 = 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 = repo.iwi.com #所綁定的公網服務器域名,一級、二級域名都可以
保存然后執行./frpc -c ./frpc.ini啟動,這是前台啟動,后台啟動命令為nohup ./frpc -c ./frpc.ini &
8、訪問方式
(1)外網ssh訪問內網服務器(直接使用配置里面數據演示)
ip:120.56.37.48 port:6000 用戶名:linux服務器的用戶 密碼:linux服務器的密碼 或者
ip:120.56.37.48 port:22 用戶名:linux服務器的用戶 密碼:linux服務器的密碼 或者
ip:repo.iwi.com port:6000 用戶名:linux服務器的用戶 密碼:linux服務器的密碼 或者
ip:repo.iwi.com port:22 用戶名:linux服務器的用戶 密碼:linux服務器的密碼
(2)自定義綁定域名訪問內網web服務(直接使用配置里面數據演示)