使用frp+jumpserver集中管理远程内网服务器

我们设想这样一种情况,我们是一家小公司,在全国有几个小分支办公机构,每个机构有一台服务器,由于公司财务紧张,买不起专线,用的也是普通家用宽带,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

登录堡垒机

[email protected]

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 ~]#ipaddr2: ens32: 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

测试完成,客户端通过堡垒机接口即可选择登录到对应内网服务器。

你可能感兴趣的:(使用frp+jumpserver集中管理远程内网服务器)