教你如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例)

免责声明:php

  1. 在根据本教程进行实际操做时,如因您操做失误致使出现的一切意外,包括但不限于路由器变砖、故障、数据丢失等状况,概不负责;
  2. 该技术仅供学习交流,请勿将此技术应用于任何商业行为,所产生的法律责任由您自行承担;
  3. 部分学校明令禁止使用路由器上网,相关文件请点击广东工业大学校园网责任书厦门大学校园网责任书查看。本教程仅用于交流使用,安装路由器的行为彻底是您我的意志所决定的,如您已成功安装,请在 24 小时内重置路由器至原出产状态;
  4. 请按照学校推荐的方式链接到互联网,如因我的问题受到相关校规追责,由您自行承担。

前言

本教程教您如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例)linux

本教程适合使用Drcom进行拨号上网的用户,同时,要求您的路由器支持刷入第三方系统,如openwrt。因为是针对新手的教程,因此叙述部分可能会比较冗杂,您可自行跳到不一样的章节。android

本教程以极路由1S HC5661A为例,不一样型号路由器所对应的教程略有不一样,请您注意。git

本教程非原创,在如下开发者的基础上进行改进:github

GJXSNickHopps陈浩南编程

准备工做

  • 一款支持刷入第三方系统(openwrt)的路由器
  • 该路由器已联网并得到开发者(root)权限
  • 一根网线
  • 下载软件WinSCP
  • 下载软件putty,32位操做系统请下载putty32,64位系统请下载putty64

步骤一:获取路由器root权限

极路由1S HC5661A为例,在您购买满14天后,请先登陆极路由器后台,而后依次开通、安装开发者插件ubuntu

  • [x] 开通开发者模式:“云插件”>“路由器信息”>“高级设置”>“开通”
  • [x] 安装开发者插件:“云插件”>“所有插件”>“开发者模式”>”肯定”

其余路由器可查看其余教程获取root权限。centos

步骤二:刷入不死Breed

下载Breed

Breed是一个路由器的Bootloader(Bootloader 意为引导加载器,即为用于加载操做系统的程序。它是一大类此类功能程序的统称。如今的 BIOS、UEFI、GRUB、RedBoot、U-Boot、CFE等都是 Bootloader),装它的目的是为了下一步刷入固件(ROM)。以极路由1S HC5661A为例,不一样型号下载不一样的Breed,请务必对号入座,下载breed-mt7628-hiwifi-hc5661a.bin浏览器

上传到指定目录

使用WinSCP登入你的路由器后台,其中:安全

主机名:你的后台管理地址(好比192.168.1或者192.168.1.199)

帐号:root

密码 :你的后台管理密码

端口:1022或者22(自行测试)

模式:SCP

登录成功后进入/tmp目录,将刚才下载的breed-mt7628-hiwifi-hc5661a.bin上传到这个目录

刷入Breed

使用putty64登入你的路由器后台,主机名、帐号、密码、端口均与上述相同,登入成功后键入如下命令

mtd -r write /tmp/breed-mt7628-hiwifi-hc5661a.bin u-boot

显示rebooting后等待路由重启完成,不死uboot就完成了刷入了。(注意,为了肯定百分百刷入成功,建议此时什么都不要动,等待5分钟后再进行其余操做)

步骤三:刷入OpenWrt 系统固件

下载对应的OpenWrt 系统固件

键入如下命令查看路由器CPU的型号,以肯定咱们要刷什么版本的固件

cat /proc/cpuinfo

点击这里OpenWrt Downloads下载对应型号的OpenWrt固件,以极路由1S HC5661A为例,点击下载openwrt-18.06.2-ramips-mt76x8-hc5661a-squashfs-sysupgrade.bin

以下图:

开始刷入OpenWrt固件

本小节的步骤请严格按照前后顺序操做。

  1. 用网线让路由器的LAN口与电脑的网口相链接;
  2. PC设置为自动获取IP(通常默认自动获取IP);
  3. 路由器断电(就是拔插头);
  4. 首先按住reset不放!,确保没有松开reset键后,而后,插入路由器电源;
  5. 保持按住reset 3-4秒左右,路由器灯开始一闪一闪的时候,松开reset;
  6. PC网卡获取到192.168.1.x的地址 (如未获取到手工设置),通常是192.168.1.1 ;
  7. 浏览器访问 192.168.1.1,接着你就会看到一个uboot控制台的界面。

