Lazy loaded image
OpenWrt + Tailscale:一键实现异地组网与内网互通
字数 890阅读时长 3 分钟
2026-1-17
2026-1-17
type
status
date
slug
summary
tags
category
icon
password

前置核心警告(必读)

  • 网段冲突回避
    • 路由器 A LAN IP:10.0.1.1 (网段 10.0.1.0/24)
    • 路由器 B LAN IP:10.0.0.1 (网段 10.0.0.0/24)
    • 两边网段绝对不能一样,否则路由表冲突,无法互访。

第一阶段:一键安装 Tailscale (两边路由器都做)

使用你提供的脚本,在路由器 A 和 路由器 B 的 SSH 终端中分别执行:
脚本执行完毕后:
  1. 它会自动下载对应架构的 Tailscale。
  1. 它会自动配置开机自启。
  1. 如果提示安装完成,即可直接进入下一步。

第二阶段:配置启动参数 (关键)

我们需要告诉 Tailscale:“我是个路由器,请把我的 LAN 网段广播出去,并且接受别人广播过来的网段。”

1. 配置路由器 A (假设 LAN 为 10.0.1.x)

在 SSH 中执行:
  • 执行后:复制屏幕显示的 URL 到浏览器,登录并授权。

2. 配置路由器 B (假设 LAN 为 10.0.0.x)

在 SSH 中执行:
  • 执行后:同样复制 URL 进行授权。

第三阶段:网页后台开启路由 (必须做)

只在命令行敲了没用,必须去官方后台“批准”这些路由。
  1. 访问 Tailscale Admin Console
  1. 找到 路由器 A -> 点击 ... -> Edit route settings -> 勾选 10.0.1.0/24 -> 保存。
  1. 找到 路由器 B -> 点击 ... -> Edit route settings -> 勾选 10.0.0.0/24 -> 保存。
  1. (建议):在 Machines 列表里,把这两台路由器的 Key expiry 设为 Disable,防止几个月后密钥过期断网。

第四阶段:OpenWrt 接口与防火墙 (打通“最后一公里”)

虽然脚本安装很方便,但为了让路由器下面的子设备(如手机、NAS)也能互通,我们需要在 OpenWrt 界面里手动把 Tailscale 接口加入防火墙区域。
以下步骤在 路由器 A 和 B 上都要操作一遍:

1. 新建接口

  • 进入 网络 -> 接口 -> 添加新接口
  • 名称:tailscale
  • 协议:不配置协议 (Unmanaged)。
  • 设备:选择 tailscale0 (如果没有,手动输入 tailscale0 回车)。
  • 点击 提交

2. 设置防火墙

  • 进入 网络 -> 防火墙
  • 找到下面的 Zones (区域),点击 添加
    • 名称tailscale
    • 入站/出站/转发:全部选 接受 (Accept)
    • IP 动态伪装 (Masquerading)必须勾选 (这是子设备能上网的关键)。
    • MSS 钳制勾选
    • 涵盖的网络:勾选刚才建的 tailscale 接口。
  • 端口转发/区域间设置 (Inter-Zone Forwarding):
    • Allow forward from source zones:选中 lan
    • Allow forward to destination zones:选中 lan
  • 保存并应用

第五阶段:验证效果

恭喜!现在你已经建立了一个强大的异地局域网。
  • 测试方法
    • 手机连接 路由器 A 的 WiFi。
    • 直接在浏览器输入 路由器 B 下面 NAS 的内网 IP(例如 10.0.0.55)。
    • 如果能打开,说明配置完美成功!
上一篇
PVE 9.x + N100/N150:Windows 11 核显直通与 HDMI 输出终极指南
下一篇
Open WebUI Docker 部署完全指南