
知周所众,你吉有线校园网使用DrCOM来登录。而DrCOM早已经有很多替代方案,这样就给我们搓路由器带来了可能。
本人使用的设备是一台联想拯救者Y7000 2019 1050,一张万兆网卡(MCX4121A),一台交换机一及一台RAX3000QY。Y7000的宿主机为Proxmox8.4,安装了iStoreOS。MCX4121A作为LAN口,Y7000自带的千兆网口作为WAN口。RAX3000QY刷了NWrt,作为AP使用。(注:在本文中你所需要的只是一台安装了iStoreOS的主机,以及可以流畅访问github的网络。别的AP、交换机什么的皆为可选项。)
叠甲time:本教程不保证100%成功。并且很多操作只是摸索出来的,并不一定是最佳配置。本教程默认各位会使用putty、WinSCP等软件,会基础的Linux操作。而且你的iStoreOS主机有至少两个网口。(或者你使用的是成品路由器之类的设备,一根网线也可以,你需要连接路由器wifi来进行后续操作。但是因为wifi终归不如有线稳定,可能偶尔莫名其妙断开,所以不建议。)
1.硬件连接:小主机一个网口连接宿舍交换机,一个网口连接你自己的电脑。
2.安装iStoreOS。在固件下载界面有官方的安装教程,可以参考官方教程进行安装。在安装过程中,教程可能会有让你在终端输入“quickstart”,并改变LAN的ip。这个ip格式为192.168.x.1,x可以挑一个你喜欢的数(0-255之间的)。配置结束后在浏览器中打开iStoreOS后台。如果打不开,可能是你的网线连在了路由器默认的wan口上,或者你的网络和你的istoreos不处在同一个网段。可以尝试插别的网口看看能不能访问。可以的话就将宿舍交换机连接在默认的wan口上。如果都不可以,打开Windows设置,点击“网络和Internet”,点击“以太网”,点击“IP分配”,按照如图所示修改(x即为你先前设置的x,y不等于1,为0到255之间的数)。

保存之后应该就可以访问了。
3.修改iStoreOS配置。在iStoreOS后台,点击网络->接口,查看你的wan口是哪张网卡。

如我的wan口网卡就是eth4。再点击设备,找到wan口网卡,点击配置,将mac地址修改为自己申请有线校园网时所用的mac地址。修改完后点击“保存并应用”(本文任何的修改配置操作在修改完之后都要点击保存并应用!)回到接口,点击wan正后面的“编辑”。注意不是wan6后面的。将协议修改为“静态地址”,ipv4地址为你申请有线校园网拿到的ip地址,ipv4子网掩码为255.255.255.0,ipv4网关为你申请有线校园网拿到的网关地址。在上方dhcp服务器->常规设置中勾选忽略此接口。IPv6设置中将RA服务什么的全部禁用。
wan口修改完毕,接下来修改wan6。点击wan6后的编辑,高级设置中勾选“自动获取DNS服务器”,取消勾选“委托IPv6前缀”,“IPv6分配长度”为禁用。DHCP服务器中“常规设置”勾选“忽略此接口”,“IPv6设置”中勾选指定的主接口,RA服务什么的全部选择中继模式。
wan6修改完毕。接下来修改lan。在“高级设置”中取消勾选“委托IPv6前缀”,“IPv6分配长度”为已禁用。IPv6前缀过滤器只留下wan6一个。在DHCP服务器->常规设置中取消勾选“忽略此接口”,在IPv6设置中将RA服务之类的全部勾选为中继模式。
lan修改完毕。接下来修改DHCP/DNS。点击后台左侧“网络”->DHCP/DNS->过滤器,取消勾选“重绑定保护”。否则部分校内网站,如oa、选课、学在吉大等网站会打不开。取消勾选“过滤IPv6 AAAA记录”,否则会打不开纯IPv6网站。回到后台首页,在中间有一个“DNS配置”,将DNS服务器地址修改为10.10.10.10。
4.iStoreOS配置修改先告一段落。接下来是最难的dogcom的编译。现在切换到Linux系统(主要是这个我不会在Windows下搞(,我使用的是Ubuntu。如果你使用的是Arch/CentOS之类的可能操作有所不同)。首先下载并解压iStoreOS的源代码。地址在iStoreOS官网的"开源地址"。下载完毕后依次执行以下指令。
sudo apt update
sudo apt install libncurses5-dev libncursesw5-dev gawk git g++ make -y
cd *iStoreOS源码目录*
make menuconfig //修改Target System、Subtarget这些为你的设备所用的处理器
make tools/install V=s -j$(grep processor /proc/cpuinfo | wc -l)
make toolchain/install V=s -j$(grep processor /proc/cpuinfo | wc -l) //这两步时间较长,耐心等待
cd package && git clone https://github.com/mchome/openwrt-dogcom.git
cd ..
make package/openwrt-dogcom/compile
编译结束后,在openwrt-sdk/bin/package/你选择的cpu架构/base中可以找到编译好的ipk安装包。
5.抓包生成drcom.conf。安装wireshark和学校给的drcom认证客户端。把宿舍交换机与自己电脑连接,打开Wireshark,开启对应网卡的抓包。然后打开学校的drcom认证客户端,登陆后稍等十几秒再注销。注销后等半分钟左右,停止wireshark的抓包。将其另存为pcapng文件。将pcapng文件上传到Auto Configure网站获得drcom.conf,大概如下图所示:

但是生成的drcom.conf文件还有需要修改的地方。先填写好密码,再检查mac地址与注册有线校园网时的mac地址是否相同。(我自己试了五六次,每次都不一样)然后修改host_os为'DrCOM' + '\x00\xcf\x07' + AUTH_VERSION。如下图所示:

6.用WinSCP或者别的什么软件,将修改好的drcom.conf上传到iStoreOS的/etc中,在路由器后台的iStore中选择手动安装,将第四步中编译好的ipk包上传并安装。然后执行命令:
dogcom -m dhcp -c /etc/drcom.conf -v

出现<<< Logged in >>>并且确认能正常上网之后,就成功啦!
使用Ctrl+c终止这个命令,在iStoreOS后台的系统->启动项->本地启动脚本处,在"exit 0"之前输入 dogcom -m dhcp -c /etc/drcom.conf -d -e ,保存,重启iStoreOS之后便可正常使用。
叠甲again:本文所有内容,特别是iStoreOS修改的地方,都是我看了很多博客,参考了许多不同的方法,摸索出来的能在你吉网络环境下能正常使用的设置。加之本人其实也不知道有些设置是干什么的,和OpenWRT一贯的答辩配置界面,我的方法可能显得冗杂和不尽合理。有些东西还没有长期测试,很多问题可能还没有显露,还望大家包涵 ;)