OpenWRT 和校园网 IPv6

前不久中山大学东校区更换了 iNode 客户端的验证方式,部分宿舍的验证方式从异或校验变成了 MD5 校验。sysuh3c 的作者——听说是个已经毕业有些年的大牛校友——没几天就更新了,还有一位在校生大佬也贡献了代码。简直业界良心,膜拜之。

——2016年11月26日


这个学期开始由 SYSU 珠海校区搬迁到了广州大学城校区,上网验证的客户端也从原先的锐捷变成了 iNode(H3C)。原先所使用的锐捷客户端难以在无线路由器上实现拨号,只有淘宝上卖的基于水星洋垃圾的某 link 可以拨号,但是性能低下。于是就用 Mac mini 作为锐捷猫使用,性能虽然还不错,但对 IPv6 的支持很不好,一些局域网应用在这种网络结构下有时候表现不佳。

幸好 H3C 有多种基于 OpenWRT 的第三方拨号插件,比如 YaH3COH3Csysuh3c 等,其中前两者用 Python 实现,后者用 C/C++ 实现。实测前两者在较新版本的 OpenWRT 中稳定性不佳,因此最后采用的是 sysuh3c 来进行拨号认证。采用的路由器是网件 WNDR4300,固件版本是明月新春版,基于 OpenWRT Chaos Calmer 15.05.1 r49208。

首先前往 sysuh3c 的 OpenWRT branch,下载最新的 ar71xx ipk 文件,并 SCP 至路由器的 /root 目录。使用包管理器安装:

opkg install ar71xx.ipk

安装完毕就可以使用以下命令运行(SSH 或 WebShell):

sysuh3c -u NetID -p password -d

用自己的 NetID 和密码替换上面的参数即可。还可将上述命令添加进开机启动项(系统—启动项—本地启动脚本)。

然后配置校园网下的 IPv6。

vi /etc/config/dhcp

修改对应的配置项为:

config dhcp 'lan' 
    option interface 'lan' 
    option start '100' 
    option limit '150' 
    option leasetime '12h' 
    option ra 'hybrid' 
    option dhcpv6 'hybrid' 
    option ndp 'hybrid' 
    option ra_management '1' 

config dhcp 'wan6' 
    option interface 'wan' 
    option dhcpv6 'hybrid' 
    option ra 'hybrid' 
    option ndp 'hybrid' 
    option master '1'

保存后重启路由器,应能看到路由器 lan 口获得了与 wan、wan6 相同的 IPv6 地址,电脑等设备也获得了正确的以 2001 开头的 IPv6 地址。此时应该可以通过 IPv6 上网了。

如果在网络状态中显示 IPv4 有 Internet 访问权限而 IPv6 没有,请尝试手动重启 odhcpd 服务(系统—启动项)。

这里可以测试 IPv6 是否配置成功。

神奇的实训

这次就不打算放具体细节和源代码了,因为这部分貌似不需要我们自己做(如果要的话再说)。

所以怎么说好呢……总的来说,实训的前三天,是充实的,是辛苦的,是新鲜的。这三天最主要的事情就是对照老师给的图,自己在 Altium Designer 中将小车的红外探路这部分的原理图和线路板画出来,并且焊接好电子元件,在第三天验收。

继续阅读神奇的实训

六月总结

  • 端午节去了澳门,买了一堆吃的。
  • 为唯一一届 SMIE 毕业生拍毕业照。
  • 高考。
  • Apple WWDC Special Event.
  • 老爸生日。
  • 排球队男队纪念照、欢乐赛、男队聚餐暨换届。
  • 广东各地中考。
  • 24号期末考试完毕,晚上和家庭组去扬名吃饭,买了几本书。
  • 次日去了九洲城,买了一堆吃的。
  • 英国脱离欧盟。
  • 开始实训,内容是“智能小车应用与开发”。对比了一下目前各组的成果,产生了一点谜之优越感。
  • 今天又去了九洲城,买了一堆吃的。

长沙 Day 1

原定于 4 月 29 日晚 23 时 50 分发车的 K6624 次列车,在广州站发生大面积晚点的背景下,晚点 3 小时又 10 分钟,终于在 30 号的凌晨三点钟拉响了出发的汽笛。经过 8 个小时的不眠煎熬,我们终于在十一时许到达了长沙火车站。

【珍爱生命,远离绿车】

继续阅读长沙 Day 1

在 Xcode 控制台中输入 EOF

在终端(Terminal)中,我们可以使用组合键 control + D 来输入一个 EOF,但是此法在 Xcode 控制台中行不通。有两个在控制台输入 EOF 的方法。

  1. 按照顺序按下组合键 control + Q, control + D。
  2. 按下组合键 option + shift + /,此时控制台中会出现字符“¿”,回车即可。