为了保险起见,首先进行固件备份,以备不时之需。严重强烈建议极路由用户刷Breed后,第一次进入后台就备份一次,这样之后想要从新刷回官方系统时原有功能不会受到影响,仍然可以访问云平台。

如今正是开始刷入OpenWrt固件,依次点击固件更新→勾选固件→点击选择文件,选择咱们刚刚下载的openwrt-18.06.2-ramips-mt76x8-hc5661a-squashfs-sysupgrade.bin,而后耐心等待固件刷入完成。

安装完成后会自动重启,这时能够不断刷新浏览器,直到管理界面显示出来,若是没有显示,建议稍后使用192.168.1.1访问管理页面。

帐号:root

密码:默认为admin

步骤四:安装Dr.com插件

这里以广工(广东工业大学)校园网为例,其余学校请自行得到相应的Dr.com插件,若是您愿意折腾的话,能够点击这里自行编译合适本身的学校的Dr.com插件(须要较强的编程基础,建议仍是找现成的)

如下是广工(广东工业大学)校园网各个路由器相应版本Dr.com插件下载

路由器版本 下载连接
GDUT-极路由HC566一、HC5761和HC5861 下载连接
GDUT-极路由HC5661A和HC5861B 下载连接
GDUT-极路由HC5962 下载连接
GDUT-极路由HC6361 下载连接
GDUT-斐讯K2T 下载连接
GDUT-斐讯K2P 下载连接
GDUT-斐讯K1-PSG120八、K2-PSG1218和K2G 下载连接
GDUT-ramips-rt305x 下载连接

说明:因为路由器版本太多,若您在上面没有找到对应的路由器型号,建议选择本身编译(难度很低)

将下载的Dr.com插件WinSCP传到路由器/tmp文件夹下(WinSCP的使用方式上面已经阐述过)。

打开并登陆putty,进行安装Dr.com,请键入如下命令:

cd /tmp
opkg install gdut-drcom_6.0-4_mipsel_24kc.ipk

至此,Dr.com插件安装完毕。

对于没有上述对应型号路由器的广工(广东工业大学)同窗,可进行如下步骤进行编译生成本身的Dr.com插件.

1.首先路由器CPU的型号,键入如下命令查看cat /proc/cpuinfo

2.而后进入OpenWrt 18.06,根据本身路由器的路由器型号进入相应的网站,以极路由HC5661A为例,进入ramips/mt76x8,找到openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz并下载

3.在linux系统下(建议debian或者ubuntu,不建议centos),键入如下命令:

#本教程在 Debian 8.9系统下完成的

#先更新包列表
sudo apt-get update

#安装ncurses,不一样Linux版本执行不一样命令
#Debian/Ubuntu 执行下面这1条命令,2选1
sudo apt-get install libncurses5-dev libncursesw5-dev
#CentOS 执行下面这条命令,2选1
yum install ncurses-devel ncurses

#再次更新包列表
sudo apt-get update

#安装awk,执行过程当中有任何提示,请输入Y确认
sudo apt-get install gawk

#安装git,执行过程当中有任何提示,请输入Y确认
sudo apt-get install git

#在home目录下完成咱们的工做,最好不要在root下
cd /home

#在线下载咱们的openwrt-sdk,这一步网络比较慢,下载可能比较久
#若是你想加快速度,则请从其余电脑*fan*qiang*下载完成后传输到这个位置(/home)
wget https://archive.openwrt.org/releases/18.06.0/targets/ramips/mt76x8/openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz

#解压咱们刚刚下载的openwrt-sdk,假设这个压缩包已经放在/home目录下了
tar xvJf openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64.tar.xz

#进入该文件夹
cd openwrt-sdk-18.06.0-ramips-mt76x8_gcc-7.3.0_musl.Linux-x86_64

#生成key-build文件,这里不解释,有兴趣的能够本身去搜搜
./staging_dir/host/bin/usign -G -s ./key-build -p ./key-build.pub -c "Local build key"

