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

tailscale 如何提高打洞成功率?

  •  
  •   zwyyy456 · 311 天前 · 8297 次点击
    这是一个创建于 311 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    我现在是在云服务上搭建了一个 webhook ,通知 nas 向其他机器发起 ping
    zhyim
        37
    zhyim  
       142 天前
    换了国内的 DERP 感觉速度还可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2703 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:06 · PVG 11:06 · LAX 19:06 · JFK 22:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.