一、背景
筆者最近折騰docker服務(wù)比較多,這幾天想把在內(nèi)網(wǎng)中的服務(wù)搬到公網(wǎng)當(dāng)中,但docker對(duì)內(nèi)存要求較高,而云服務(wù)高內(nèi)存的服務(wù)器又比較貴,家里雖然有一臺(tái)舊筆記本內(nèi)存還可以,但是沒(méi)有公網(wǎng)IP地址,視乎還是沒(méi)有辦法,就在糾結(jié)的時(shí)候想起FRP這個(gè)內(nèi)網(wǎng)穿透軟件,重新回顧了一下搭建方法,發(fā)現(xiàn)搭建步驟較為簡(jiǎn)單,為了以后有所參考,所以把搭建步驟詳細(xì)記錄了下來(lái)。
二、操作步驟配置服務(wù)端
配置客戶端
檢驗(yàn)與測(cè)試
三、配置服務(wù)端FRP分為服務(wù)端與客戶端,一個(gè)服務(wù)端可以對(duì)應(yīng)多個(gè)客戶端,筆者首先需要在服務(wù)器中下載并安裝FRP
3.1 文件選擇frp是開源的一個(gè)內(nèi)網(wǎng)穿透軟件,github源碼以及文檔地址如下
https://github.com/fatedier/frp
在文檔當(dāng)中可以看到編譯好的二進(jìn)制文件,URL地址如下:
https://github.com/fatedier/frp/releases
在下載地址當(dāng)中有多個(gè)版本,筆者需要選擇自己所對(duì)應(yīng)系統(tǒng)的版本,筆者服務(wù)器使用的是64位的Centos系統(tǒng),客戶端使用的是mac系統(tǒng),因此需要下載frp_0.21.0_linux_amd64.tar.gz和frp_0.21.0_darwin_amd64.tar.gz兩個(gè)壓縮包,如下圖所示
3.2 下載與解壓現(xiàn)在需要在服務(wù)器中下載對(duì)應(yīng)版本,首先通過(guò)ssh登錄服務(wù)器,參考命令如下
ssh [email protected]
登錄服務(wù)器之后,筆者需要使用wget下載文件,參考命令如下
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
下載之后,需要解壓剛才下載的壓縮文件,參考命令如下
tar -zxvf frp_0.21.0_linux_amd64.tar.gz
命令返回結(jié)果如下
frp_0.21.0_linux_amd64/ frp_0.21.0_linux_amd64/frps_full.ini frp_0.21.0_linux_amd64/frps.ini frp_0.21.0_linux_amd64/frpc frp_0.21.0_linux_amd64/frpc_full.ini frp_0.21.0_linux_amd64/frps frp_0.21.0_linux_amd64/LICENSE frp_0.21.0_linux_amd64/frpc.ini
解壓之后并進(jìn)入文件夾查看,參考命令如下
cd frp_0.21.0_linux_amd64 && ll
返回結(jié)果如下
-rw-rw-r-- 1 root root 12K Aug 12 12:38 LICENSE -rwxrwxr-x 1 root root 7.2M Aug 12 12:34 frpc -rw-rw-r-- 1 root root 126 Aug 12 12:38 frpc.ini -rw-rw-r-- 1 root root 5.6K Aug 12 12:38 frpc_full.ini -rwxrwxr-x 1 root root 8.6M Aug 12 12:34 frps -rw-rw-r-- 1 root root 26 Aug 12 12:38 frps.ini -rw-rw-r-- 1 root root 2.4K Aug 12 12:38 frps_full.ini3.3 修改配置
在返回結(jié)果當(dāng)中可以看到有多個(gè)文件,不過(guò)筆者實(shí)際上只需要關(guān)心frps和frps.ini就可以了
查看配置文件參考命令如下
cat frps.ini
返回結(jié)果如下
[common] bind_port = 7000
在返回結(jié)果當(dāng)中可以看到端口為7000,這個(gè)端口便是FRP與客戶端通信的端口,因?yàn)楣P者需要搭建Web服務(wù),所以需要在配置文件當(dāng)中加入http服務(wù)的監(jiān)聽端口,參考命令如下
vim frps.ini
修改配置文件,修改后的配置文件內(nèi)容如下
[common] bind_port = 7000 vhost_http_port = 88883.4 服務(wù)啟動(dòng)
修改完成之后,筆者便可啟動(dòng)FRPS服務(wù),參考命令如下
./frps -c frps.ini
返回結(jié)果
2018/08/29 23:43:30 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000 2018/08/29 23:43:30 [I] [service.go:172] http service listen on 0.0.0.0:8888 2018/08/29 23:43:30 [I] [root.go:207] Start frps success四、配置客戶端
在配置服務(wù)端完成之后,筆者還需要在內(nèi)網(wǎng)中配置客戶端,這個(gè)客戶端也就是Web服務(wù)器,具體操作如下
4.1 下載與解壓搭建FRP客戶端,首先需要在客戶端下載FRP壓縮文件;筆者mac系統(tǒng)所下載文件及對(duì)應(yīng)的參考命令如下
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_darwin_amd64.tar.gz
下載之后同樣需要解壓文件,參考命令如下
tar -zxvf frp_0.21.0_darwin_amd64.tar.gz
命令執(zhí)行之后返回結(jié)果如下
x frp_0.21.0_darwin_amd64/ x frp_0.21.0_darwin_amd64/frps_full.ini x frp_0.21.0_darwin_amd64/frps.ini x frp_0.21.0_darwin_amd64/frpc x frp_0.21.0_darwin_amd64/frpc_full.ini x frp_0.21.0_darwin_amd64/frps x frp_0.21.0_darwin_amd64/LICENSE x frp_0.21.0_darwin_amd64/frpc.ini
進(jìn)入解壓的文件夾中并查看文件列表,參考命令如下
cd frp_0.21.0_darwin_amd64 && ll
執(zhí)行后返回的信息如下
total 35632 -rw-r--r-- 1 song staff 11K Aug 12 12:38 LICENSE -rwxr-xr-x 1 song staff 8.0M Aug 12 12:33 frpc -rw-r--r-- 1 song staff 126B Aug 12 12:38 frpc.ini -rw-r--r-- 1 song staff 5.6K Aug 12 12:38 frpc_full.ini -rwxr-xr-x 1 song staff 9.4M Aug 12 12:33 frps -rw-r--r-- 1 song staff 26B Aug 12 12:38 frps.ini -rw-r--r-- 1 song staff 2.3K Aug 12 12:38 frps_full.ini4.2 配置服務(wù)
客戶端所需注意的文件有兩個(gè),分別是frpc和frpc.ini,先來(lái)查看配置文件默認(rèn)內(nèi)容是什么,參考命令如下
cat frpc.ini
返回結(jié)果如下
[common] server_addr = 127.0.0.1 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
在默認(rèn)的客戶端配置文件當(dāng)中,配置了一個(gè)TCP映射,不過(guò)筆者需要搭建Web服務(wù),因此還需要添加一個(gè)HTTP映射,并修改對(duì)應(yīng)的服務(wù)端IP地址,參考命令如下
vim fprc.ini
編輯后的結(jié)果如下所示
[common] server_addr = 121.42.11.33 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 5000 [web] type = http local_port = 8080 custom_domains = test.songboy.net4.3 啟動(dòng)服務(wù)
修改客戶端的配置文件完成之后,筆者需要讓客戶端的FRP來(lái)連接服務(wù)端的FRP服務(wù),參考命令如下
sudo ./frpc -c frpc.ini
執(zhí)行命令后返回結(jié)果如下所示
2018/08/30 09:50:07 [I] [proxy_manager.go:300] proxy removed: [] 2018/08/30 09:50:07 [I] [proxy_manager.go:310] proxy added: [ssh web] 2018/08/30 09:50:07 [I] [proxy_manager.go:333] visitor removed: [] 2018/08/30 09:50:07 [I] [proxy_manager.go:342] visitor added: [] 2018/08/30 09:50:07 [I] [control.go:246] [55b8b354889e6f44] login to server success, get run id [55b8b354889e6f44], server udp port [0] 2018/08/30 09:50:07 [I] [control.go:169] [55b8b354889e6f44] [ssh] start proxy success 2018/08/30 09:50:07 [I] [control.go:169] [55b8b354889e6f44] [web] start proxy success
在返回結(jié)果當(dāng)中,可以看到ssh服務(wù)代理成功,web服務(wù)也代理成功,說(shuō)明筆者的配置無(wú)誤
五、檢驗(yàn)與測(cè)試前面的操作已經(jīng)成功的配置了內(nèi)網(wǎng)穿透服務(wù),現(xiàn)在筆者需要通過(guò)ssh登錄和web服務(wù)來(lái)驗(yàn)證服務(wù)是否可用,操作步驟如下
5.1 測(cè)試Web服務(wù)測(cè)試Web服務(wù)是否穿透可以通過(guò)訪問(wèn)外網(wǎng)地址,如果能打開內(nèi)網(wǎng)中的Web服務(wù)便說(shuō)明搭建成功,這里需要搭建一個(gè)虛擬主機(jī),參展步驟如下
5.1.2 添加虛擬主機(jī)要讓用戶能通過(guò)外網(wǎng)訪問(wèn)Web服務(wù),首先需要配置一個(gè)域名讓其解析到FRP服務(wù)器當(dāng)中,這里為了驗(yàn)證方面,便使用hosts添加記錄方式操作,參考命令如下
sudo vim /etc/hosts
在尾部添加一條host記錄,參考內(nèi)容如下
121.42.11.33 test.songboy.net
添加的內(nèi)容當(dāng)中,IP地址為外網(wǎng)用戶能訪問(wèn)到的IP地址,也就是筆者開始搭建FRP服務(wù)器的IP地址
接下來(lái)筆者還需要增加一個(gè)虛擬主機(jī),所以需要修改nginx配置文件,在nginx配置文件中添加配置如下
server { listen 8080; server_name test.songboy.net; root /Users/song/mycode/work/media-server-api/public; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
重啟nginx ,參考命令如下
sudo nginx -s reload5.1.3 訪問(wèn)網(wǎng)站
通過(guò)瀏覽器訪問(wèn),URL地址如下
http://test.songboy.net:8888/
訪問(wèn)結(jié)果如下圖所示
5.2 測(cè)試SSH服務(wù)驗(yàn)證SSH的方式是通過(guò)ssh連接外網(wǎng)地址,如果登陸到本地服務(wù)器便說(shuō)明ssh服務(wù)搭建成功
使用ssh登陸,參考命令如下
ssh -p 5000 [email protected]
查看當(dāng)前文件夾,驗(yàn)證是否已經(jīng)映射成功,參考命令如下
ls -l
返回結(jié)果如下
total 0 drwx------@ 4 song staff 136 7 19 18:37 Applications drwx------@ 12 song staff 408 8 30 09:47 Desktop drwx------@ 30 song staff 1020 8 6 08:58 Documents drwx------+ 120 song staff 4080 8 29 17:05 Downloads drwx------@ 65 song staff 2210 8 18 16:12 Library drwx------+ 5 song staff 170 8 17 15:19 Movies drwx------+ 5 song staff 170 7 26 11:45 Music drwx------+ 4 song staff 136 8 28 19:21 Pictures drwxr-xr-x+ 4 song staff 136 7 19 16:33 Public drwxr-xr-x 8 song staff 272 8 24 14:26 config drwxr-xr-x 22 song staff 748 8 14 11:00 data drwxr-xr-x 7 song staff 238 8 24 19:31 dockerFile drwxr-xr-x 12 song staff 408 8 30 09:28 files drwxr-xr-x 7 song staff 238 8 13 09:54 mycode drwxrwxrwx 20 song staff 680 8 27 16:35 xhprof
在返回結(jié)果當(dāng)中,可以看到文件夾與客戶端的文件夾一致,便說(shuō)明ssh服務(wù)以及驗(yàn)證成功。
作者:湯青松
微信:songboy8888
日期:2018-08-30
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/40101.html
一、背景 筆者最近折騰docker服務(wù)比較多,這幾天想把在內(nèi)網(wǎng)中的服務(wù)搬到公網(wǎng)當(dāng)中,但docker對(duì)內(nèi)存要求較高,而云服務(wù)高內(nèi)存的服務(wù)器又比較貴,家里雖然有一臺(tái)舊筆記本內(nèi)存還可以,但是沒(méi)有公網(wǎng)IP地址,視乎還是沒(méi)有辦法,就在糾結(jié)的時(shí)候想起FRP這個(gè)內(nèi)網(wǎng)穿透軟件,重新回顧了一下搭建方法,發(fā)現(xiàn)搭建步驟較為簡(jiǎn)單,為了以后有所參考,所以把搭建步驟詳細(xì)記錄了下來(lái)。 二、操作步驟 配置服務(wù)端 配置客戶端 檢...
摘要:作為一個(gè)內(nèi)網(wǎng)穿透的小工具,有時(shí)可能會(huì)時(shí)常更改配置等,所以作為本地的一個(gè)開機(jī)啟動(dòng)的小服務(wù)即可。設(shè)置開機(jī)啟動(dòng)輸入命令設(shè)置開機(jī)啟動(dòng)開啟查看狀態(tài)停止內(nèi)網(wǎng)穿透配置相對(duì)于另一款國(guó)內(nèi)大牛做的要顯的更加輕量安全易配置些。 12月18日更新 添加 frp 配置 前言 內(nèi)網(wǎng)穿透,無(wú)需多言,用處多多。首先強(qiáng)力推薦一款Sunny大大搭建的ngrok服務(wù)好用的不行,而且有免費(fèi)選項(xiàng),感覺平時(shí)夠用了。那么,為什么自...
摘要:相關(guān)資料下載相關(guān)文檔下載下載地址選擇對(duì)應(yīng)的版本進(jìn)行下載如果是需要下載版本下載后我的服務(wù)端是客戶端是服務(wù)端需要關(guān)注的文件是客戶端需要關(guān)注的文件是或者是注意,如果運(yùn)行的環(huán)境是就要運(yùn)行版本的,也就是后綴的配置服務(wù)端配置文件服務(wù)端需要開啟的端口與客 相關(guān)資料 frp下載 :https://github.com/fatedier/frp 相關(guān)文檔: https://github.com/fa...
閱讀 1669·2021-09-26 09:55
閱讀 5299·2021-09-22 15:40
閱讀 2030·2019-08-30 15:53
閱讀 1511·2019-08-30 11:15
閱讀 1728·2019-08-29 15:41
閱讀 1881·2019-08-28 18:13
閱讀 3162·2019-08-26 12:00
閱讀 1682·2019-08-26 10:30