frp實現內網穿透,實現誇伺服器訪問
轉至:https://www.jianshu.com/p/93bf511ea72e
frp實現內網穿透(centos7)
00天火00 12017.03.28 16:20:25字數 837閱讀 31,555說明
參考網路上其他人文章。將他人技術文章親自測試並總結補充。
實現內網穿需要有一臺公網伺服器,域名。(本文將公網伺服器稱為服務端,內網伺服器稱為客戶端)
(需要開啟相關的埠。相關埠沒開通,訪問就會失敗。)
frp下載地址:http://getfrp.yzxx-soft.com/
https://github.com/fatedier/frp
本文使用軟體:frp_0.8.1_linux_amd64.tar.gz本文使用系統:centos7(公網一臺,內網一臺),其他系統配置類似
本文使用a.com代替實際域名,10.10.10.10代替實際公網ip,實際中請使用自己的域名和ip並解析到服務端
主域名:a.com
公網伺服器ip:10.10.10.10
內網伺服器ip:192.168.198.229
centos7 frp安裝和配置(其他系統配置類似)
- 將軟體下載到伺服器和客戶端(服務端和客戶端相同)
解壓frp軟體包
tar -zxvf frp_0.8.1_linux_amd64.tar.gz
進入解壓後的資料夾
cd frp_0.8.1_linux_amd64
檔案說明
frps.ini
: 服務端配置檔案frps
: 服務端軟體frpc.ini
: 客戶端配置檔案frpc
: 客戶端軟體
- 修改服務端配置
修改服務端frps.ini
vi frps.ini
修改如下內容(由於本文為測試,所以將原配置檔案清空),或對照如下修改。
[common]
bind_port = 7000
vhost_http_port = 80
[ssh]
listen_port = 6000
auth_token = 123
[web]
type = http
custom_domains = test1.a.com
auth_token = 123
[web2]
type = http
custom_domains = test2.a.com
auth_token = 123
開啟服務端服務(在frp_0.8.1_linux_amd64目錄下)
./frps -c ./frps.ini
服務端出現如下啟動成功
配置說明
[common]
必須設定bind_port
是自己設定的frp服務端埠vhost_http_port
是自己設定的http訪問埠[ssh]
ssh反向代理(不是必須設定)listen_port
是自己設定的ssh訪問埠auth_token
用於身份認證(以下皆是)。[web]
http反向代理[]裡的內容可以自己設定,但是客戶端和服務端必須要對應(如[aaa],[bbb]);type
為服務型別,可以設為http,httpscustom_domains
為要對映的域名,記得域名的A記錄要解析到外網主機的IP。[web2]
同上(可設定多個)
- 修改客戶端配置(win系統找到相應配置檔案進行類似配置)
修改服務端frpc.ini
vi frpc.ini
修改如下內容(由於本文為測試,所以將原配置檔案清空),或對照如下修改。
[common]
server_addr = 10.10.10.10
server_port = 7000
auth_token = 123
[ssh]
local_port = 22
[web]
type = http
local_port = 80
[web2]
type = http
local_port = 8080
開啟客戶端服務(在frp_0.8.1_linux_amd64目錄下)
./frpc -c ./frpc.ini
客戶端出現如下啟動成功
配置說明
[common]
必填server_addr
frp服務端的ip(也就是外網主機的IP)server_port
frp服務端的bind_prot。[ssh]
local_port
客戶端ssh埠。[web]
type
對應服務端配置local_port
客戶端訪問埠。[web2]
同上
測試(本文中客戶端已經裝了Nginx服務)
- http測試
訪問內網http://192.168.198.229
訪問域名http://test1.a.com
-
ssh連線內網機器測試(linux系統)
連線設定
連線結果
- win系統也可通過tcp遠端桌面連線,只需要把客戶端埠改成win遠端預設埠:3389。
後臺啟動(使用nohup,以服務端為例子,客戶端類似)
啟動(進入frp目錄)
nohup ./frps -c ./frps.ini & #啟動服務端 帶&符號
啟動後會返回相關的pid
關閉
kill 19619 #輸入你係統中返回的pid
kill -9 $(pidof frps) #或者使用這個命令關閉,$(pidof frps)中frps為程序名稱客戶端為frpc
檢視狀態
netstat -antpl #看到7000埠說明後臺啟動成功(配置檔案中配置的frp服務埠)
12人點贊
linux,win,伺服器