教你如何在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)

相關文章
相關標籤/搜索