【DNS64/代理】IPv6 ONLY VPS访问IPv4资源

发布于 2021-05-08  415 次阅读


本文转自:https://luotianyi.vc/2701.html

方式一:DNS64

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

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

http://www.trex.fi/2011/dns64.html
2001:67c:2b0::4
2001:67c:2b0::6

https://go6lab.si/current-ipv6-tests/nat64dns64-public-test/
2001:67c:27e4:15::6411
2001:67c:27e4::64

https://nat64.level66.network
2a09:11c0:f1:bbf0::70`

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

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

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

方式二:代理

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

配置服务端
代理工具此处不多说,客户端支持转为s5或者http即可

配置客户端
客户端由于是纯IPv6安装,敏感话题手动的就不细讲了,最简单的当然是临时改一下DNS64装一下。

系统指向本地HTTP代理
编辑/etc/profile.d/v2.sh,将以下变量指向http代理

export proxy="127.0.0.1:1081"
export http_proxy=$proxy
export https_proxy=$proxy
export no_proxy="archive.ubuntu.com, 127.0.0.1, ::1"

如果不需要代理了可以直接rm -rf /etc/profile.d/v2.sh,重启即可。no_proxy是指定不通过代理的,因为镜像站支持IPv6没必要走代理,我就加进去了,有需求自己加就行了。


天道酬勤