作者: MtZero
好想去澳门吃吃吃啊
在家里都快被憋坏了TAT
路由器连接教育网 IPv6 有问题?用 SSH 隧道苟一苟!
前几篇关于在教育网下使用路由器上网并支持 IPv6 的文章介绍了多种经路由器连接校园网的方法。由于 OpenWRT 软硬件平台的碎片化问题比较严重,往往没有一种较为通用的解决方案。对于 IPv6 来说,最常遇到的问题就是,路由器上可以访问所有 IPv6 资源,但在客户端上,往往只能获得 IPv6 地址却不能访问 IPv6 资源,甚至有时连 IPv6 地址都无法获得。主要原因还是 OpenWRT 原生对 IPv6 的支持还不够完善,暂时还做不到对 IPv6 网络的“开箱即用”。
那么,既然路由器可以访问 IPv6 资源,就表示我们可以用 SSH 建立隧道到路由器,进而访问 IPv6 资源。
在 Linux/macOS 系统下很简单,在终端中输入以下命令:
ssh -D 2333 [email protected]
# 2333、root 和 192.168.1.1 分别为代理端口、路由器管理账号和地址
# 请根据实际情况修改
输入账号密码后不要关闭终端,将网络代理类型设置为 SOCKS5,地址为 127.0.0.1,端口设置为 2333 或自己更改的值,即可。
然后,你就可以访问 IPv6 资源了。
在 Windows 下稍微麻烦一点,需要使用 PuTTY,但也不是很难,具体操作方法自行搜索一下就有。
软路由和 OpenWRT x64 2
首先是关于校园网认证的问题。一开始是想使用 sysuh3c 来进行拨号认证上网的,但是由于路由器的架构是 x64 所以原来的 ar71xx 的包不能直接用,得要自己重新交叉编译一个包。需要注意的是 OpenWRT 的工具链编译出来的包并不能在 LEDE 上直接跑,一定要用 LEDE 自己的工具链才行。本以为编译出来就万事大吉了,但是后来发现程序在一个关键的地方和工具链有不兼容的情况……看了一个星期也不知道该怎么解决,期间也联系过作者 zonyitoo,最后虽然是成功编译出来了但是并不能正常工作,遂放弃。
后来想想,反正这路由器性能这么好,用 Python 又怎样呢,于是就用了 yah3c,两分钟搞定。哦,那就这样吧。
至于 IPv6,目前还是个玄学问题。解决方案有很多种,我基本上都尝试过,但都不完美,容易断流。只要设置好了路由器的 wan6,那么路由器就可以连接上 IPv6 网络了,与后面的设置无关。局域网下的设备在大多数情况下可以获得 IPv6 地址,但是无法连接上 IPv6 网络。到现在为止使用了两种解决方案,其一是自带的 IPv6 相关服务,包括多种不同的配置方案;其二是使用 NDP,同样用了多种不同的配置方案。有少数几种可以使局域网设备短暂连接到 IPv6 网络,但都不能长期稳定使用。所以还是没有找到一个可以长期稳定使用的解决方法。
值得一提的是,利用固件内置的 Aria2 可以将路由器当做下载机,又因为路由器可以稳定连接 IPv6 网络,所以可以到一些 IPv6-only 的 PT 网站下载资源,下载速度可以达到物理极限。
澳门 2017-05-06
这次去澳门没有什么特别的目的,就是为了吃吃吃。正餐去的两家餐厅都是吃过的,味道确实都不错。
中午去的餐厅是新口岸葡国餐,在宋玉生广场附近,餐厅在高楼大厦之间,斜对面是一家 7-11 便利店。过了关闸蹭星际酒店的免费大巴到酒店,然后跟着谷歌地图走就好了。餐前会有按人头送的葡国特色的餐包。人均 MOP 200 左右。这家餐厅我每次到澳门必去。
软路由和 OpenWRT x64
寒假期间买了一款工控机,想要将它作为以后学校宿舍使用的主路由器,彻底解决一年多来性能、功能的各项短板。在淘宝上找了很久,最终只找到了现在使用的这款,既有 4 个千兆网口,又有 USB 3.0。各位留心一下也可以找到,裸机(不包括内存、硬盘、无线硬件)价格 700 多元。
之后自己为其添加了内存、mSATA 接口的 SSD 和 mini PCIe 接口的无线网卡。根据现有的使用体验,为软路由添加无线网络支持的意义不是很大。
硬件方面的优势是显而易见的。因为使用的是台式机的架构,所以如果你愿意,甚至可以给它安装桌面级的操作系统。那么由于是作为软路由使用,自然是安装 OpenWRT 最为方便使用。
我安装的是 KoolShare 发布的改进版 LEDE。 LEDE 是一个 OpenWRT 的分支版本。KoolShare 发布的这个版本包含了许多有用的插件,比如广告过滤、各种流量监控管控软件、文件分享、下载器和特殊插件等。安装好后只需要做少量配置即可开始使用。由于此固件基于 OpenWRT,而且是 x86-64 架构,所以大多数 OpenWRT 的插件可以直接拿来用,甚至某些 Linux 应用也可以不另外编译而直接在上面运行。
总之,性能强劲,扩展性好,居家旅行、杀人越货必备。一些具体的设置,比如交叉编译、认证上网、IPv6 等,以后再写文章。
珍爱生命,谨慎作死
前两天不小心把博客的根目录连同数据库一起删了。简直智障。也许我该好好休息一下了。
还好,因为最近几个月忙,没写文章,所以只是损失了几条评论。这到底是个欢快还是悲惨的故事呢?
OpenWRT 和校园网 IPv6
前不久中山大学东校区更换了 iNode 客户端的验证方式,部分宿舍的验证方式从异或校验变成了 MD5 校验。sysuh3c 的作者——听说是个已经毕业有些年的大牛校友——没几天就更新了,还有一位在校生大佬也贡献了代码。简直业界良心,膜拜之。
——2016年11月26日
这个学期开始由 SYSU 珠海校区搬迁到了广州大学城校区,上网验证的客户端也从原先的锐捷变成了 iNode(H3C)。原先所使用的锐捷客户端难以在无线路由器上实现拨号,只有淘宝上卖的基于水星洋垃圾的某 link 可以拨号,但是性能低下。于是就用 Mac mini 作为锐捷猫使用,性能虽然还不错,但对 IPv6 的支持很不好,一些局域网应用在这种网络结构下有时候表现不佳。
幸好 H3C 有多种基于 OpenWRT 的第三方拨号插件,比如 YaH3C、OH3C、sysuh3c 等,其中前两者用 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 是否配置成功。
搬迁服务器
将服务器从阿里云青岛迁移到了腾讯云广州。暂停使用又拍云和七牛云。下一步计划实行数据库读写分离。
——2016年7月5日
神奇的实训
这次就不打算放具体细节和源代码了,因为这部分貌似不需要我们自己做(如果要的话再说)。
所以怎么说好呢……总的来说,实训的前三天,是充实的,是辛苦的,是新鲜的。这三天最主要的事情就是对照老师给的图,自己在 Altium Designer 中将小车的红外探路这部分的原理图和线路板画出来,并且焊接好电子元件,在第三天验收。