Tailscale折腾记

一、 核心地基:解决 OpenWrt 流量劫持与不通问题

在 OpenWrt 环境下,Tailscale 经常会被其他网络组件“按在地上摩擦”,核心解决思路就两步:指对路、戴面具

1. 彻底驯服 MWAN3(防止流量被强塞给宽带出口)

只要装了 MWAN3/多线负载,去往 Tailscale 虚拟网段和公司内网的流量极易被劫持。

  • 操作路径:网页后台 -> 网络 -> 负载均衡 (MWAN3) -> 规则。
  • 添加两条“免死金牌”规则
    1. Tailscale_Bypass:目标地址填 100.64.0.0/10,策略选 默认 (default)
    2. Company_Bypass:目标地址填 10.0.0.0/8(涵盖公司大网段),策略选 默认 (default)
  • 关键动作:把这两条规则拖到列表的最最顶部,保存并应用。

2. 防火墙出站伪装 (SNAT)

无论是在家里想科学分流,还是在公司想连通内网,数据包从隧道钻出来的那一刻,必须换上当地路由器的合法 IP 面具。

  • 原生优雅解法(推荐):网页后台 -> 网络 -> 防火墙 -> 常规设置 -> 区域。找到 tailscale 区域,将“允许转发到目标区域”勾选上对应的出口网络(比如家里的 wan/eth1,或者公司的 wan)。
  • 底层暴力解法(SSH 临时生效):Bash# 允许转发并强行伪装面具 nft insert rule inet fw4 forward iifname "tailscale0" accept nft insert rule inet fw4 srcnat iifname "tailscale0" masquerade

二、 异地组网:家里(路由 A)无缝访问公司(路由 B)

目标:坐在家里不用开任何客户端,直接访问公司 10.x.x.x 内网。

1. 公司路由 B(带路党):宣告内网网段

  • SSH 执行tailscale set --advertise-routes= 10.0.0.0/8
  • 云端盖章:登录 Tailscale Admin Console -> 找到路由 B -> Edit route settings -> 勾选刚才宣告的子网。

2. 家里路由 A(接收方):接收路线并固化路由表

  • SSH 接收指令tailscale set --accept-routes
  • 修复 OpenWrt 路由表丢失 Bug
    • 网页后台 -> 网络 -> 路由 -> 静态 IPv4 路由。
    • 接口:tailscale0
    • 路由类型:unicast (单播)
    • 目标:10.0.0.0/8(公司大网段)
    • 网关:留空不填。保存应用。

三、 企业级进阶:原生 Split DNS (局域网域名分离)

目标:在家里直接输入 oa.corp.com 访问公司系统,且绝对不与 Passwall 发生冲突。

  • 避坑铁律绝对不要开启 Tailscale 的 MagicDNS!
  • 原生解法:利用 OpenWrt 自带的 dnsmasq 精准指路。
    • 网页后台 -> 网络 -> DHCP/DNS -> 常规设置。
    • 找到 DNS 转发
    • 添加规则:/公司的域名后缀/10.128.10.20(例如 /corp.com/10.128.10.20)。
    • 原理:只有访问公司域名时,才去敲公司内部 DNS 服务器(10.128.10.20)的门,其余全部走 Passwall 正常解析。

四、 状态诊断与网络测速工具箱

网络不通或者想摸底性能时,随时掏出这三板斧:

1. 测谎仪:排查流量去向

  • 命令:ip route get [目标IP] (例如 ip route get 10.128.10.20)
  • 结果应该是 dev tailscale0。如果是 dev eth1,立刻去查 MWAN3 规则或静态路由表。

2. 状态查询:看隧道通不通

  • 命令:tailscale status
  • 看连接是 Direct (直连打洞成功,速度极快) 还是 Relay (官方服务器中转,限速 2~5Mbps)。

3. 极限压榨测速 (iPerf3)

  • 服务端(接收方):iperf3 -s
  • 客户端(发送方):iperf3 -c [服务端Tailscale_IP] -R -P 4 -t 20
    • -R:反向测速(测对方的上行宽带)。
    • -P 4:开启 4 个并发线程。
    • -t 20:持续轰炸 20 秒。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