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 是否配置成功。

关于 Mac mini 外接 USB 3.0 设备干扰蓝牙工作的问题

这两天遇到了一个令人倍感困扰的问题:我的 Mac mini 在外接 USB 3.0 移动硬盘的时候,会极大地影响蓝牙键鼠的工作,严重时甚至会导致蓝牙设备与 Mac 失去连接;直到断开移动硬盘和 Mac 的连接,蓝牙键鼠才能恢复正常工作。

经过各种尝试,最终确定造成干扰的就是移动硬盘,于是向 Apple 售后询问解决的方法。事实上 Apple 方面也没有什么特别好的解决方案,对方工程师回复我说从 2014 年底开始就陆陆续续有类似的反馈,并且给了我以下这篇文章参考:

启用了蓝牙的键盘和鼠标可能无法一直保持配对或连接状态,或者启用了蓝牙的耳机或扬声器中的音频可能会不连贯。如果某些外置 USB 3.0 设备与 Mac 太接近,则会发生此问题。

简言之,由于 USB 3.0 设备在数据传输时会在 2.4GHz 附近频段产生噪音,若干扰源恰好在 Wi-Fi 或蓝牙天线附近,则会对这一频段的无线传输造成干扰。

最简单的解决办法:

  • 使用高品质的外置设备;
  • 使用 USB 2.0 设备暂代;
  • 使用带屏蔽的延长线,将产生干扰的设备放在远离 Mac 的地方。

继续阅读关于 Mac mini 外接 USB 3.0 设备干扰蓝牙工作的问题