我們設(shè)想這樣一種情況,我們是一家小公司议纯,在全國有幾個(gè)小分支辦公機(jī)構(gòu)父款,每個(gè)機(jī)構(gòu)有一臺(tái)服務(wù)器,由于公司財(cái)務(wù)緊張瞻凤,買不起專線憨攒,用的也是普通家用寬帶,SD-WAN設(shè)備說實(shí)話也挺貴的阀参,那么我們怎么去登錄各個(gè)分支機(jī)構(gòu)的服務(wù)器呢肝集?
辦法當(dāng)然多,比如我們可以通過向日葵和todesk這類遠(yuǎn)程軟件連接到分支機(jī)構(gòu)某個(gè)人的電腦上再去遠(yuǎn)程操作蛛壳,雖然不方便杏瞻,但是能夠完成目的。
針對這種情況衙荐,我設(shè)計(jì)出這樣一種方案捞挥,通過frp將所有內(nèi)網(wǎng)服務(wù)器映射到一臺(tái)公網(wǎng)服務(wù)器上,再在公網(wǎng)服務(wù)器部署jumpserver跳板機(jī)做集中管理和權(quán)限控制忧吟,這樣我們只需要連接一次就能去選擇連接各個(gè)服務(wù)器了砌函。
一、環(huán)境設(shè)計(jì)
雖然我的云服務(wù)器升級了溜族,但在運(yùn)行網(wǎng)站的同時(shí)難以同時(shí)運(yùn)行跳板機(jī)讹俊,所以我這里使用虛擬機(jī)進(jìn)行演示,效果相同煌抒。
內(nèi)網(wǎng)服務(wù)器是192.168.10.113仍劈,將ssh端口22映射到跳板機(jī)服務(wù)器端口1001。
跳板機(jī)服務(wù)器是192.168.10.20寡壮,其中1000端口是frp監(jiān)聽端口耳奕,1001是接受內(nèi)網(wǎng)ssh轉(zhuǎn)發(fā)的端口绑青,1002是管理面板,2222是跳板機(jī)的連接端口屋群。
注意:本文僅對核心內(nèi)容做記錄闸婴,不會(huì)關(guān)注防火墻端口開放、開機(jī)啟動(dòng)等等小細(xì)節(jié)芍躏。
二邪乍、跳板機(jī)配置
一鍵安裝跳板機(jī)并啟動(dòng)
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.17.1/quick_start.sh | bash
cd /opt/jumpserver-installer-v2.17.1
./jmsctl.sh start
登錄web面板添加用戶、服務(wù)器对竣、特權(quán)用戶庇楞、資產(chǎn)分配等,因?yàn)閮?nèi)網(wǎng)端口映射到服務(wù)器否纬,所以跳板機(jī)配置的ssh是連接本地端口吕晌。
用戶test 密碼123456
三、服務(wù)端frp安裝
下載最新包
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_386.tar.gz
解壓并編輯?frps.ini
[common]
bind_port = 1000
token = NBmima
dashboard_port = 1002
dashboard_user = test
dashboard_pwd = test
啟動(dòng)服務(wù)
nohup ./frps -c ./frps.ini &
四临燃、配置內(nèi)網(wǎng)服務(wù)器客戶端
下載最新包
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_386.tar.gz
解壓并編輯?frpc.ini
[common]
server_addr = 192.168.10.20
server_port = 1000
token = NBmima
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 1001
啟動(dòng)服務(wù)
nohup ./frpc -c frpc.ini &
五睛驳、測試效果
查看frp面板映射狀態(tài)
192.168.10.20:1002
登錄堡壘機(jī)
test@192.168.10.20
ID? | 主機(jī)名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | IP? ? ? ? ? ? ? | 備注
+-----+-------------------------------------------+------------------+---------+
? 1? | 內(nèi)網(wǎng)主機(jī)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 192.168.10.20? ? |
頁碼:1,每頁行數(shù):15膜廊,總頁數(shù):1乏沸,總數(shù)量:1
提示:輸入資產(chǎn)ID直接登錄,二級搜索使用 // + 字段爪瓜,如://192 上一頁:b 下一頁:n
搜索:
[Host]> 1
開始連接到 內(nèi)網(wǎng)服務(wù)器管理員@192.168.10.20 0.1
Last login: Wed Dec 29 06:24:41 2021 from 192.168.10.253[root@client ~]#ipaddr2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
? ? link/ether 00:0c:29:df:d8:88 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.10.113/24 brd 192.168.10.255 scope global noprefixroute dynamic ens32
? ? ? valid_lft 1130sec preferred_lft 1130sec
? ? inet6 fe80::f790:5f32:9201:7e7b/64 scope link noprefixroute
? ? ? valid_lft forever preferred_lft forever
測試完成蹬跃,客戶端通過堡壘機(jī)接口即可選擇登錄到對應(yīng)內(nèi)網(wǎng)服務(wù)器。