使用frp+jumpserver集中管理遠程內網伺服器

fans news 發佈 2021-12-29T00:28:05+00:00

我們設想這樣一種情況,我們是一家小公司,在全國有幾個小分支辦公機構,每個機構有一台伺服器,由於公司財務緊張,買不起專線,用的也是普通家用寬帶,SD-WAN設備說實話也挺貴的,那麼我們怎麼去登錄各個分支機構的伺服器呢?

我們設想這樣一種情況,我們是一家小公司,在全國有幾個小分支辦公機構,每個機構有一台伺服器,由於公司財務緊張,買不起專線,用的也是普通家用寬帶,SD-WAN設備說實話也挺貴的,那麼我們怎麼去登錄各個分支機構的伺服器呢?

辦法當然多,比如我們可以通過向日葵和todesk這類遠程軟體連接到分支機構某個人的電腦上再去遠程操作,雖然不方便,但是能夠完成目的。

針對這種情況,我設計出這樣一種方案,通過frp將所有內網伺服器映射到一台公網伺服器上,再在公網伺服器部署jumpserver跳板機做集中管理和權限控制,這樣我們只需要連接一次就能去選擇連接各個伺服器了。

一、環境設計
雖然我的雲伺服器升級了,但在運行網站的同時難以同時運行跳板機,所以我這裡使用虛擬機進行演示,效果相同。

內網伺服器是192.168.10.113,將ssh埠22映射到跳板機伺服器埠1001。
跳板機伺服器是192.168.10.20,其中1000埠是frp監聽埠,1001是接受內網ssh轉發的埠,1002是管理面板,2222是跳板機的連接埠。

注意:本文僅對核心內容做記錄,不會關注防火牆埠開放、開機啟動等等小細節。

二、跳板機配置
一鍵安裝跳板機並啟動

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面板添加用戶、伺服器、特權用戶、資產分配等,因為內網埠映射到伺服器,所以跳板機配置的ssh是連接本地埠。
用戶test 密碼123456

三、服務端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

啟動服務

nohup ./frps -c ./frps.ini &

四、配置內網伺服器客戶端
下載最新包

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

啟動服務

nohup ./frpc -c frpc.ini &

五、測試效果
查看frp面板映射狀態
192.168.10.20:1002

登錄堡壘機

test@192.168.10.20

 ID  | 主機名                                    | IP               | 備註
+-----+-------------------------------------------+------------------+---------+
  1   | 內網主機                                  | 192.168.10.20    |
頁碼:1,每頁行數:15,總頁數:1,總數量:1
提示:輸入資產ID直接登錄,二級搜索使用 // + 欄位,如://192 上一頁:b 下一頁:n
搜索:
[Host]> 1
開始連接到 內網伺服器管理員@192.168.10.20 0.1
Last login: Wed Dec 29 06:24:41 2021 from 192.168.10.253
[root@client ~]# ip addr
2: 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

測試完成,客戶端通過堡壘機接口即可選擇登錄到對應內網伺服器。

關鍵字: