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 终端中分别执行:
脚本执行完毕后:
- 它会自动下载对应架构的 Tailscale。
- 它会自动配置开机自启。
- 如果提示安装完成,即可直接进入下一步。
第二阶段:配置启动参数 (关键)
我们需要告诉 Tailscale:“我是个路由器,请把我的 LAN 网段广播出去,并且接受别人广播过来的网段。”
1. 配置路由器 A (假设 LAN 为 10.0.1.x)
在 SSH 中执行:
- 执行后:复制屏幕显示的 URL 到浏览器,登录并授权。
2. 配置路由器 B (假设 LAN 为 10.0.0.x)
在 SSH 中执行:
- 执行后:同样复制 URL 进行授权。
第三阶段:网页后台开启路由 (必须做)
只在命令行敲了没用,必须去官方后台“批准”这些路由。
- 找到 路由器 A -> 点击
...-> Edit route settings -> 勾选10.0.1.0/24-> 保存。
- 找到 路由器 B -> 点击
...-> Edit route settings -> 勾选10.0.0.0/24-> 保存。
- (建议):在 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)。 - 如果能打开,说明配置完美成功!
- 作者:Cheng
- 链接:https://tangly1024.com/technology/openwrt-tailscale-site-to-site
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