#再进入package文件夹,并下载drcom ODP文件夹
cd package && git clone https://github.com/GJXS1980/ODP.git

#返回上层目录,也就是为了回到openwrt-sdk这个目录
cd ..

#开始编译
make package/ODP/compile

#编译到最后的时候,会弹出一个框
#首先,经过移动键盘左右键,移到SAVE,而后按下回车键,接着再按下回车键选择OK,再次按下回车键选择Exit
#最后,经过移动键盘左右键,移到Exit,按下回车键确认。
#等待几秒钟编译完成
#最终生成的yyy.ipk文件的位置为咱们所下载的openwrt-sdk目录下的bin/packages/xxx/base/yyy.ipk

4.最终生成的yyy.ipk文件的位置为咱们所下载的openwrt-sdk目录下的bin/packages/xxx/base/yyy.ipk,到这里你也有一个适合本身路由器的drcom插件了,回到步骤四安装Dr.com客户端

步骤五:配置上网

1.点击 Network(网络)-> Interfaces(接口),点击“WAN”对应的 Edit(编辑) 按钮。

  • Protocol(通讯协议):改选为PPPoE,而后点击出现的 Switch Protocol(切换协议)按钮。
  • PAP/CHAP username(PAP/CHAP 用户名):学号
  • PAP/CHAP password(PAP/CHAP 密码):校园网密码

点击 Save & Apply(保存并应用)。这时,路由器自己和有线网已经能够上网了。

2.点击 Network -> Wireless(无线)。若是提示 Disabled(已禁用)就点击 Enable(启用)。可能只有一个 2.4G 的,也可能有一个 2.4G 的、一个 5G 的。点 2.4G 的 Edit(编辑) 按钮。

  • ESSID:填 WiFi 的名字。

3.点击 Wireless Security(无线安全)

  • Encryption(加密):改选为WPA2-PSK
  • Key(密码):填 WiFi 密码

  • 点击 Save & Apply(保存并应用)

这时,WiFi 就能够正常联网啦。

4.配置dr.com客户端,这里以广工(广东工业大学)为例,进行以下配置:

  • 点击 Network(网络)-> Interfaces(接口),查看LAN的MAC地址并复制

修改Dr.com客户端的配置

配置完成后,重启路由器,耐心等待若干分钟(15分钟内),查看是否拨号成功。

步骤六:配置防代理检测

同步时间

NTP 就是用来同步两台电脑上的时钟的协议。接下来先启用 OpenWrt 自带的 NTP 服务器,而后将局域网内全部时钟校订的请求都发给路由器上的 NTP 服务器(也就是说,无视局域网内的电脑本来想要和哪台服务器同步时间,而强制将路由器上的时钟做为标准),这样局域网内全部的电脑上的时间都会变得一致。

点击 System(系统)->System(系统),只须要在管理页面中修改几个设置就能够了。

  • 配置 NTP 服务。点击 System -> System。

    • 勾选 Enable NTP client(启用 NTP 客户端)和 Provide NTP server(做为 NTP 服务器提供服务)。

    • NTP server candidates(候选 NTP 服务器)四个框框分别填写

      cn.pool.ntp.orgpool.ntp.orgtime.apple.com

点击 Save & Apply 按钮。

  • 配置防火墙转发。点击 Network -> Firewall(防火墙),而后点击 Custom Rules 标签,在大框框里另起一行,添加下面的代码:

    iptables -t nat -N ntp_force_local
    iptables -t nat -I PREROUTING -p udp --dport 123 -j ntp_force_local
    iptables -t nat -A ntp_force_local -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A ntp_force_local -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A ntp_force_local -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destination 192.168.1.1

    第六行最后的192.168.1.1须要修改成你的路由器的管理页面地址。例如,你的管理页面地址是192.168.10.1,那么这一行代码须要修改成:

    iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destination 192.168.10.1

    而后点击 Restart Firewall(重启防火墙)。

修改 HTTP 头的 UA标志

