IPv6 Only VPS使用DNS64/NAT64来访问IPv4资源

随着 IPv6 本身的普及度越来越高,越来越多的主机商提供 IPv6 only 的微型机器作为低价机型测试,比较知名的有 Scaleway(巴黎、阿姆斯特丹),EUserv的德国等,AWS、DigitalOcean 等一众一线云平台也率先推出 IPv6 作为其 IPv4 的补充。可以预见到不远的将来,会有越来越多的云平台来支持 IPv6 的流行。

IPv6 Only的VPS意思是不具有NAT4的VPS,完全不具有IPv4访问的能力,比如像Vultr这种典型的提供纯IPv6的VPS的服务商。那么问题来了,针对一些上述 IPv6 only 机器,由于绝大部份网站并没有支持 IPv6,导致这些机器无法访问到只支持 IPv4 的网站,如 Github,这时候 NAT 64 就派上用场了,NAT64通过网络地址转换(类似代理的形式),让这些IPv6 only的机器也能访问到IPv4的资源。

笔者在黑五买了一台ServaRICA的加拿大纯IPv6的VPS,年付12美金1C/1G/500G(着实便宜,当玩具嘛),记录一下我玩的历程咯( ̄▽ ̄)”

方式一:DNS64

DNS64是与NAT64搭配使用的,原理很简单,修改你的DNS到DNS64提供者的DNS,当你发出向解析到IPv4的域名的请求后,DNS会将IPv4地址按照一定格式嵌入IPv6地址中;这个返回IPv6地址会指向NAT64的服务器,NAT64网关会按照它包含的信息获取IPv4的数据并转发给你,这样一来你就能够直接访问IPv4的网站了。

提供DNS64的服务商很多,比如谷歌等,但是它们并不提供配套的NAT64,需要你自己在内网搭建一个NAT64网关。当然欧洲有一些公益组织提供免费的DNS64+NAT64服务,比如下面这两个。

下面是一些目前可用的DNS64+NAT64服务

nameserver 2001:67c:2960:5353:5353:5353:5353:5353 //level66.network 德国/美因河畔法兰克福
nameserver 2001:67c:2960:6464:6464:6464:6464:6464 //level66.network 德国/美因河畔法兰克福
nameserver 2a0b:f4c0:4d:53::1 //https://nat64.dresel.systems/ 德国/AnyCast
nameserver 2a01:4f8:221:2d08::213 //https://nat64.dresel.systems/ 芬兰/赫尔辛基
nameserver 2001:67c:2b0::4 //trex.fi http://www.trex.fi/2011/dns64.html 芬兰
nameserver 2001:67c:2b0::6 //trex.fi http://www.trex.fi/2011/dns64.html 芬兰
nameserver 2a03:7900:2:0:31:3:104:161 //https://www.tuxis.nl/blog/public-doh-dot-dns64-nat64-service-20191021(尼德兰·荷兰)

数据来源:https://nat64.xyz/
这些服务的运行状态可以参考状态页面:https://stats.uptimerobot.com/GQ5RyTJLKZ

一般修改/etc/resolv.conf的namesever值即可,不过部分系统想要永久修改需要编辑一些其他的参数,大家就自行查阅资料吧。

当然还有一种比较强硬的做法,在改完resolv.conf后直接chattr +i /etc/resolv.conf,使文件受保护而只读,这样就不会被其他的进程覆盖了。

DNS64的好处是配置十分方便,足以满足大部分的调试需求。当然弊端也十分明显,服务商会记录你三天的浏览记录以防止用于不法用途,且NAT64服务器到你的服务器速度未必非常理想。

方式二:通过该代理

选择一个IPv4/IPv6双栈的VPS,安装上代理程序,并在本地指向代理,那么就可以通过这个跳板访问IPv4的网站了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注