TunnelBroker for EdgeRouter Lite

创建隧道

在北京联通这种不给IPv6网络的ISP下生存,总有走v6翻墙的欲望。
免费的Tunnel服务很多,最出名莫过HE.net的TunnelBroker

首先申请一个Tunnel。
访问:

注册登录之后,创建并输入当前路由公网IP “YOUR.ROUTER.INTERNET.IP”。

创建成功后会被跳转到

XXXXX的部分是一串数字,所谓的Tunnel ID.

在这个页面上选择第二个标签页 “Example Configurations
选择 “Vyatta / Ubiquiti EdgeMAX

文本框会自动生成如下配置:

remote-ip是创建时选择的远端服务器IP,local-ip本地当前的出口IP。
鉴于ISP给的IP都是动态的,所以local-ip改成如下‘0.0.0.0’。

如果之前有配置过tunnel,需要重新配置,则先删除既有的:

下面开始命令配置tunnel

Router Advert

配置完tunnel,就得配局域网内的配置了,毕竟只有路由能上v6是不够的

如果你本地的DNS规则有过配置,radvd-options 的配置一定要把ipv6地址设成路由器的v6地址

实践证明,我之前折腾了好久的dhcpv6没用,但是配置也可以贴出来

自动更新IP

之前一片EdgeRouter Lite相关的配置文章里,我把He.net提供的DDNS配置好了。Dynamic DNS on HE.net, HE.net Dynamic DNS on Ubiquiti Router.

脚本更新

首先按如下路径生成ddns专用的key

尝试过好多次,EdgeRouter Lite无法通过配置参数添加多个同类型的ddns配置。所以先提供一个简单粗暴的方法。

参考 https://forums.he.net/index.php?topic=1994.0 的说明,有如下的客户端语法:

新增文件 /etc/ppp/ip-up.d/update-tunnelbroker-ip
内容如下:

完成后给执行权限

复用ddclient配置

早先在配置DDNS的时候做过一些尝试,结果发现删除配置时 /etc/ddclient/ 目录下自动生成的配置并未被删除。
而tunnelbroker的IP更新协议跟ddns一样都是用了dyndns风格的。
所以第二个思路是自己写个配置文件(未验证)
参考模板

奇葩问题

从开始配置Tunnel到最终写这篇文章,中间隔了估计有好几个月,一直在更新IP(手动或者自动)时被提示无法连接到我的路由,HE的测试IP是 66.220.2.74
还发邮件问过那边,也怀疑了几种可能,但是确认中国的其他IP都没问题。

就在刚才,突然想到可能是路由表错了。
因为之前整理过 Google/Twitter/Facebook 的IP段(Google IP Address Ranges, EdgeOS PPTP VPN客户端配置),简单粗暴地直接把零散的IP段合并成一个个CIDR 16的网段,然后指向了我的pptpc0。
其中就有

核对了一下FB的网段,调整了路由:

TunnelBroker for EdgeRouter Lite by @sskaje: https://sskaje.me/2015/05/tunnelbroker-edgerouter-lite/

Incoming search terms: