Contents
  1. 1. 原理
  2. 2. 实战
    1. 2.1. 设置DNS64
      1. 2.1.1. Linux 设置
      2. 2.1.2. Windows设置
    2. 2.2. 路由设置
      1. 2.2.1. Linux 下删除缺省路由
      2. 2.2.2. Windows下删除缺省路由
  3. 3. 其它

之前写过一篇关于校园网绕过计费访问外网的小文,虽然罗列了1234…各种方法,但是言之不详。现在就来详细介绍其中最简单实用不需要任何额外资源的方法:IPv6直接上网,这种方法既不需要到国外租VPS,也不需要下载什么软件,直接在电脑上简单设置,一步搞定。
废话不多说,先来效果图:这是我线看1080P的视频时的下行网速,请直接看右下角,10MB/s的速度,全是IPv6的连接,也就意味着不计流量
download speed

原理

感兴趣的人大概不多,我尽量简单地说下基本原理:IPv6和传统的IPv4采用是两套不同的地址空间,所以它们是互相隔离的(相当于语言不通),但要打通它们也并不复杂:地址翻译就可以了。即通过一个特殊的网关设备将IPv4和IPv6的地址作一个双向的映射,比如我在IPv6的网内访问weibo.com,我访问v6地址2001:778:0:ffff:64:0:7286:50a2就相当于访问V4网络里的114.134.80.162(weibo服务器的地址)。那么这个代理网关就是NAT64 server。但电脑怎么知道这个IPv6地址呢,这正是这篇文章的关键,DNS64 server 。DNS64会将v4网络域名(大部分网站是没有IPv6域名的)解析成IPv6地址,和NAT64一起完成沟通IPv6与IPv4网络的任务。
如果算一下weibo.com的v4与v6地址的后32位,你会发现它是一样的:)

实战

好的,废话说完了,开始动手吧。

设置DNS64

这里我们使用HE提供的DNS64 server:

1
2
2001:778::37
2001:df8:0:7::1

将IPv6的DNS由自动获取改为以上值

Linux 设置

Linux settings

Windows设置

windows settings

路由设置

我们的电脑都是IPv6与IPv4双栈的,不指定协议版的情况下,会缺省使用v4的网络,所以我们要将v4的缺省路由删除,使之走IPv6协议栈,否则你一打开网页,就跳到校园网关登录页了。
另外还可以禁用IPv4的DNS,这样也可以防止系统使用v4访问网络。
以上这些设置,都不能彻底解决系统选择v4的问题,某些情况下依然会有问题,最直接的方法还是直接禁用IPv4,这样操作最简单也最彻底,但是缺点是你也访问不了校内的v4网络了,比如我要用RealVNC连接实验室的服务器就连不了,因为这个软件不支持IPv6。

Linux 下删除缺省路由

1
sudo ip route del default

Windows下删除缺省路由

1
route delete 0.0.0.0 mask 0.0.0.0

好的,你打开浏览器试一下,是不是可以打开网页了?
至此全部操作就完成了,赶快去看在线视频吧,是不是憋好久了:D

其它

如果要能访问校内的v4网站如BBS,你还要加上我校局域网的路由项,如果是Linux:

1
sudo ip route add 10.0.0.0/8 via 10.210.106.1

注意10.210.106.1是我宿舍的网关,不同的地方不一样,请自己替换
windows也作类似操作即可

1
route add 10.0.0.0 mask 255.0.0.0 10.210.106.1

这时候来看一下我们的IP:
ip address
已经是国外的IP了,这是我们在v4网络的出口地址,也就是NAT64 server的v4 pool中的地址。

也就是无形中,我们over wall了,google, github, dropbox都可以用了。
dropbox connected
不过请不要干坏事,访问下google便利下学习工作就行了,免得我们的NAT和DNS Server万一被封,就要哭瞎了,因为到此大家也看出来了,这两东西才是关键,而这样的资源,要再找出一套来,不容易。

Contents
  1. 1. 原理
  2. 2. 实战
    1. 2.1. 设置DNS64
      1. 2.1.1. Linux 设置
      2. 2.1.2. Windows设置
    2. 2.2. 路由设置
      1. 2.2.1. Linux 下删除缺省路由
      2. 2.2.2. Windows下删除缺省路由
  3. 3. 其它