给IPv6的VPS接入IPv4的一次经历
低情商:废物利用
高情商:循环经济:实现可持续发展的 IPv6 Only VPS 利用方式
前情提要
在之前经人介绍嫖了台 Hax.co.id 的免费 VPS,虽然是 IPv6 Only 的,但对于我们这种互联网垃圾佬来说,一切都不是问题
目前主流的能白嫖的给纯 IPv6 网络接入 IPv4 的方式有三种,NAT64/DNS64、Cloudflare Warp(使用 wgcf 生成配置)、使用代理
不过我觉得第三种可以直接划掉了,毕竟代理又不能白嫖
NAT64/DNS64
这种方式是目前较为普遍的给 IPv6 接入 IPv4 网络的方式,具体可参考维基百科
用人话来说就是,如果你是纯 IPv6 网络,使用 DNS64 就可以给一些只支持 IPv4 的网站解析成 IPv6 网站(通过 NAT64 来转换 IPv4 网站)
不过此种方式也有缺点,如图片上所写的
在有域名解析的情况下才有作用,例如你访问的是 https://1.1.1.1 ,那么 DNS64 就无效了
由于返回的解析结果跟域名所有者指定的解析结果不同,DNSSEC 校验可能会失败
由于采用了 NAT64 转换,不可避免的会出现网络延迟。如果 NAT64 服务器与你的网络延迟较高的话……(
希望人没事)NAT64 的出口 IP 是有限的,有可能会被你所访问的网站识别为滥用导致频繁需要人机验证
网络吞吐量会受限于 NAT64 服务器的吞吐量
但是 NAT64 相比于 Cloudflare Warp 也有优势,就是配置简单这配置简单多是一件美逝啊
只需要修改下系统的 DNS 即可
一些公共 NAT64/DNS64 服务
Public NAT64 Services - nat64.xyz 收集了一些公共的 NAT64 服务,并整理出了一个列表,可以作为 NAT64 服务的参考。
修改系统 DNS
我的服务器是德国的,选择 Christian Dresel 作为 NAT64 上游服务
复制其 DNS64 服务器,然后填写到系统的 DNS 里
以 Debian 为例
1 | nano /etc/resolv.conf |
将复制的 DNS 地址填写上,然后 Ctrl O 保存,Ctrl X 退出。
此时可以 Ping 一下延迟(例如全球最大的同性交友社区 GitHub)
Traceroute 的结果也很令人满意
除了纯 IPv4 没办法访问外,都挺好
Cloudflare Warp
Cloudflare 可以说是一个老牌良心厂商了,无论是旗下的 CDN,还是 Tunnel 服务(内网穿透),都透漏出了一股大厂风范(建议其他厂跟进下,要不然就是xx小厂了)
在 2019 年的愚人节这天,当其他互联网大厂还在以捉弄用户为 April Fool 为乐时,默默无闻的 Cloudflare 推出了 Warp 服务
而这项服务的底层服务,是号称最先进加密技术的 WireGuard
但目前 Cloudflare Warp 虽然已经可以在 Linux 上工作,但是在纯 IPv6 连接下还是没办法进行注册,自然也无法使用
所以这里采用另一个方案,wgcf+WireGuard
wgcf
wgcf 是一个 Cloudflare Warp 的非官方、跨平台的 CLI(此处为该项目 About)
项目地址为 https://github.com/ViRb3/wgcf
在这里主要用其注册 Warp 隧道,并生成配置
在项目的 release 下载相应的版本(例如 linux_amd64)
1 | wget https://github.com/ViRb3/wgcf/releases/download/v2.2.12/wgcf_2.2.12_linux_amd64 |
将以下两项删掉
1 | Address = fd01:5ca1:ab1e:::::/128(删除IPv6地址这一行,可能会略有不同) |
然后将 Endpoint 的地址改为
1 | [2606:4700:d0::a29f:c001]:2408 |
改成这个样子就可以了
WireGuard
以 KVM 虚拟化的 Debian 11 VPS 为例,其它系统建议参考 Installation - WireGuard
1 | apt install sudo net-tools openresolv wireguard |
一般情况下,服务商应该已经为 Debian 配置了 unstable 源,如果你的服务商没有配置 unstable 源,建议用搜索引擎搜索关键词:Debian 添加 unstable 源
临时测试 Warp 隧道可以用这个命令
1 | sudo wg-quick up cfwarp |
此时 Ping 一下延迟
Traceroute 也是正常的
测试完毕可以用这个命令关掉
1 | sudo wg-quick down cfwarp |
将隧道持久化(开机自启)
1 | 创建一个配置文件 cfwarp.conf 开机自启的 service |
结语
Warp 的优势有很多,但 NAT64 也不错。对于配置较低的 VPS 来讲,Warp 会吃掉较多性能,尤其是在进行大量数据传输时。此时 NAT64 就显得很有优势了,主要原因应该就是 Warp 的底层协议 WireGuard 在传输数据时有加解密操作,比较考验 CPU 性能。
说到底,这些毕竟是公共服务,且用且珍惜吧,不要将公共的资源肆意滥用