近日因本地网络升级至100M后原来的Cisco E2000路由略有力不从心顾有了更换之意。
E2000的硬件参数其实还不错,但是在刷了Tomato以后即使端口是显示是千兆,也没法达到NAT以后100M的速率,略有不满。
因为在去年装修的时候整个无线方案都使用了Ubnt的UniFi的AP以及软AC方案,整个效果喜人,其后在其论坛上转悠是有注意过他们的路由交换设备EdgeMax系列,恰好是属于那种硬件强大,NAT效率超高,而软件可能相对难用但是自由度大的东西,甚好甚妙,马上某著名网站搜索下单,迅速入手了这台小怪物:EdgeRouter Lite 3。
因为Ubnt的东西基本都还会带Web Interface,所以基础的配置完全可以用Web来做,马上就能上网了,
这NAT的效率真心很高:
不过随着Tomato路由的退役,紧跟而来的就是Tomato上一直以来默默工作的IPv6 Tunnel没有了。
作为一个只要Google跟Gmail就行的人来说,He.net提供的免费IPv6梯子完美的解决了90%的翻墙需求,而Tomato的Mod版本提供的IPv6隧道配置+DDNS自动IP更新则完美解决了IP地址的动态更新问题,那么问题来说,在更换设备以后是否还能使用IPv6的隧道呢?
这根本就是必须的:
He.net在隧道配置的页面上其实提供了主流能见到的几乎所有路由器系统的配置Code的自动生成工具:
这个极大的方便了我这个code废柴:
所以在隧道建立上可以说的一帆风顺,迅速就在路由上搭建起了新的V6onV4的He隧道:
直接在CLI界面Ctrl V就行,各种easy!
但是因为,我们是拨号上网啊,我们没有固定IP公网啊,我们的断网一次IP就换了啊,这隧道IP不更新的话就没用了啊。
所以,在每次拨号以后要自动更新IP是必须的,虽然自己手动更新也不是不行但是毕竟麻烦,而ERL好歹也是基于Linux开发的系统,理论上各种脚本都能支持,那自动更新脚本也就顺理成章了。
首先,HE.net在https://forums.he.net/index.php?topic=1994.0 声明了其自动更新IP的URL:
然后我们做一个简单的自动运行脚本,让系统在完成拨号后去登陆网页更新我们PPPoE端口的IP地址:
#!/bin/sh IFACE="$1" if [[ $IFACE =~ ^pppoe0 ]]; then /usr/bin/curl --silent "https://ipv4.tunnelbroker.net/nic/update?username=${He_USER}&password=${He_PW}&hostname=${He_TUNNELID}" >/dev/null 2>&1 ; fi # EOF 其中需要填入自己在He.net上的登陆用户名密码,以及所申请的Tunnel编号,编号在TunnelBroker页面的Tunnel详情的第一页第一行就有。
直接放到Edge RouteOS的
/etc/ppp/ip-up.d目录内,这个目录内的脚本会在PPPoE建立后被调用,这样就能保证拨号以后我们的IP地址被自动更新上去了。
脚本保存完以后记得chmod +x赋权
然后既可以google走起了。
在最近一次升级中,发现了在DDNS service中可以使用自定义模式了。
这就意味着理论上在新系统上我们已经可以直接使用He.net提供的DDNS服务来更新IP了,暂时还没测试过,不过如果能这样将会更加方便。
总的来说,Edge Route的系统由于是基于Debian的,开放性跟可扩展性都不低,只是国内相对来说受众较小所以文档记录交流都比较少,本文内容如有错误欢迎指正谢谢。