跳转至

跳板机使用

根据网络拓扑设计规范,跳板机作为网络访问的核心节点,需要实现以下关键功能:

跳板机功能需求

  • 代理功能 - 代理 ESXi 管理网口,实现无线访问 ESXi Web 管理界面
  • 网络代理 - 提供全网络代理服务,统一访问网络拓扑下的所有主机
  • 网络隔离 - 实现内外网物理隔离,保护内部系统安全
  • 端口转发 - 提供安全的端口映射和转发服务
  • 统一入口 - 作为访问内部网络资源的唯一入口,集中管理远程访问

选择跳板机操作系统

综上原因需要,并不想每次都是通过配置命令行设置,最终陈大剩选择的具有图形界面的 Ubuntu 系统。

安装 Ubuntu

Ubuntu 作为最受欢迎的 Linux 发行版之一,在 ESXi 环境中具有以下优势:优秀的虚拟化支持丰富的软件生态长期支持版本活跃的社区企业级稳定性

准备工作

1. 下载Ubuntu ISO镜像

根据使用场景选择合适的 Ubuntu 版本,陈大剩这里选择 Ubuntu Server 22.04 LTS 的版本。

适用场景: 服务器环境,无图形界面,资源占用少。

适用场景: 需要图形界面的应用场景。

2. 上传ISO到ESXi数据存储

将下载的 ISO 文件上传到 ESXi 数据存储:

  1. 登录ESXi管理后台
  2. 导航:存储数据存储浏览器
  3. 选择目标数据存储
  4. 创建ISO文件夹(可选)
  5. 点击【上传文件】

上传ISO文件

创建虚拟机

1. 新建虚拟机向导

导航路径:【虚拟机】→【创建/注册虚拟机】,首先是简单的三个步骤。

选择创建类型

选择名称和操作系统

选择名称和操作系统

2. 存储和硬件配置

由于陈大剩配置的是跳板机需要图形页面,所以硬件分配会稍微高一点,大家可以根据自己的需求分配,自定义步骤比较多,如无需配置直通,后面两个步骤可跳过。

CPU

内存

添加硬盘

如果需要代理 ESXi 管理网卡,则需添加 VM NetWork,其他再添加三个网络拓扑的网段。 添加网络适配器

添加镜像

自定义设置完了,还需要需要将【虚拟机选项设】固件选择为【BIOS】,不直通选 EFI 也没有问题。 固件选择 最后,所有配置完成后,检查一遍,点完成。

开始安装

安装流程

配置配置完后,可以点击打开电源开始安装:

引导页面选择:*Try or Install Ubuntu(尝试或安装 Ubuntu) 引导页面

安装页面选择【中文】后,点击【安装 Ubuntu】 安装页面

安装页面选择【中文】后,点击【安装 Ubuntu】 选择键盘布局

安装选择选择【最小安装】即可 选择键盘布局

安装类型选择【清除整个磁盘并安装 Ubuntu】,后面有个提示确认即可 安装类型

选择时区点击【中国的地区】即可,或手动输入【上海】 选择时区

设置账号密码按照自己的需求设置 设置账号密码

完成安装

安装完成后,系统还会提示安装完成,需要重启一次 重启系统 至此,已经安装完成了 Ubuntu,稍后关机后,可以将 存储和硬件配置-自定设置 5:添加镜像 添加的镜像给删除。 删除镜像

安装 sshd

因为我们最小化安装,Ubuntu 并未带 sshd 包,所以需安装了,通过点击左下角的菜单图标进入菜单,再点击终端进入终端。 安装 sshd 在终端中输入,并按照要求输入密码,结束安装。

Bash
sudo apt-get install  openssh-server

镜像源配置

如果无法安装,请注意换源,换源教程请参考:Ubuntu20.04 更换国内镜像源

开启 root 登入

在 Ubuntu 中,通常不推荐使用 root 用户来执行日常任务,因为这可能会导致系统安全性降低。由于我们只本地访问所以开启也无所谓。

Bash
# 设置 root 密码
sudo passwd root

# 编辑 SSH 配置文件
sudo nano /etc/ssh/sshd_config

# 找到并修改以下行:
# PermitRootLogin prohibit-password
# 改为:
# PermitRootLogin yes

# 重启 SSH 服务
sudo systemctl restart ssh

跳板机网络配置

