說明
參考網(wǎng)絡(luò)上其他人文章。將他人技術(shù)文章親自測試并總結(jié)補(bǔ)充。
實(shí)現(xiàn)內(nèi)網(wǎng)穿需要有一臺公網(wǎng)服務(wù)器,域名。(本文將公網(wǎng)服務(wù)器稱為服務(wù)端,內(nèi)網(wǎng)服務(wù)器稱為客戶端)
(需要開啟相關(guān)的端口。相關(guān)端口沒開通,訪問就會失敗。)
frp下載地址:http://getfrp.yzxx-soft.com/
https://github.com/fatedier/frp
本文使用軟件:frp_0.8.1_linux_amd64.tar.gz
本文使用系統(tǒng):centos7(公網(wǎng)一臺,內(nèi)網(wǎng)一臺),其他系統(tǒng)配置類似
本文使用a.com代替實(shí)際域名,10.10.10.10代替實(shí)際公網(wǎng)ip,實(shí)際中請使用自己的域名和ip并解析到服務(wù)端
主域名:a.com
公網(wǎng)服務(wù)器ip:10.10.10.10
內(nèi)網(wǎng)服務(wù)器ip:192.168.198.229
centos7 frp安裝和配置(其他系統(tǒng)配置類似)
- 將軟件下載到服務(wù)器和客戶端(服務(wù)端和客戶端相同)
解壓frp軟件包
tar -zxvf frp_0.8.1_linux_amd64.tar.gz
進(jìn)入解壓后的文件夾
cd frp_0.8.1_linux_amd64
文件說明
frps.ini
: 服務(wù)端配置文件
frps
: 服務(wù)端軟件
frpc.ini
: 客戶端配置文件
frpc
: 客戶端軟件
- 修改服務(wù)端配置
修改服務(wù)端frps.ini
vi frps.ini
修改如下內(nèi)容(由于本文為測試,所以將原配置文件清空),或?qū)φ杖缦滦薷摹?/p>
[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
開啟服務(wù)端服務(wù)(在frp_0.8.1_linux_amd64目錄下)
./frps -c ./frps.ini
服務(wù)端出現(xiàn)如下啟動(dòng)成功
配置說明
[common]
必須設(shè)置
bind_port
是自己設(shè)定的frp服務(wù)端端口
vhost_http_port
是自己設(shè)定的http訪問端口
[ssh]
ssh反向代理(不是必須設(shè)置)
listen_port
是自己設(shè)定的ssh訪問端口
auth_token
用于身份認(rèn)證(以下皆是)。
[web]
http反向代理[]里的內(nèi)容可以自己設(shè)定,但是客戶端和服務(wù)端必須要對應(yīng)(如[aaa],[bbb]);
type
為服務(wù)類型,可以設(shè)為http,https
custom_domains
為要映射的域名,記得域名的A記錄要解析到外網(wǎng)主機(jī)的IP。
[web2]
同上(可設(shè)置多個(gè))
- 修改客戶端配置(win系統(tǒng)找到相應(yīng)配置文件進(jìn)行類似配置)
修改服務(wù)端frpc.ini
vi frpc.ini
修改如下內(nèi)容(由于本文為測試,所以將原配置文件清空),或?qū)φ杖缦滦薷摹?/p>
[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
開啟客戶端服務(wù)(在frp_0.8.1_linux_amd64目錄下)
./frpc -c ./frpc.ini
客戶端出現(xiàn)如下啟動(dòng)成功
配置說明
[common]
必填
server_addr
frp服務(wù)端的ip(也就是外網(wǎng)主機(jī)的IP)
server_port
frp服務(wù)端的bind_prot。
[ssh]
local_port
客戶端ssh端口。
[web]
type
對應(yīng)服務(wù)端配置
local_port
客戶端訪問端口。
[web2]
同上
測試(本文中客戶端已經(jīng)裝了Nginx服務(wù))
- http測試
訪問內(nèi)網(wǎng)http://192.168.198.229
訪問域名http://test1.a.com
-
ssh連接內(nèi)網(wǎng)機(jī)器測試(linux系統(tǒng))
連接設(shè)置
連接結(jié)果
- win系統(tǒng)也可通過tcp遠(yuǎn)程桌面連接,只需要把客戶端端口改成win遠(yuǎn)程默認(rèn)端口:3389。
后臺啟動(dòng)(使用nohup,以服務(wù)端為例子,客戶端類似)
啟動(dòng)(進(jìn)入frp目錄)
nohup ./frps -c ./frps.ini & #啟動(dòng)服務(wù)端 帶&符號
啟動(dòng)后會返回相關(guān)的pid
關(guān)閉
kill 19619 #輸入你系統(tǒng)中返回的pid
kill -9 $(pidof frps) #或者使用這個(gè)命令關(guān)閉,$(pidof frps)中frps為進(jìn)程名稱客戶端為frpc
查看狀態(tài)
netstat -antpl #看到7000端口說明后臺啟動(dòng)成功(配置文件中配置的frp服務(wù)端口)