在 Windows 上使用 Tailscale 将本地局域网设备共享给其他 Tailscale 客户端,可以通过启用 Subnet Router(子网路由)功能来实现。以下是具体操作步骤:


步骤 1:在 Windows 上启用 IP 转发

  1. 修改注册表
    • 按下 Win + R,输入 regedit 并回车。
    • 导航到以下路径:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    • 找到或新建一个名为 IPEnableRouterDWORD 值。
    • 将其值设置为 1
    • 重启计算机以使更改生效。
  2. 启用防火墙规则(可选):
    • 如果使用 Windows 防火墙,请确保允许 Tailscale 的流量通过。

步骤 2:在 Tailscale 上启用 Subnet Router 功能

  1. 打开 Tailscale 管理界面
    • 在 Windows 系统上,点击任务栏中的 Tailscale 图标,然后进入 Settings(设置)
  2. 配置共享子网:
    • 点击 Use exit node and subnet routes(使用出口节点和子网路由)
    • 找到选项 Enable subnet routing 或类似选项,输入要共享的局域网网段(例如 192.168.1.0/24)。
  3. 确保 Windows Tailscale 客户端启用了 advertise-routes
    • 打开命令行窗口,运行以下命令(需要管理员权限):
      tailscale up --advertise-routes=192.168.1.0/24

步骤 3:在 Tailscale 管理控制台启用路由

  1. 登录 Tailscale 管理控制台
  2. Machines(设备) 页面中找到你的 Windows 设备。
  3. 点击设备名称,打开设备详情。
  4. 启用刚才配置的子网路由(例如 192.168.1.0/24)。
  5. 确认其他设备可以通过 Tailscale 网络访问到共享的局域网设备。

步骤 4:测试连接

  1. 在其他 Tailscale 客户端设备上,通过 Tailscale IP 或局域网 IP 测试连接到共享设备。
    • 例如,通过 ping 或直接访问共享的服务(如 http://192.168.1.100:8080)。
  2. 如果连接有问题,检查以下内容:
    • 防火墙是否阻止了 Tailscale 或局域网流量。
    • Windows 是否正确启用了 IP 转发。

注意事项

  • 子网配置的权限:共享子网功能可能需要管理员权限,确保 Tailscale 管理员允许这样的设置。
  • 安全性:启用子网共享会使你的局域网设备暴露给 Tailscale 网络上的其他客户端,请确保只共享必要的网络范围,并妥善管理 Tailscale 的 ACL(访问控制列表)。
  • 网络范围检查:确保设置的子网范围准确无误,不要误配置成其他无关的网段。

 

如果已经运行了 可能会遇到报错

Error: changing settings via ‘tailscale up’ requires mentioning all
non-default flags. To proceed, either re-run your command with –reset or
use the command below to explicitly mention the current value of
all non-default settings:

tailscale up –advertise-routes=………………….

 

根据错误信息,Tailscale 要求在运行 tailscale up 时明确列出所有非默认配置。如果之前已配置了一些设置(如 --accept-dns 或其他选项),在添加新的选项时也需要同时重新声明这些设置。

以下是解决方法:


方法 1:使用 --reset 清除现有配置

运行以下命令以重置当前的 Tailscale 配置,然后重新启用子网路由:

tailscale up --reset --advertise-routes=192.168.30.0/24

这会清空现有的配置并仅启用 --advertise-routes


方法 2:明确声明所有当前配置

  1. 首先运行以下命令查看当前的 Tailscale 配置:
    tailscale debug --prefs

    这会输出一份 JSON 配置文件,其中包含当前启用的所有选项。

  2. 根据配置,构建一个完整的 tailscale up 命令。例如,如果输出中显示 accept-dnsexit-node 已启用,则需要构造类似以下命令:
    tailscale up --advertise-routes=192.168.30.0/24 --accept-dns=true --exit-node=100.64.x.x --exit-node-allow-lan-access

    替换 100.64.x.x 为你的实际出口节点 IP。


方法 3:直接从管理控制台启用路由

  1. 登录 Tailscale 管理控制台
  2. 找到你的设备,进入设备详情。
  3. 在子网路由配置部分手动启用 192.168.30.0/24

注意事项

  • 确保路由可用性:启用子网路由的设备必须保持在线,否则其他设备无法访问子网。
  • ACL(访问控制列表)配置:如果其他 Tailscale 客户端仍无法访问共享的子网,请检查 Tailscale ACL 配置,确保允许目标设备访问该子网。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注