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

IPv6 Only的VPS意思是不具有NAT4的VPS,完全不具有IPv4访问的能力,常见的Gullo、MRVM这种都是具有NAT4的VPS,像Vultr这种才是典型的提供纯IPv6的VPS的服务商。纯IPv6的VPS很难玩好,因为甚至连GitHub都无法访问,更别提各种一键脚本了。

笔者在黑五买了一台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服务,比如下面这两个。

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.confnamesever值即可,不过部分系统想要永久修改需要编辑一些其他的参数,大家就自行查阅资料吧

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


方式二:代理

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

如果你实在没有双栈的VPS,可以参考这一篇给自己有IPv4的VPS加个Tunnel

https://luotianyi.vc/2603.html

配置服务端

笔者在这里选的是V2ray(点击前往),服务端的安装不再赘述,为了性能考虑默认的TCP传输即可,服务端无需过多配置

配置客户端

客户端由于是纯IPv6安装,手动的就不细讲了,把安装脚本脚本下载的代码删掉,去GitHub下载对应的软件包放在/tmp/v2ray/v2ray.zip运行脚本即可

最简单的当然是临时改一下DNS64装一下不就得了

编辑/etc/v2ray/config.json,按照你的服务端修改一下配置信息重启v2ray即可(其他的加密方式你看着inbound改就是了)

{
"log":{},
"dns":{},
"stats":{},
"inbounds":[
{
"port":"1081", //HTTP方式监听本地1081端口
"protocol":"http",
"settings":{},
"tag":"in-0"
}
],
"outbounds":[
{
"protocol":"vmess",
"settings":{
"vnext":[
{
"address":"2001:2001::1", //服务端IP()
"port":2333, //服务端端口
"users":[
{
"id":"1c07df9c-xxxx-xxxx-xxxx-xxxxxxxxxxxx", //验证身份的UUID
"alterId":64
}
]
}
]
},
"tag":"out-0",
"streamSettings":{
"network":"tcp",
"security":"none",
"tcpSettings":{}
}
},
{
"tag":"direct",
"protocol":"freedom",
"settings":{}
},
{
"tag":"blocked",
"protocol":"blackhole",
"settings":{}
}
],
"routing":{
"domainStrategy":"IPOnDemand",
"rules":[
{
"type":"field",
"ip":[
"geoip:private"
],
"outboundTag":"direct"
}
]
},
"policy":{},
"reverse":{},
"transport":{}
}

系统指向本地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没必要走代理,我就加进去了,有需求自己加就行了。


当然这种方式也是只代理了HTTP和HTTPS请求,日常的wget之类是可用的,但是其他的还是不行的,如果大家知道如何配置全局代理可以指教一下ε=ε=ε=(~ ̄▽ ̄)~


https://luotianyi.vc/2701.html

Leave a Comment