V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
⚡ 批量查询 1000 个域名仅需 10 秒
⚡ WHOIS MCP,Cursor 查询更方便
Promoted by polarisminors
Curtion
V2EX  ›  程序员

阿里云使用 CGNAT 地址当作内部 DNS 服务地址, 导致和 Tailscale 冲突

  •  
  •   Curtion ·
    Curtion · 15 天前 · 2161 次点击

    使用阿里云服务器运行tailscale后导致服务器无法连接外网, 经过检查是 DNS 的问题,最初怀疑是magic dns问题,在 AI 的帮助下,经过一系列的排查, 又是打印 iptables 日志,又是怀疑 ip rule, 最终终于找到问题了所在。

    tailscale默认会新增一条iptables规则-A ts-input -s 100.64.0.0/10 ! -i tailscale0 -j DROP, 但这种做法却符合RFC 6598,阿里云使用 CGNAT 中的地址当作内部 DNS 地址的做法不符合规范(AI 结论)

    阿里云和 tailscale可以看到非常多人中招...

    网上看到几个解决办法

    1. 手动删除 DROP 规则, 会再次生成
    2. 顶部增加规则, 允许阿里 DNS 通过, 也可能会被覆盖
    3. 脚本轮询(删除/增加), 增加系统维护复杂度, 随着版本更新可能失效
    4. 修改服务器 DNS, 无法使用阿里云内网产品服务, 需要更换系统源
    5. 使用netfilter-mode=off, 会导致无法访问其它节点的子网服务
    15 条回复    2025-07-16 15:58:48 +08:00
    mohumohu
        1
    mohumohu  
       15 天前
    可是 zerotier 完全不新增任何 iptables 规则
    jayeli
        2
    jayeli  
       15 天前
    之前也遇到过,没深入找问题所在,换到腾讯云了
    Shiroka
        3
    Shiroka  
       15 天前
    世界是一个巨大的草台班子
    lnbiuc
        4
    lnbiuc  
       15 天前
    有一个办法是在 VPC 网络设置里通过 DHCP Option 修改下发的 DNS
    阿里云内网服务和 Tailscale 冲突这个无解,两个都用了 10.64 网段,而且都不愿意修改
    caomingjun
        6
    caomingjun  
       15 天前 via Android
    我把 tailscale 装 docker 里了
    zsh2517
        7
    zsh2517  
       15 天前
    我目前设置了 --accept-dns=false 和 --netfilter-mode=off 。

    不过不是因为 DNS 冲突问题,而是因为不知道什么原因,会导致 ping 一个地址会有很大的等待时间(但是 DNS 过程,以及 ping 的延迟都很快。会卡在中间某些阶段)。curl 有没有忘了

    手动排查后是 ts 添加的 iptables 规则的问题。而我目前还没有网段的节点( op 提到的 5 ),就先关掉了。

    ---

    话说 5 ,如果禁用 netfilter mode 了,能不能靠手动写路由表实现访问子网
    zenghx
        8
    zenghx  
       15 天前
    我把 dns 改成了 223.5.5.5
    RobinHuuu
        9
    RobinHuuu  
       15 天前 via Android
    手工加规则就行
    realpg
        10
    realpg  
    PRO
       15 天前
    以前帮人调试遇到过一次
    内网解析不了域名

    不过阿里云这么用应该是不符合预设的用途 但是符合规范

    类似合法但不合理那种
    ligolas
        11
    ligolas  
       15 天前
    netfilter-mode=off 不会导致无法访问其他节点的子网,因为 iptables 增加的规则只是为了增加安全性,与这个 CVE-2019-14899 有关
    gam2046
        12
    gam2046  
       14 天前
    @mohumohu #1 但是我遇到过一个奇怪的问题,阿里云用 zerotier 一段时间后,一般是几天,会突发性的连不上任何其他节点,维持几分钟到半小时不等,会自行恢复。

    原因不明,猜测也许是大量的 UDP ,导致其认为被攻击了,短暂的进了黑洞
    songtianlun
        13
    songtianlun  
    PRO
       14 天前
    原来是这个原因吗。。

    我的阿里云服务器从某一天开始就一直无法正常 DNS 解析了,发工单排查了半天也没办法,后面干脆放弃了,反正也不怎么需要连外网。原来是跟 tailscalle 冲突了啊。。
    mawerss1
        14
    mawerss1  
       13 天前
    遇到了这个问题,官方文档上有给出说明可以看一下:
    https://tailscale.com/kb/1023/troubleshooting#selectively-disable-ipv4

    官方给的解决方案是选择性的在特定节点上关闭 ipv4, 试了一下确实可以解决这个问题,但是如果你的机器没有 ipv6 的话大概率不能直连了,只能靠中转服务器中转,也不算是治本了
    mawerss1
        15
    mawerss1  
       13 天前
    https://tailscale.com/kb/1304/ip-pool
    设置 ip-pool 可以解决 虽然还在 beta 中 没问题
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1170 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 23:21 · PVG 07:21 · LAX 16:21 · JFK 19:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.