跳板机安装成功后,我们还需要将四个网卡设置固定 IP ,防止每次重启 IP 发生变化。

网卡一

网卡二

其中 ens34 一直处于正在连接中,为什么呢?因它和 ESXi 管理网卡一个网段,这个网段没有 DHCP 服务器,所以一直在连接中,获取不到 IP 地址。

ESXi 管理网段设置

编辑 ens34 网卡,选择【IPv4】方式改为【手动】,将地址和 ESXi 管理网卡设置成一个网段。

因陈大剩 ESXi 管理网口地址为 192.168.188.1,所以这个网段设置为 192.168.188.5(不与 192.168.188.1 冲突就行),子网掩码为 255.255.255.0ESXi 管理网段设置 配置完成后,网卡状态变为"已连接": ens34网卡状态 通过 Ubuntu 自带的浏览器 Firefox 访问 192.168.188.1,可以看到能够成功访问 ESXi Web 管理页面。 访问ESXi Web

其他网段设置

其他网段需防止跳板机启动时跳 IP,还需要将获取 IP 方式改为 静态 IP,以家庭终端网段为例,首先查看获取的 IP: 获取的 IP 然后将 IP 填入【手动】中,点击【应用】 访问 对所有网卡重复此操作,确保网络配置的稳定性。

安装端口转发工具

socat 是一个多功能的网络工具,可以用于端口转发,比如我们可以将 ESXi 管理 Web 端口转发至 跳板机的端口,ESXi 管理 Web 页面就不需要再插网线了。

安装 socat

通过 apt 安装

Bash
sudo apt install socat 

代理测试

安装成功后输入 Ubuntu 如下代理 ESXi 管理 Web 端口

Bash
socat TCP-LISTEN:443,fork TCP:192.168.188.1:443

  • TCP-LISTEN:443:监听本地的 443 端口。
  • fork:允许同时处理多个连接。
  • TCP:192.168.88.1:443:将流量转发到跳板机的 443 端口。

其他家庭网段终端可通过浏览器输入跳板机 IP https://192.168.8.130/ 进行访问,记住一定要加上前面的 https 协议,不出意外我们能进行访问。 浏览器输入跳板机

代理 ESXi 管理网口

前面步骤是 手动将命令输入到终端中,不可能每次都去手动输入,我们需要设置成随跳板机一起启动,就得将 socat 设置为 守护进程,可以通过 systemd 的特性来实现。

创建一个 systemd 服务文件

打开终端,使用文本编辑器创建一个新的服务文件。例如,使用 vim 创建服务文件:

Bash
sudo vim /etc/systemd/system/socat-esxi.service

添加服务配置

写入如下内容:

Bash
[Unit]
Description=Socat Port Forwarding Service
After=network.target

[Service]
ExecStart=/usr/bin/socat TCP-LISTEN:443,fork TCP:192.168.188.1:443
Restart=always

[Install]
WantedBy=multi-user.target

  • Restart=always:确保服务在退出时自动重启;
  • RestartSec=5:在重启之前等待 5 秒;
  • StandardOutput=syslogStandardError=syslog:将输出和错误记录到系统日志中,方便后续查看;

重新加载 systemd

运行以重新加载 systemd,使其识别新创建的服务:

Bash
sudo systemctl daemon-reload

启动服务

使用命令启动服务:

Bash
sudo systemctl start socat-esxi.service

检查服务状态

Bash
sudo systemctl status socat-esxi.service
检查服务状态 执行后查看是否成功,其他家庭网段终端可通过浏览器输入跳板机 IP https://192.168.8.130/ 进行访问: 浏览器输入跳板机

开机启动

访问之后,还需最后一个步骤,将 socat-esxi.service 服务设为开机启动。

Bash
sudo systemctl enable socat-esxi.service
返回结果:
Text Only
Created symlink /etc/systemd/system/multi-user.target.wants/socat-esxi.service → /etc/systemd/system/socat-esxi.service.
至此大功告成,设置跳板机设置开机启动后,开机启动设置在软路由之后即可,可参考 ESXi 进阶操作 - 虚拟机自启动,最后可拔掉 ESXi 管理端口网线。

后续规划

前面功能只能说是跳板机的冰山一角,后续还可通过跳板机实现很多跨网段的方案。


创建日期: 2025年7月22日 最后更新: 2025年8月12日