文章

源站只剩 IPv6,纯 IPv4 的访客还打得开吗

静水流深 昨天 14:13 · 1,347 字 · 约 4 分钟 · 24 次阅读
我发布了文章:《源站只剩 IPv6,纯 IPv4 的访客还打得开吗》

先把结论说在前面

能打开,前提是那条解析一直挂着 Cloudflare 的橙云。

访客连的是 Cloudflare 的边缘,边缘自己双栈;源站这一段走 IPv6,是回源的事,跟访客没关系。你的 DNS 里只有 AAAA,纯 IPv4 的用户确实解析不到你的机器地址,但他解析到的是 Cloudflare 给的地址。所以真正的开关不是「用不用 IPv6」,而是「代理在不在」。

什么时候会真的断

  • 把记录改成灰云(DNS only):访客直连源站,纯 IPv4 拿不到任何地址,立刻断。
  • 不走 HTTP 代理的那些端口:SSH、邮件、webhook 里直接填的 IP、非 HTTP 的游戏或自定义端口,橙云不负责它们,免费计划能代理的端口本来就有限,别指望顺带解决。
  • 源站要去访问纯 IPv4 的服务:这是反方向的问题。机器自己要拉 GitHub 上的包、调只有 IPv4 的 API,得另配 NAT64/DNS64 之类的方案,这块我没实测,动手前先确认。
  • 源站地址泄露:不管 IPv4 还是 IPv6,别人绕过 CDN 直连,防护一层都不剩。IPv6 段尤其容易被当成「没人会扫」。

这台机器干脆没有 IPv4,怎么管

便宜机器里有一类是纯 IPv6 的:不用付 IPv4 那份钱,价格立刻好看一大截。一位站长 2022 年的公开记录里,这类机器从 €1/月到 €9/年都有(他当时列了 v6Node、Hetzner 关掉 IPv4 的档位、TransIP SandboxVPS、PCextreme),价格请以官网为准。下单前先问一句:我要跑的东西能不能只靠 IPv6 出站。

机器到手后连不上去,才是最实际的问题。他的做法是全程走 Cloudflare Tunnel:

  1. 装 cloudflared,用官方包仓库(pkg.cloudflare.com)或 GitHub 上的二进制。
  2. Zero Trust 后台 → Access → Tunnels → Create New Tunnel,页面上会给出装机命令。
  3. 改 systemd 单元 /etc/systemd/system/cloudflared.service,在 ExecStart 里加上 --edge-ip-version 6,让连接器用 IPv6 出网,重启服务后连接器就会出现在后台。
  4. 给 SSH 加一条 Public Hostname,指向本机 127.0.0.1:22。
  5. Access → Applications 建一个 Self-hosted 应用,把能登录的人限制成自己的邮箱或指定分组。
  6. 本地 ~/.ssh/config 写:
Host vps
  Hostname vps-ssh.example.com
  ProxyCommand cloudflared access ssh --hostname %h

好处很实在:商家那边一个入站端口都不用开;HTTP 流量走同一条隧道,后面加应用就是在隧道配置里再添一条 Public Hostname。

换之前先验证三件事

  1. 商家说的「共享 IPv4 被 AI 爬虫拖累」是不是真的——那是论坛上的说法,自己看一眼访问日志再决定。
  2. 从一台确定只有 IPv4 的机器 curl -4 一次你的域名,别只看自己手机。
  3. 备份、监控、证书续期这些后台链路,是不是都还能走通。

这套连法我按公开记录整理,本轮没有亲测;如果你的站点有国内访客,切换前后各测一次再定。

登录 后参与评论

还没有人评论,来抢沙发