跨网段远程管理通道怎么选
两端不能直连、或者安全策略不允许把管理端口暴露出去时,要先决定用什么通道,而不是先去改防火墙。原则是按风险从低到高排序:专线或 VPN 最佳,因为运维流量走的是内网;其次是经堡垒机做跳板;再次才是用 SSH 隧道把端口转发到本地;最后才是把 RDP 或 WinRM 直接暴露在公网。绝大多数“连不上”的困扰,其实是通道选错后又在防火墙上打洞。
基本信息
| 典型前提 | 两端网络不可直达,或策略禁止暴露管理端口 |
|---|---|
| 首选方案 | 专线 / VPN,运维流量落在内网 |
| 次选方案 | 堡垒机跳板 + SSH 隧道转发 3389 / 5985 |
| 兜底方案 | RDP 网关或 WinRM over HTTPS,只开 443 |
| 必须配套 | 源 IP 限制、多因素认证、登录审计 |
| 文档要求 | 谁申请、开多久、日志在哪,都要成文留档 |
方案选择要点
- VPN 或专线:运维出口固定,网络层收敛,最省事也最安全
- 堡垒机跳板:需要按人授权、留操作日志的场景优先
- SSH 隧道:临时应急、单端口转发,隧道本身不落额外日志
- RDP 网关:多个终端用户需要远程桌面时的标准做法
- WinRM over HTTPS:自动化脚本要跨网段执行时的常用选择
- 禁止做法:把 3389、5985 直接映射到公网并用弱口令
常用示例
常用示例
# 本机 13389 -> web01:3389(经跳板机转发)
ssh -N -L 13389:web01:3389 ops@jump01
# 本机 5985 -> web01:5985,让 WinRM 走隧道
ssh -L 5985:web01:5985 ops@jump01
$c = Get-Credential
New-PSSession -ConnectionUri http://127.0.0.1:5985/wsman -Credential $c -Authentication Negotiate
mstsc /v:127.0.0.1:13389 # 用隧道端口连远程桌面
Get-NetTCPConnection -LocalPort 13389 -State Listen # 验证隧道是否在监听通道对比
| 通道 | 暴露面 | 适用场景 |
|---|---|---|
| VPN / 专线 | 最小,仅对端网段 | 常态化运维 |
| 堡垒机跳板 | 仅堡垒机入口 | 需按人授权与操作审计 |
| SSH 隧道 | 仅跳板机 22 | 临时应急、单端口 |
| RDP 网关 | 仅 443 | 多用户远程桌面 |
| WinRM over HTTPS | 仅 443 | 自动化批量执行 |
| 裸端口映射 | 全互联网 | 不应使用 |
隧道连本地回环时若用 Negotiate 认证报 SPN 不匹配,可改用 127.0.0.1 而不是 localhost,或在后端改用 HTTPS 再试,这类报错跟网络通不通没有关系。
把 WinRM 或 RDP 直接暴露公网,等于给自动化爆破脚本发请帖。至少限制来源 IP、启用 NLA 或多因素认证,并保证登录审计开启且有人看。