Across the Great Firewall with IPv6

Across the Great Wall we can reach every corner in the world.

—王运丰

TMD GFW

在计算机世界里,从未有第二样东西,像 GFW 一样,让我深深地讨厌上它。

无法理解,在网络时代,这项策略的制定者究竟是何等地愚昧?为了所谓的“维持稳定”,为了所谓的“敌对势力”,不惜与世界决裂,对于“谣言”,不想去澄清,反倒是封锁。可笑可笑!

我本只操心程序事,孰料 GFW 越来越放肆,自从 Google 撤离以来,Search 时断时续,Docs 不能用,Groups 也不能用,更别提 YouTube 了。还有 Facebook、Twitter,… …。

我本不会看轮子的宣传,也对政治八卦没丝毫兴趣,但是 GFW 一股脑对这些网站 Say No,实在让我失去了查阅优秀资料的机会。于是,我尝试过 tor,但后来失效了,直到我购买了米国主机服务,使用 SSH 代理,才能”偷偷摸摸”看看这个世界。

SSH 代理固然可以满足一时之需,却不是长久之计。之所以这么讲,是因为主机服务商可以随时以违反其服务协议为名,停止 SSH 登录权限。

GFW 虽然 NB,可总归有漏洞,就像是鳌拜,满洲第一武士,却被韦小宝这混混给破了。对于 IPv6,GFW 据说还没瞧上眼,可以借道 IPv6,绕过它。

Cisco Linksys E2500

Linksys E2500

Linksys E2500

一个星期前,我入手了 Cisco Linksys E2500,熟悉了原生固件后比较失望,–缺少了 IPv6,同时,openwrt 和 dd-wrt 对其的支持还不完善,因此搁置刷机的打算。

今天无意中,查到该款路由器有更新固件,从其 release notes 里看到:

Firmware version: 1.0.02 build 4
Release date: September 2, 2011
– Adds IPv6 support.
– This build is certified with the IPv6 Ready Logo Phase-2 (Gold).
– Added the capability to simultaneously delete multiple static routes.
– Fixed a bug that failed to save more than 16 entries in the Wireless MAC Filter page.
– Fixed a bug that failed to add more than 32 DHCP clients.

谢天谢地,Cisco 给力了一把,于是从官网下载最新固件下来。

至于如何升级固件,毫无技术含量而言,只要具备中学的理解能力,就能对付过,在此略过。

Tunnel Broker

从 E2500 的 Setup -> IPv6 Setup,看到了有若干信息需要填写,于是“很天真”地打电话给长宽的客服,询问有无IPv6,接线的姑娘反问,什么是IPv6?电话转给片区的技术支持,又被问同样的问题。

作罢,甭想 ISP 能够支持 IPv6,且不说技术储备如何,只怕他们的政治准备还没开始。

寻求从 Hurricane Electric 获取免费的 IPv6 Tunnel Broker。注册流程略过,假定已经登录成功,从左侧控制面板,点击 Create Regular Broker,剩余的过程可参考网文–在家里也做了IPv6接入

IPv6 DNS

Router DNS Setting

Router DNS Setting

接入 IPv6 以后,还需要有 DNS 将域名“翻译”成 IPv6 地址才行,只有这样才能正确登录。此时,我选择了 Google Public DNS。有大牌儿在此,不必担心 DNS “污染”。

我从下面两组值里取了一组作为 IPv6 DNS:

  • 2001:4860:4860::8888
  • 2001:4860:4860::8844

如果只设置这么一个 DNS,难免会有问题,比如,Tunnel Broker 失败,IPv6 接入失败,我还是希望 IPv4 接入,也就是二者并存。所以还需要设置 IPv4 DNS,从下面两组值当中取一组。

  • 8.8.8.8
  • 8.8.4.4

注意,DNS 设置并没有设置到 E2500 当中,因为其 DNS 似乎不支持 IPv6 格式,如图 Router DNS Setting 所示。

在 Mac OS X 上设置完成以后,如图 OS X DNS Setting 所示。

OS X DNS Setting

OS X DNS Setting

Hosts

截至到这里,上述方案里有一个问题,那就是,如果一个网站,既可以 IPv4 接入,也可以 IPv6 接入,那么到底哪个优先呢?

我当然是希望接入 IPv6,如果是 IPv4,那岂不是白忙一场?所以,我需要域名到 IPv4 的本地 hosts 信息。

ipv6-hosts 正是我需要的东西,它收集了各个网站对应的 IPv4 地址,将其体添加到本地 hosts 文件中,就可以优先使用 IPv6 访问它们。

这里,我推荐使用 hg clone,克隆其全部代码到本地,这样以后就可以使用 hg pull 来更新,省去了一些麻烦。

对于 Mac OS X,hosts 文件位于 /etc/hosts,注意使用 root 权限去修改该文件。

至此,全部工作告成,不再粘贴截图,低调低调。

你应该了解真相,真相会使你自由。

—《圣经》

Leave a comment

Your comment