Featured image of post nat64--解决ipv6vps访问ipv4网络问题

nat64--解决ipv6vps访问ipv4网络问题

🇨🇳每日一言:

我的辫子长在头上,诸君的辫子长在心里。—— 觉醒年代


NAT64 的核心作用

在 IPv6 普及的过渡阶段,很多老旧服务器或网站(比如某些 GitHub 的资源、老旧的 API 接口)依然只有 IPv4 地址。

  • 打破隔阂:IPv6 和 IPv4 协议互不兼容。如果没有 NAT64,纯 IPv6 的主机无法直接连接 IPv4 节点。

  • 资源节省:企业或 IDC 内部可以全部部署 IPv6,只在出口处通过 NAT64 访问外网 IPv4 资源,省去了昂贵的公网 IPv4 地址开销。

它通常和谁一起出现? (DNS64)

NAT64 很少单独行动,它通常有一个搭档叫 DNS64:

  • DNS64:当纯 IPv6 主机查询一个只有 IPv4 的域名(如 legacy.example.com)时,DNS64 会把该 IPv4 地址“伪装”成一个特殊的 IPv6 地址(通常以 64:ff9b:: 开头)。

  • NAT64:主机发起请求到这个伪装地址,NAT64 路由器收到后,将其拆包、转换成 IPv4 报文发送给目标。

设置方法

如果想在 Linux上实现或使用 NAT64,最简单的方式:

作为客户端使用

如果只是想让你的纯 IPv6 机器能访问 IPv4,不需要自己搭 NAT64,只需要更换支持 NAT64 的 DNS。

  • 方法:

修改 /etc/resolv.conf,使用公共的 DNS64 服务(例如 Google 或 Cloudflare):

1
2
3
Google DNS64: 2001:4860:4860::6464

Tuna (清华): 2001:da8::666
  • 结果:

配置完成后,会发现 ping google.com(假设它有 v4)会指向一个 64:ff9b:: 开头的地址,并能连通。

总结对比

特性NAT64传统的 NAT (NAT44)
转换类型IPv6 $\rightarrow$ IPv4IPv4 $\rightarrow$ IPv4
主要用途IPv6 孤岛访问 IPv4互联网局域网私网地址共享公网
IP依赖项通常需要 DNS64配合仅需要网关配置
热爱生活 学无止境
使用 Hugo 构建
主题 StackJimmy 设计