Skip to content
On this page

使用 DNS64+NAT64 服务访问 IPv4 网站的 IPv6 Only VPS 设置教程

在今天的互联网世界中,IPv4 资源日益枯竭,IPv6 逐渐崭露头角。然而,仍然有一些虚拟专用服务器(VPS)仅支持 IPv6,这可能导致无法直接访问 IPv4 网站。不过,通过使用 DNS64+NAT64 服务,你可以轻松地在没有 IPv4 的 VPS 上访问 IPv4 网站。本教程将向你介绍如何设置这一服务,确保你可以畅通无阻地访问 IPv4 网站。

公共 NAT64 服务的地址

首先,你需要访问一个公共 NAT64 服务。目前,有一些可靠的公共 NAT64 服务可供使用,其中最常用的是 Freenet6 和 Tayga。在继续之前,请确保你的 VPS 已正确配置 IPv6 连接。以下是两个 NAT64 服务的地址:

如何设置 DNS64

使用/etc/resolv.conf 文件设置 DNS64+NAT64 的教程

步骤 1:备份原始的/etc/resolv.conf 文件

在进行任何更改之前,首先备份原始的/etc/resolv.conf 文件,以便出现问题时可以恢复。运行以下命令:

bash
sudo cp /etc/resolv.conf /etc/resolv.conf.backup

步骤 2:编辑/etc/resolv.conf 文件

使用你喜欢的文本编辑器(如 nano、vim 或 gedit)打开/etc/resolv.conf 文件,运行以下命令以编辑文件:

bash
sudo nano /etc/resolv.conf

如果你的系统中没有安装 nano,请将命令替换为你喜欢的编辑器。

步骤 3:配置 DNS64 服务器

在/etc/resolv.conf 文件中,你需要添加 DNS64 服务器的 IPv6 地址。通常,你可以使用 Freenet6 或其他公共 DNS64 服务器。在文件中添加以下行,将 IPv6 地址替换为你选择的 DNS64 服务器的地址:

plaintext
nameserver [DNS64_SERVER_IPV6_ADDRESS]

例如,如果你选择使用 Freenet6 的 DNS64 服务器,添加以下行:

plaintext
nameserver 2001:5c0:1000::2

步骤 4:保存和退出文件

保存并退出/etc/resolv.conf 文件,使用 nano 编辑器时,按下Ctrl + O来保存,然后按下Enter。接着按下Ctrl + X退出编辑器。

步骤 5:检查 DNS64 设置

运行以下命令来检查/etc/resolv.conf 文件是否已正确配置:

bash
cat /etc/resolv.conf

确保你看到你所添加的 DNS64 服务器地址。

步骤 6:测试访问 IPv4 网站

现在,你的 VPS 已经配置了 DNS64,你应该能够使用 IPv6 连接访问 IPv4 网站,因为 DNS64 会将 IPv6 DNS 请求转换为 IPv4 请求,然后通过 NAT64 路由到 IPv4 网站。

bash
ping ipinfo.io

请确保替换ipinfo.io为你要访问的 IPv4 网站域名。如果一切设置正确,你将能够成功访问 IPv4 网站。

简单设置方法:

bash
echo -e "nameserver 2001:4860:4860::6464\nnameserver 2001:4860:4860::64" > /etc/resolv.conf

哪些 DNS64 不能用于访问 IPv4 网站

尽管有很多可用的 DNS64 服务器,但并不是所有都可用访问 IPv4 网站。在 IPv6 网络中,访问 IPv4 网站需要使用 DNS64+NAT64 服务,因为 IPv6 和 IPv4 是不同的协议,它们之间不能直接通信。下面解释为什么只有 DNS64 而没有 NAT64 的 DNS 服务器无法访问 IPv6 网站:

  1. DNS64 的作用:DNS64 是一个 DNS 服务器组件,负责将 IPv6 DNS 请求转换为 IPv4 请求。它的作用是解析域名并生成虚拟的 IPv6 地址,其中包含 IPv4 地址。这样,IPv6-only 设备可以向 IPv6 地址发送请求,DNS64 将其转换为 IPv4 地址。

  2. NAT64 的必要性:NAT64 是 IPv6 到 IPv4 的网络地址转换器,负责将 IPv6 数据包转换为 IPv4 数据包。当 IPv6 设备发送请求到虚拟 IPv6 地址时,NAT64 将 IPv6 数据包转换为 IPv4,然后将其路由到 IPv4 网站。然后,NAT64 将 IPv4 响应数据包转换回 IPv6 格式,以便 IPv6 设备理解。

因此,DNS64 和 NAT64 是密切合作的组件,一个没有另一个就无法正常工作。DNS64 负责地址解析,但无法完成 IPv6 到 IPv4 的数据包转换,而 NAT64 则负责数据包转换和路由。只有当这两者协同工作时,IPv6-only 设备才能成功访问 IPv4 网站。

下面是一个列出了一些公共 DNS64+NAT64 服务提供者的表格:

ProviderDNS64NAT64RedundancyDNS64 addressesNAT64 prefixes
nat64.net44
Dresel23
Trex22
August Internet21
Go6lab44
Tuxis11
level6611
P2P NAT643Variable
Google20
Cloudflare20

在这个表格中,"✔" 表示提供相应服务,"❌" 表示不提供,Redundancy 表示是否有冗余的 DNS64 实例和 NAT64 基础设施。请根据你的需求选择合适的提供者,并确保同时使用 DNS64 和 NAT64 服务,以便正常访问 IPv4 和 IPv6 资源。信息来自:https://nat64.net/

DNS64 和 NAT64 的区别

DNS64 和 NAT64 是两个不同的组件,共同协同工作以实现 IPv6 到 IPv4 的访问。它们的主要区别在于功能和职责:

  • DNS64:DNS64 是负责将 IPv6 DNS 请求转换为 IPv4 请求的工具。它会检查 DNS 查询,如果查询的域名只有 IPv4 记录而没有 IPv6 记录,DNS64 将会创建一个虚拟的 IPv6 地址,将 IPv4 地址嵌入其中,然后将此虚拟 IPv6 地址提供给客户端。

  • NAT64:NAT64 是一种网络地址转换技术,负责将 IPv6 数据包转换为 IPv4 数据包和相反。当客户端使用 DNS64 获取到虚拟的 IPv6 地址后,NAT64 会将 IPv6 数据包转换为 IPv4 数据包,并将其路由到 IPv4 网站。然后,它会将 IPv4 响应数据包转换回 IPv6 格式,以便客户端能够理解。

总的来说,DNS64 负责地址解析,而 NAT64 负责数据包转换和路由。它们协同工作,使得 IPv6-only 环境能够访问 IPv4 资源。

上次更新于: