V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rick13
V2EX  ›  宽带症候群

ipv6 环境下 tailscale 直连失败

  •  
  •   rick13 · 2 天前 · 779 次点击

    如题,几个月之前开启 tailscale 手机蜂窝网络直连到家里 ipv6 是完全正常的,当时延迟基本就是直连,也可以用家里的服务器做 exitnode 跑满 30m 上行
    但是现在完全不能用了,连上之后和完全没网也没什么区别,在 exitnode 上输入 tailscale status 能看到手机的 ipv6 地址而且是 direct ,但 exitnode 是 idle
    应该怎么排查呢,看不到什么 log

    10 条回复    2025-01-05 12:55:47 +08:00
    catsnl
        1
    catsnl  
       2 天前 via iPhone
    是不是用的自建的 derp 服务,我之前好像也遇到这种情况没找到原因(我自建的的 derp 只有 ipv4 没 v6 ,官方的是双栈),最后放弃自建的,用官方的就没出过问题
    rick13
        2
    rick13  
    OP
       2 天前
    @catsnl 没自建,就是直接用的官方
    Raynard
        3
    Raynard  
       2 天前
    网页端看看设置?固定 ip 、出口设备之类的
    royking930911
        4
    royking930911  
       2 天前
    ipv6 就不要搞 tailscale 直接 ddns 得了 tailscale 的节点经常不稳 出现了你说的这种状况关掉 tailscale 的连接再打开基本就能好
    rick13
        5
    rick13  
    OP
       2 天前
    解决了,不光是 tailscale 的 exitnode 有问题,本地的 dns 也有问题,多个问题叠加。
    xingkong06
        6
    xingkong06  
       1 天前
    可以写一下解决过程。
    sunnysab
        7
    sunnysab  
       1 天前
    是的,希望 op 能写一下解决过程。

    我这里一侧是公网 IPv4+IPv6 ,tailscale 客户端跑在路由器上。另一侧 IPv6 (有防火墙,无法入站) + 带 NAT4 的 IPv4 ,没有使用任何 DERP 。大部分时候可以直连,少部分情况下无法直连,很让人恼火。按理说我的情况下不可能无法直连,tailscale status 会发现走了中转。
    rick13
        8
    rick13  
    OP
       23 小时 27 分钟前
    因为排查过程非常乱,从没解决到解决做了好几个更改,也不一定知道哪个,就没写
    首先是排查过程,前提是 tailscale status 能看到手机是 direct ,而且 exitnode 可以 ping 同手机。那么问题应该是出在 exitnode 侧。幸好是 linux 系统,所以还有指令可用,把 tailscale 的指令执行了一圈,最有价值的就是 tailscale dns query qq.com ,查询失败,那么就是 dns 的问题。
    执行 resolvectl status 看到了 tailscale0 这里没有 dns ,于是开始配置 dns ,直到有 dns 为止,但是还是不行。
    后来尝试了重新安装,还是不行。
    一头雾水之后,重新开了个虚拟机配置 exitnode ,还是一样的不行。
    后来我做了两件事情
    1. 发现家里内部网络 dns 有问题,本来就查询不到 qq.com ,于是重新配置 dns
    2. 开始怀疑是手机问题,从账户里删除手机,删除软件重新配置
    3. 重新配置的虚拟机网络直接配置成了 dhcpv4 ,而不是像之前手动配地址
    这三个步骤做完了之后,就好用了。。。不知道到底是哪个生效了,感觉哪个都比较玄学。
    直到现在我的 exitnode 还是有以下解决,但就是好用,这就是为啥一开始不写怎么解决的。。跟重启大法没差太多
    rick@tsserver:~$ sudo tailscale dns query qq.com
    DNS query for "qq.com" (A) using internal resolver:

    Multiple resolvers available:

    Response code: RCodeServerFailure

    No answers were returned.
    这是我现在的 dns 状态
    rick@tsserver:~$ resolvectl status
    WARNING: terminal is not fully functional
    Press RETURN to continue
    Global
    Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub

    Link 2 (ens18)
    Current Scopes: DNS
    Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    Current DNS Server: 10.10.10.251
    DNS Servers: 10.10.10.251

    Link 3 (tailscale0)
    Current Scopes: DNS
    Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    Current DNS Server: 100.100.100.100
    DNS Servers: 100.100.100.100
    DNS Domain: panthera-goldeye.ts.net ~0.e.1.a.c.5.1.1.a.7.d.f.ip6.arpa ~100.100.in-addr.arpa ~101.100.in-addr.arpa ~102.100.in-addr.arpa ~103.100.in-addr.arpa ~104.100.in-addr.arpa
    ~105.100.in-addr.arpa ~106.100.in-addr.arpa ~107.100.in-addr.arpa ~108.100.in-addr.arpa ~109.100.in-addr.arpa ~110.100.in-addr.arpa ~111.100.in-addr.arpa ~112.100.in-addr.arpa
    ~113.100.in-addr.arpa ~114.100.in-addr.arpa ~115.100.in-addr.arpa ~116.100.in-addr.arpa ~117.100.in-addr.arpa ~118.100.in-addr.arpa ~119.100.in-addr.arpa ~120.100.in-addr.arpa
    ~121.100.in-addr.arpa ~122.100.in-addr.arpa ~123.100.in-addr.arpa ~124.100.in-addr.arpa ~125.100.in-addr.arpa ~126.100.in-addr.arpa ~127.100.in-addr.arpa ~64.100.in-addr.arpa
    ~65.100.in-addr.arpa ~66.100.in-addr.arpa ~67.100.in-addr.arpa ~68.100.in-addr.arpa ~69.100.in-addr.arpa ~70.100.in-addr.arpa ~71.100.in-addr.arpa ~72.100.in-addr.arpa
    ~73.100.in-addr.arpa ~74.100.in-addr.arpa ~75.100.in-addr.arpa ~76.100.in-addr.arpa ~77.100.in-addr.arpa ~78.100.in-addr.arpa ~79.100.in-addr.arpa ~80.100.in-addr.arpa
    ~81.100.in-addr.arpa ~82.100.in-addr.arpa ~83.100.in-addr.arpa ~84.100.in-addr.arpa ~85.100.in-addr.arpa ~86.100.in-addr.arpa ~87.100.in-addr.arpa ~88.100.in-addr.arpa
    ~89.100.in-addr.arpa ~90.100.in-addr.arpa ~91.100.in-addr.arpa ~92.100.in-addr.arpa ~93.100.in-addr.arpa ~94.100.in-addr.arpa ~95.100.in-addr.arpa ~96.100.in-addr.arpa
    ~97.100.in-addr.arpa ~98.100.in-addr.arpa ~99.100.in-addr.arpa ~infinitedream.space ~ts.net
    @xingkong06
    @sunnysab
    lurenjiaMAX
        9
    lurenjiaMAX  
       9 小时 55 分钟前 via Android
    如果用 tailscale 的 exit-node 的话 所有流量都会走 exit-node.
    其中 dns 查询也是, 如果开启了 magicdns 的话, dns 查询也会转发到远程服务器的 dns 进行查询, 远程服务器会使用系统自带的 dns.
    另外, 如果你的系统开启了 ipv6, 但因种种原因远程服务器或 tailscale 没能成功给你转发 ipv6 的话, tailscale 也不管处理这个问题, 双栈的网络请求总会超时.
    lurenjiaMAX
        10
    lurenjiaMAX  
       9 小时 24 分钟前 via Android
    他这个 dns 服务器, 另一个奇怪的点是, 预先添加的 dns 记录, 用 exit-node 的时候根本不会命中;
    他自己查询的时候甚至也不会命中, 比如只在 headscale 中定义的 derp 服务器的 dns 记录.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2953 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:20 · PVG 22:20 · LAX 06:20 · JFK 09:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.