使用常见DDns子域名可能导致电信宽带服务降级

IPv6 断连和打洞失败问题折腾了三个多月, 终于确认原因, 分享给大家.

第一次发帖求助 IPv6 断连问题

IPv6 一直可以正常访问, 没有修改设置的情况下, 且设备均有独立 ipv6, 但连不通 ipv6 网络.

curl 6.ipw.cn 拿不到返回, ping6traceroute6 2400:3200::1 都中断.

光猫桥接路由, 可以拿到路由器的 ipv6 地址, 这是可以访问 ipv6 的地址.

可以拿到/56 前缀, 路由器下设备都可以拿到分配的 ipv6 地址 240e:36f:15c3:3200::/56, 但都无法连接到 ipv6 网站.

怀疑是运营商没有建好 240e:36f:15c3:3200::的路由, 但无法确认.

网友说可能是 PCDN 上传流量过大导致, 但上传流量很小, 也没有开启 PCDN.

也可能是使用了 Cloudflare 和 Aliyun ESA 反代导致.

第二次发帖确认直接原因

确认部分地区的电信运营商会因为 IPv6 入站 http/https 链接较多而降级服务, 表现为:

  • 假 IPv6, ipv6 可以获得 /56 前缀, 各设备 IPv6 分配正常, 但 tracert 缺路由, 导致 ipv6 实际无法联网.
  • 假穿墙, tailscale 测试连接显示是直连, 但延迟超高, 实际网速极慢.

关闭 Cloudflare/Aliyun ESA 的反代, 经过多次重启路由后, 可以恢复 IPv6 和真直连.

关闭反代后仍然断连

即使关闭了反代, 关闭 Cloudflare 和 Aliyun ESA 回源, 也会偶发断链, 持续时间较长.

可能有域名泄露, 或被人使用常见子域名进行扫描, 长期 http 攻击.

禁用 DDns 域名的解析, 一段时间后, IPv6 恢复正常, tailscale 打洞直连也正常.

至此再没有发生断连问题.

最终解决方案

在此建议大家不要使用常见的 DDns 子域名, 如:

  • home.example.com
  • nas.example.com
  • router.example.com
  • ddns.example.com
  • cloud.example.com
  • dev.example.com
  • test.example.com
  • webdav.example.com

这里边有几个就是我之前一直使用的, 可能被人一直在扫, 导致电信宽带服务降级, 公网 IPv6 不能正常使用, 总是无法打洞直连.

大家都知道在网络安全中, 隐藏 IP 的重要性, 这里额外建议保护自己用于 DDns 的域名, 它本质上也是在暴露 IP.

但仍然有暴露服务的需求怎么办?

这里有两个实践方案:

  • 回源方案, 是一种中转服务, 请求先到 VPS 再到 Home Server. 由于流量跳转绕路, 延迟和带宽都会受到一定影响.
  • DDns 方案, 是直连方案, 连接体验会好很多, 推荐这种方案. 个人用一般不会超连接数限制, 但如果公开域名, 铺天盖地的 bot 几下就会把连接数升上去.

回源方案(反代)

Cloudflare Tunnel

使用 Cloudflare 的 Tunnel, 这样就不会像普通回源那样几十上百个 IP 来访问.

Tailscale 或 ZeroTier

自建 VPN, 前面套一个 VPS, 通过 VPN 来访问内网服务, 这样可以避免同时连接数过高.

DDns 方案(直连)

公网解析

生成随机字符串比如 GUID, 用于 DDns 域名, 虽然几乎无法记忆, 但个人实际使用时影响不大, 可以自行评估.

私有解析

使用个人 Dns 服务, 如:

用于 DDns 解析.

这样只有能连接到个人 DNS 服务器的人才能获取指定域名的自定义解析 IP.

在这种方案下, 就可以使用常见的 DDns 域名, 但需要避免泄露自己的 DNS 服务地址.

补充

坊间传闻, 使用speedtest做子域名有玄学加速作用.