Tailscale + Win10跳板 实现安全的内网穿透

 

使用 Tailscale + Windows 跳板机实现安全的内网穿透

背景与目标

网络环境如下:

  • 外网机器:Windows 11(无内网访问能力)

  • 内网服务器:Ubuntu20.04

  • 内网跳板机:Windows 10

    • 可以访问内网服务器

    • 可以访问互联网

  • 约束条件

    • Ubuntu 是生产环境,不能改网络配置

    • 所有操作都是远程进行,不能有“锁死服务器”的风险

    • 希望从外网安全地 SSH 进 Ubuntu

设计思路

不动 Ubuntu,把所有“穿透”和“转发”逻辑放在 Windows 跳板机上

具体方案是:

  • 使用 Tailscale 在外网 Win11 和内网 Win10 之间建立加密虚拟网络

  • Win10 作为子网路由器(Subnet Router)

  • Win11 的访问流量:

    Win11 →(Tailscale)→ Win10 →(局域网)→ Ubuntu
    
  • Ubuntu 只看到来自 Win10 的正常内网访问,完全不知道 Tailscale 的存在


一、前置条件检查

1. 确认 Win10 能访问 Ubuntu

Win10跳板机上执行:

ssh -p <port> <用户名>@<内网ip>

必须能成功登录,否则后续所有配置都没有意义。


二、在外网机器和跳板机上安装并登录 Tailscale

  • Win11Win10 上安装 Tailscale

  • 使用 同一个账号登录

  • 确认两台机器在 Tailscale 客户端中都显示为 Online


三、在 Win10 上开启 IP 转发能力

Windows 默认不会转发来自其他网卡的流量,必须显式开启。

1. 启用 IP 转发

Win10(管理员 PowerShell) 执行:

New-ItemProperty `
  -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" `
  -Name IPEnableRouter `
  -PropertyType DWord `
  -Value 1 `
  -Force

2. 重启 Win10(必须)

3. 验证是否成功

cmd 或 PowerShell 中执行:

reg query "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter

期望看到:

IPEnableRouter    REG_DWORD    0x1

四、确认 Ubuntu 所在的真实内网网段

Ubuntu 的 IP 和对应的子网掩码通过 ip addr 或 ifconfig 命令查看,然后问AI“我要在跳板机tailscale应该发布的网段怎么写”,理论上如果Ubuntu 的网段是10.5.123.123,那么发布网段就是10.5.123.0/24,取前三个网段号即可。注意:不要发布跳板机自己的网段(如 10.7.0.0/18),只发布你真正想访问的目标网络


五、让 Win10 在 Tailscale 中发布子网路由

Win10跳板机 上执行:

tailscale up --advertise-routes=10.5.123.0/24

这条命令的含义是:“如果有人要访问 10.5.123.0/24,可以把流量交给我(Win10跳板机)转发。”


六、在 Tailscale 管理后台批准路由

  1. 打开 Tailscale Admin Console

  2. 找到 Win10 ,点进右边三个小点 ,点击 route setting

  3. Subnet routes 下看到:10.5.123.0/24

  4. 勾选并点击 Save

这一步的作用是:把这条路由下发给同账号的其他设备(Win11)


七、从 Win11 测试最终效果

Win11 上执行:

ssh -p <port> <用户名>@<内网ip>

如果看到 SSH banner 或登录提示,说明外内网的安全访问已经完全打通


八、遇到的问题与排错思路

1. SSH 连接超时(Connection timed out)

通常原因只会是:

  • Win10 没开启 IP 转发(或没重启)

  • 子网路由未在后台 Approve

  • 发布了错误的网段(如发布了 10.7.0.0/18)

2. reg query 报“无效项名”

原因是在 cmd 中不能使用 HKLM:\ 这种 PowerShell 风格路径。

正确写法是:HKLM\SYSTEM\...

 

声明:内容有人工智能辅助整理创作,但全过程所有操作均是博主实战过程记录,可以放心参考。

posted @ 2026-02-10 17:52  FallenLeave  阅读(13)  评论(0)    收藏  举报