跳到主要内容

多跳代理

多跳代理(Proxy Jump)允许通过一台或多台跳板机连接到目标服务器,常用于访问内网服务器或增强安全性。

使用场景

典型场景

本地电脑 → 跳板机(公网) → 目标服务器(内网)
  • 内网访问:目标服务器没有公网 IP,只能通过跳板机访问
  • 安全合规:企业要求所有 SSH 访问必须经过堡垒机
  • 审计追踪:通过跳板机记录所有操作日志
  • 网络隔离:生产环境与办公网络隔离

多跳场景

本地电脑 → 跳板机 A → 跳板机 B → 目标服务器

某些复杂网络环境需要经过多台跳板机才能到达目标服务器。

配置跳板机

准备工作

首先需要将跳板机作为普通 SSH 连接添加到 XTerminal:

  1. 创建跳板机连接,配置好认证方式
  2. 测试跳板机连接正常
  3. 保存跳板机连接

配置目标服务器

  1. 创建或编辑目标服务器连接
  2. 点击左侧 跳板机 选项卡
  3. 点击 添加跳板机
  4. 从下拉列表选择跳板机

跳板机配置

界面说明

  • 跳板机链路:显示当前配置的跳板机列表
  • 拖拽排序:拖动左侧把手可调整跳板机顺序
  • 删除按钮:点击右侧删除按钮移除跳板机
  • 提示信息:列表顶部为第一跳,依次转发到下一跳直至目标主机

代理链(多跳)

添加多个跳板机

  1. 点击 添加跳板机 添加第一台跳板机
  2. 再次点击 添加跳板机 添加第二台
  3. 根据需要继续添加

调整顺序

跳板机顺序决定连接路径:

  • 列表第一项:本地直接连接的第一跳
  • 列表最后一项:连接目标服务器的最后一跳

拖拽跳板机项目可以调整顺序。

示例

跳板机链路:
1. Bastion-A(公网)
2. Bastion-B(DMZ)

连接路径:
本地 → Bastion-A → Bastion-B → 目标服务器

连接流程

当发起连接时,XTerminal 执行以下步骤:

  1. 连接第一台跳板机
  2. 通过第一台跳板机的端口转发连接第二台
  3. 依此类推,直到连接到目标服务器
  4. 最终在目标服务器上打开终端

整个过程自动完成,用户只需等待连接成功。

认证处理

  • 每台跳板机使用各自配置的认证方式
  • 如果跳板机使用交互认证,会依次弹出输入对话框
  • 交互认证的跳板机会自动延长超时时间(至少 120 秒)

注意事项

连接限制

  • 不能循环引用:跳板机链不能形成环路
  • 跳板机不能有跳板机:已配置跳板机的服务器不能作为其他服务器的跳板机

性能考虑

  • 每增加一跳会增加延迟
  • 数据需要经过每台跳板机转发
  • 建议跳板机数量不超过 3 台

跳数限制

XTerminal 对代理链的最大跳数没有硬性限制,但需要考虑:

跳数建议
1-2 跳推荐,延迟可控
3-4 跳可用,可能有明显延迟
5+ 跳不推荐,连接稳定性下降

延迟计算

代理链的总延迟约等于各跳延迟之和:

总延迟 ≈ 本地→跳板机A + 跳板机A→跳板机B + 跳板机B→目标服务器

例如:本地到 A 延迟 50ms,A 到 B 延迟 30ms,B 到目标 20ms,则总延迟约 100ms。

连接稳定性

  • 任一跳板机断开会导致整个连接断开
  • 建议为跳板机配置合适的心跳时间
  • 网络不稳定时可能需要重新连接

故障排查

跳板机连接失败

  1. 单独测试跳板机连接是否正常
  2. 检查跳板机的认证配置
  3. 确认跳板机有权限转发连接

目标服务器连接失败

  1. 确认从跳板机可以访问目标服务器
  2. 检查目标服务器的防火墙规则
  3. 验证目标服务器的 SSH 服务正常

连接超时

  1. 增加连接超时时间
  2. 检查网络延迟
  3. 如果跳板机使用 2FA,确保有足够时间输入验证码

连接中断

  1. 检查各跳板机的心跳配置
  2. 查看跳板机的 SSH 配置(ClientAliveInterval 等)
  3. 考虑网络稳定性问题

与代理设置的区别

XTerminal 同时支持 跳板机代理设置,两者可以组合使用:

特性跳板机代理设置
协议SSHSOCKS5/HTTP
认证SSH 认证代理认证(如有)
加密SSH 加密依赖代理
典型用途访问内网服务器翻墙、企业代理

当同时配置时,代理优先于跳板机

本地 → 代理服务器 → 跳板机 → 目标服务器

下一步