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

tailscale 如何提高打洞成功率?

  •  
  •   zwyyy456 · 2024-01-17 15:25:51 +08:00 · 9406 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前听说 tailscale 打洞只要有一端有公网 ipv6 地址,打洞就基本能成功,但是我实际试下来却发现不是这么回事。

    家里的 nas 是有公网 ipv6 地址的,系统为 debian ,上面运行了 tailscale ;我在单位的 mac 上也运行了 tailscale ,尝试 ping tailscale 给出的 nas 的 ip 地址,发现延迟基本稳定在 500ms 左右,显然是打洞没有成功。

    我应该如何设置,才能提高 tailscale 的打洞成功率呢?

    第 1 条附言  ·  2024-01-18 00:14:54 +08:00
    padavan 通过修改 `防火墙 -> netfilter` 处的 NAT 类型为 Full Cone NAT ,成功将网络类型修改成了 Full Cone NAT ,但是 tailscale 依旧是打洞失败。。。
    第 2 条附言  ·  2024-01-18 18:54:09 +08:00
    已经在 Mosdns 的 `direct-domain.txt` 中添加 `log.tailscale.io` 和 `controlplane.tailscale.com` 这两个域名,保证这两个域名被直接解析,返回真实 IP ,而不是返回 Fake IP ,家里和单位之间依旧无法打洞成功。。。
    40 条回复    2025-01-07 10:52:11 +08:00
    lujiaosama
        1
    lujiaosama  
       2024-01-17 15:27:44 +08:00
    持续关注, 我还准备上 tailscale 呢. 之前的 wireguard 只挂了一个晚上就被干掉了, UDP 限制太严重了.
    littlewing
        2
    littlewing  
       2024-01-17 15:29:28 +08:00
    单位没 ipv6 的话,家里有 ipv6 有啥用?
    HFX3389
        3
    HFX3389  
       2024-01-17 15:31:55 +08:00
    家里一般没问题,你得看看单位的网是不是有限制,首先单位也要有公网 IPv6 而且从出口到你的设备中间的链路都要支持才可以。
    你可以在家里的 tailscale 主机和单位的 tailscale 主机都输入“tailscale netcheck”看看命令返回的内容和结果就大概能知道具体的原因了
    HFX3389
        4
    HFX3389  
       2024-01-17 15:32:44 +08:00
    @lujiaosama #1 tailscale 用的协议就是 wireguard 诶
    totoro625
        5
    totoro625  
       2024-01-17 15:33:19 +08:00
    听说的不对:
    以下三选一
    1. 两端都能访问 ipv6 网站,其中一端有公网 ipv6
    2. 家宽是 NAT1 型,可以找运维/闲鱼获取管理员账户,设置 DMZ 主机为你的 NAS
    3. 单位是 NAT1 型
    4. 找一台 NAT1 型/公网 ip 型主机中转
    royking930911
        6
    royking930911  
       2024-01-17 15:35:04 +08:00
    单位如果没有 V6 的话 先看看 v4 地址能啥 nat 类型 NAT1 的话基本打洞都能成功 网速可以跑满 注意这里说的 v4 地址是拨号端获取的地址,过路由器或者光猫拨号的话 都会加一层 NAT
    tediorelee
        7
    tediorelee  
       2024-01-17 15:35:34 +08:00
    我说一下我的情况, 028 电信家宽只有 ipv6 公网,NAT 等级 1; 另外一端是公司的电信网,没有 v6, NAT 等级未知.
    Tailscale 打洞 100%成功率直连
    HFX3389
        8
    HFX3389  
       2024-01-17 15:39:01 +08:00
    @tediorelee #7 有点神奇~
    lujiaosama
        9
    lujiaosama  
       2024-01-17 15:44:07 +08:00
    @HFX3389 是的. wg 是直接裸奔, 被识别到就干掉了.
    royking930911
        10
    royking930911  
       2024-01-17 15:48:01 +08:00
    最好的方式还是先把光猫拨号改成桥接 路由拨号以后 dmz 给 nas
    我现在的整体方案是
    V6 直接走域名
    V4 在群晖的虚拟机里面装了一个 openwrt 做旁路油,在旁路油上面安装 tailscasle 和猫咪(为啥这么做? 群晖安装 tailscale 高负载的时候会掉网卡)
    单位搞了一个虚拟机也安装 openwrt ,安装 tailscale 以后直接组网,访问家里跟在家没区别。
    手机上安装 tailscale 客户端,出国开一下客户端 全场景都解决了
    dangyuluo
        11
    dangyuluo  
       2024-01-17 15:52:24 +08:00
    官方有一篇很好的文章,按照里面的推荐配置就行了
    https://tailscale.com/blog/how-nat-traversal-works
    zwyyy456
        12
    zwyyy456  
    OP
       2024-01-17 15:54:12 +08:00
    @totoro625
    光猫已经修改为桥接了,目前是刷了 padavan 的 redmi ac2100 负责拨号。
    那难怪了,单位无法访问 ipv6 网站。。。
    zwyyy456
        13
    zwyyy456  
    OP
       2024-01-17 15:54:51 +08:00
    比较奇怪的一点是,手机流量是支持 ipv6 的,但是手机开热点共享给 mac 用之后,发现 mac 还是无法访问 ipv6 的网站。
    zwyyy456
        14
    zwyyy456  
    OP
       2024-01-17 16:05:29 +08:00
    @totoro625 中转是说用自己的服务器搭建 derp server 吗?
    HFX3389
        15
    HFX3389  
       2024-01-17 16:12:31 +08:00
    @zwyyy456 #13 这说明手机没给你分配 IPv6 地址呗,要么你手机热点只玩 IPv4 ,要么你的 mac 没开 IPv6
    Yuhyeong
        16
    Yuhyeong  
       2024-01-17 16:18:14 +08:00
    家里昨天整了 ipv6 ,今天用 tailscale 打洞连家里电脑,用 parsec 巨慢。
    原来是 ipv4
    MillerD
        17
    MillerD  
       2024-01-17 16:19:08 +08:00
    我是家中有 ipv6 公网 单位无法访问 ipv6 但是 tailscale 基本打洞不怎么失败,同市电信
    应该不是 ipv6 的关系
    zwyyy456
        18
    zwyyy456  
    OP
       2024-01-17 16:20:59 +08:00
    @MillerD 我单位和宿舍的运营商都是移动,测试了一下,单位和宿舍的 nat 类型都是 Symmetric NAT 。
    SenLief
        19
    SenLief  
       2024-01-17 16:21:27 +08:00
    首先想的不是 ipv6 ,而是 NAT1 。
    HFX3389
        20
    HFX3389  
       2024-01-17 16:44:12 +08:00
    @zwyyy456 #18 那就是 NAT4 了,打洞困难
    daisyfloor
        21
    daisyfloor  
       2024-01-17 18:53:50 +08:00
    想请教下,这个和 Cloudflare tunnel 的区别是什么? 我看之前很多人也推荐这个
    mmm159357456
        22
    mmm159357456  
       2024-01-17 19:14:15 +08:00
    自建国内 derp 节点就行了啊
    lt0136
        23
    lt0136  
       2024-01-17 19:29:58 +08:00 via Android
    用 `tailscale ping` 命令,如果打洞成功直连的话,ping 会自动停止,如果打洞失败,会 ping 十次之后报错
    andsky
        24
    andsky  
       2024-01-17 19:43:18 +08:00
    感觉成功率不如 zerotier
    totoro625
        25
    totoro625  
       2024-01-17 20:18:23 +08:00
    可以测试一下家里的 ipv6 是否设置了防火墙:
    https://ipw.cn/ipv6ping/
    https://www.itdog.cn/ping_ipv6/
    totoro625
        26
    totoro625  
       2024-01-17 20:20:49 +08:00
    @daisyfloor #21 Cloudflare tunnel 需要经过境外的 Cloudflare 服务器进行中转
    tailscale 打洞成功相当于直连
    scal
        27
    scal  
       2024-01-17 20:23:28 +08:00
    @tediorelee #7 同
    yianing
        28
    yianing  
       2024-01-17 23:52:37 +08:00
    一端不能访问 ipv6 怎么是不能用 ipv6 直连的,还有一种可能是 ipv4 nat 打洞
    totoro625
        29
    totoro625  
       2024-01-18 08:55:21 +08:00
    光猫改桥接之后的问题找固件开发者就行

    可以试试不改桥接,nas 直连光猫,光猫设置 DMZ 主机,能否打洞
    totoro625
        30
    totoro625  
       2024-01-18 09:03:30 +08:00
    对了,软路由如果挂了梯子的话,可以关闭梯子再试一下
    因为不知道你的梯子是否阻拦了你的打洞
    软路由运行的软件越多越复杂越难打洞
    zwyyy456
        31
    zwyyy456  
    OP
       2024-01-18 09:20:56 +08:00
    @totoro625 padavan 上是没有挂梯子的,它只会将所有的 DNS 请求转发给我的 N1 上的 MOSDNS ,同时将 fakeip 路由给 N1 。
    totoro625
        32
    totoro625  
       2024-01-18 09:35:04 +08:00
    @zwyyy456 #31 可能不行,Tailscale 服务器在国外,可能把梯子 ip 识别为你的 ip ,从而打洞失败

    我如果先开 clash 再开 Tailscale 就会连接失败,但是先开 Tailscale 再开 clash 就能正常连接: https://github.com/tailscale/tailscale/issues/7288
    Edwardlyz
        33
    Edwardlyz  
       2024-01-18 09:53:31 +08:00   ❤️ 3
    @totoro625 #32 clash 开 tun 模式会这样,可以把
    log.tailscale.io
    controlplane.tailscale.com
    这两个域名加入 filter 就好了
    Edwardlyz
        34
    Edwardlyz  
       2024-01-18 09:54:17 +08:00
    @zwyyy456 #31 楼主我估计你的问题也是这样,fake ip 会影响到 tailscale
    zwyyy456
        35
    zwyyy456  
    OP
       2024-01-18 09:58:41 +08:00
    @Edwardlyz 好,我去试试,谢谢
    tsvico
        36
    tsvico  
       2024-01-19 09:56:48 +08:00
    试试在不建立连接的情况下 nas 执行 `tailscale ping mac`,即有公网 ip 的机器主动发起连接

    我现在是在云服务上搭建了一个 webhook ,通知 nas 向其他机器发起 ping
    zhyim
        37
    zhyim  
       198 天前
    换了国内的 DERP 感觉速度还可以了
    OnEvent
        38
    OnEvent  
       18 天前
    我的中转服务器是阿里云的,在杭州,然后两台需要打洞的电脑 A 和电脑 B 都在湖北,很诡异的是,电脑 A 和 B 对电脑 C 都能打洞成功,但是电脑 A 和 B 之间怎么都没办法打洞成功,这个是真的沉默了......
    OnEvent
        39
    OnEvent  
       18 天前
    @OnEvent 啊我把家里路由器的 UPnP 打开了就能稳定 100% 打洞成功了
    dejavuwind
        40
    dejavuwind  
       11 天前
    最近 UDP 收紧了嘛?之前还能打洞成功,这周开始不行了
    HomeLab 公网 IPV6 <---> Company 电信无公网 无 IPV6
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:00 · PVG 15:00 · LAX 23:00 · JFK 02:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.