一、问题背景
JumpServer 是一个开源的运维审计系统,又称堡垒机。JumpServer 提供了一套完整的多网络环境下的资产纳管方案,用于安全地访问和管理服务器。JumpServer 支持部署在企业内部地网络环境中或个人搭建的网络环境中。JumpServer 服务器到目标资产的网络是可连通的,JumpServer 即可纳管资产。
本文主要介绍当需要纳管的资产为内网资产且无公网IP的情况下,如何将该资产纳管到 JumpServer 堡垒机中?
二、实现方式
内网穿透工具有多种,例如:tailscale、frp、花生壳等。此处以 cpolar 工具为例:
通过在内网资产中安装内网穿透工具 cpolar 实现将内网资产映射到外网访问,JumpServer 通过直接纳管内网资产实现访问。
通过在内网某一台资产上安装内网穿透工具 cpolar 实现将内网资产映射到外网访问,JumpServer 通过配置该资产为网域网关,实现纳管整个内网环境的资产。
三、cpolar 实现内网穿透
cpolar 是一种安全的内网穿透云服务,它将内网下的本地服务器通过安全隧道暴露至公网。使得公网用户可以正常访问内网服务。
1、cpolar 介绍
cpolar 内网穿透是通过在需要被映射到公网的服务器上安装cpolar 客户端,并提供一个本地的网络服务端口号。当需要访问内网服务器时,请求先连接到接受公共地址流量的 cpolar 云服务中,流量被中继到服务器上运行的cpolar 进程,然后再中继到指定的本地网络服务端口,实现公网用户正常访问内网服务。
2、cpolar 安装
本次演示以 Linux 服务器为主,其余类型的平台请参考官方文档:https://www.cpolar.com/docs
①、注册账户
cpolar 后续在进行 token 认证时,需要到官网页面获取 token 信息,所以需要注册账户。填写基础信息,注册登陆即可。
注册成功登陆即可。
登陆后,查看您的隧道 token。
②、Linux 服务器上安装客户端
登陆服务器后一键安装。
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
查看 cpolar 的版本号。
cpolar version
token 认证,从 cpolar 页面查看 token 并进行认证。
cpolar authtoken M2QwYTc3NDctYTc4N****************************
穿透 22 端口。
cpolar tcp 22
启动服务并添加重启自启动。
systemctl start cpolar
systemctl enable cpolar
查看映射隧道。
从上图获取到的信息为:映射外网的链接信息为:tcp://3.tcp.vip.cpolar.cn:10443,表示此时该内网机器的SSH协议可通过访问 3.tcp.vip.cpolar.cn 的 10443 端口进行连接。
③、访问测试
通过连接提供的 IP 与端口信息,访问资产是否可外网访问。
以上即为穿透成功!
四、公网堡垒机纳管内网资产
内网穿透场景下涉及到两种场景,如下所示:
1、直接纳管内网机器并访问
①、创建 Linux 资产,并授权
②、访问
连接成功!
2、配置为网域网关访问内网其他机器
①、创建网域网关
创建网域,设置映射到公网的机器为网关。
创建网关。
②、创建其他内网机器为 JumpServer 资产
创建内网机器为 JumpServer 资产并授权。
③、访问资产
访问成功!
已成功通过使用 cpolar 内网穿透工具,打通了内外网之间的限制,成功实现公网 JumpServer 纳管内网资产的需求。
五、结论
JumpServer 可以用于管理多个网络环境下的服务器,支持跨不同网络的服务器远程访问和管理。不论这些服务器位于本地网络、局域网还是广域网,只要网络连通性得到确保,并且具备必要的网络配置和权限,JumpServer 都能够对其进行纳管。
总之,JumpServer 可以纳管多个网络环境下的服务器,只要网络连通性和必要的网络配置得以满足。它提供了一种统一的方式来管理和访问这些服务器,并增强其安全性和可管理性。