UA 中包含了操做系统版本等信息,而 HTTP 协议没有对这些信息加密,所以别人能够从这里看到这个数据包发自 Windows 电脑仍是安卓手机等(因此根据这个原理,可以实现检测到超过1台设备当即强制断网的效果)。接下来把全部 HTTP 头中的 UA 都改得同样(假装成只有一台设备,因此就不会被强制断网了)。

接下来,须要安装好 Privoxy 并正确配置,而后将全部 HTTP 流量转发给 Privoxy 代理,并在 Privoxy 中替换 UA。

  • 安装 Privoxy。进入路由器管理页面,点击 System(系统) -> Software(软件包)。
    • 点击 Update lists(刷新列表)按钮,等待几分钟。若是提示好几条“Signature check passed”那么这一步执行成功;若是卡死了,几分钟后再进入这个页面,看到了很长很长的软件列表,那也是成功了。
    • 在 Filter(过滤器)中填写luci-app-privoxy,点击 Find package(查找软件包)按钮。点击下方“luci-app-privoxy”对应的 Install(安装)按钮。若是提示好几条“Configuring xxxx”,那么就是执行成功了;若是卡死后再进入管理页面,看到有一个 Services(服务)菜单,菜单里有 Privoxy WEB proxy(Privoxy 网络代理),那也是成功了。

  • 配置 Privoxy 设置。点击 Services -> Privoxy WEB proxy。
    • Files and Directories(文件和目录):Action Files 删除到只剩一个框,填入match-all.action。Filter files 和 Trust files 均留空。
    • Access Control(访问控制):Listen addresses 填写0.0.0.0:8118,Permit access 填写192.168.0.0/16。Enable action file editor 勾选。
    • Miscellaneous(杂项):Accept intercepted requests 勾选。
    • Logging(日志):所有取消勾选。

点击 Save & Apply。

  • 配置防火墙转发。点击 Network -> Firewall(防火墙),而后点击 Custom Rules 标签,在大框框里另起一行(注意,以前已经添加了6行代码,不要把刚刚添加的几行代码给删除了),添加下面的代码:

    iptables -t nat -N http_ua_drop
    iptables -t nat -I PREROUTING -p tcp --dport 80 -j http_ua_drop
    iptables -t nat -A http_ua_drop -m mark --mark 1/1 -j RETURN
    iptables -t nat -A http_ua_drop -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A http_ua_drop -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A http_ua_drop -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A http_ua_drop -p tcp -j REDIRECT --to-port 8118

点击 Restart Firewall(重启防火墙)按钮。

  • 使用 Privoxy 替换 UA。打开http://config.privoxy.org/edit-actions-list?f=0,若是打不开,请重启路由器多测试几遍。点击 Edit 按钮。在Action 那一列中,hide-user-agent 改选为 Enable(绿色),在右侧 User Agent string to send 框中填写如下内容:

    Privoxy 3.0.26

其它所有选择为 No Change (紫色)。最后点击 Submit 按钮,再次重启路由器

  • 验证防检测效果。

    手机链接到该路由器的WIFI,使用手机(注意关闭为屁嗯后再测试)在浏览器打开http://www.atool.org/useragent.php,查看结果是否为Windows NT 6.3,而不是android或者iphone。

    注意关闭为屁嗯后再测试!注意关闭为屁嗯后再测试!注意关闭为屁嗯后再测试!

设置定时重启

因为使用了Privoxy代理,会使得全部的http流量均被转发到Privoxy,时间一旧,网络会变成异常慢。为了保证良好的网络,能够天天凌晨让路由器自动重启一遍以恢复路由器系统响应速度。

打开如下页面,键入如下代码(具体时间可自行更改):

40 2 * * * sleep 5 && touch /etc/banner && reboot   //天天凌晨2点40分路由器自动重启
40 4 * * * sleep 5 && touch /etc/banner && reboot   //天天凌晨4点40分路由器自动重启
40 6 * * * sleep 5 && touch /etc/banner && reboot   //天天凌晨6点40分路由器自动重启

提交后,而后打开如下页面,重启cron服务

至此,全部步骤均已配置完毕,能够安心上网了。

补充

完整版请点击这里打开GitHub项目地址

项目持续更新,欢迎您star本项目

License

The MIT License (MIT)

相关文章
相关标签/搜索