MentoHUST
銳捷是國內眾多大學採用的撥號客戶端,但其 Linux 版久無更新,很多使用它的用戶無法通過認證,少數能通過但容易掉線。雖然網上第三方 Linux 版銳捷客戶端不少,但都大同小異,難以通過銳捷的客戶端校驗。
本條目旨在提供一個在 Linux 下能與銳捷兼容性很好的認證客戶端 MentoHUST 使用教程,方便 Arch Linux 用戶實現銳捷撥號並上網。
安裝
安裝 AUR 中的 mentohust-gitAUR 即可。
配置與運行
網絡參數配置
MentoHUST 直接依賴 Arch Linux 內置的相關網絡參數,例如 IP、網關、DNS 等等,需要事先進行此方面的配置。
eth0
為一種網卡,且每種 PC 所擁有的網卡名稱卻不一定是這個,請自行執行 ip link
以查詢本機上正確的網卡名稱即可。不論獲取 IP 方式如何,用戶需事先從校方相關部門索取用戶名和密碼。
靜態 IP 用戶
首先一般需要事先從校方相關部門索取 IP、子網掩碼、網關、DNS 信息等,不妨假設分別為 10.10.45.49
,24
,10.10.173.1
,210.32.24.21
,以及主機所用網絡接口為eth0
。執行以下命令設置即可:
啟動網絡接口
$ ip link set eth0 up
在其網絡接口上設置 IP(後綴緊跟了子網掩碼)
$ ip addr add 10.10.45.49/24 dev eth0
在路由表上添加網關記錄
$ ip route add default via 10.10.45.1
在 /etc/resolv.conf
上添加 DNS 地址
$ echo "nameserver 210.32.24.21 > /etc/resolv.conf
動態 IP 用戶
首先同樣地要啟動網絡接口
$ ip link set eth0 up
但無須設置其它網絡參數,直接啟動 dhpcd 即可:
$ systemctl start dhcpcd@eth0.service
MentoHUST 配置
MentoHUST 參數豐富,以最大程度適應不同學校的不同銳捷認證環境。本程序使用配置文件 /etc/mentohust.conf
保存參數,雖然該配置文件是還算標準的 ini 格式文件,並不複雜。但還是有人因多加空格或;導致配置出現問題,所以不提倡手工修改配置文件來設置參數,而是直接靠命令參數配置。
參數說明
-h
顯示幫助信息。
-k
MentoHUST 支持 daemon 運行,也就是認證成功後可以關閉終端而認證不會中斷。當進入 daemon 運行方式後,是不能像沒有進入這一模式時一樣通過Ctrl+C退出的,這時如果需要退出,可以使用以下命令:
$ mentohust -k
或者
$ pkill mentohust
-w
在命令行參數中指定的參數默認不會保存到配置文件,如果需要保存,請加上該參數,例如下面這個命令將會把用戶名更新為hust,密碼更新為123456。
$ mentohust -u hust -p 123456 -w
-u,-p,-n
分別指定用戶名、密碼、網卡。如果均不指定,就會自動判斷是否需要輸入。
-i,-m,-g,-s
靜態 IP 用戶可通過這些參數分別指定學校分配的 IP、子網掩碼、網關、DNS。但由於已經在#網絡參數配置事先設定好,一般不用再考慮。
-o
指定智能重連時用來 ping 的目標 IP,例如未認證時,1.2.3.4 無法 ping 通,認證成功後可以 ping 通,就可以加上參數 -o 1.2.3.4
,當掉線且未收到伺服器下線通知時會在掉線1分鐘之內重連。除非網絡不好,一般不會掉線,掉線且收到伺服器下線通知時會在掉線後立即重連。
-t
指定認證時多少秒後仍未收到伺服器回應則重啟認證,一般保持默認即可。
-e
指定認證成功後每隔多少秒向伺服器發送一次數據以表明自己仍然在線,一般保持默認即可。
-r
由於有些學校會規定認證失敗後一定時間內不允許再次認證,所以在這期間不論發多少數據伺服器都不會響應,為了減少這種垃圾數據,MentoHUST 會在認證失敗後等待一段時間或者伺服器向客戶端請求數據時再認證,這個時間就由此參數指定,一般保持默認即可。 -r15
並不是說在認證失敗後15秒才會再次認證,如果在15秒內伺服器發來一個數據包要求開始認證,MentoHUST會放棄等待,立即開始再次認證。
-a
指定組播地址或客戶端類型,-a0
為標準 -a1
為銳捷私有,這兩個分別對應於銳捷中的標準和私有,有些學校只能用標準,有些學校只能用私有,所以如果提示「找不到伺服器」而網卡並沒有選錯,就檢查是不是這裡設置錯了。-a2
表示將MentoHUST用於賽爾認證(賽爾用 -a0
標準也行)。
-d
指定 DHCP 方式,使用動態 IP 的同學應該在這裡正確設置,一般不是 1
就是 2
,如果用 3
認證成功卻無法上網,請改成 1
試試。使用靜態 IP 的同學應該將這裡設為 0
。
-b
指定後台(daemon)運行方式,-b0
不後台運行,認證成功後,不能關閉終端;-b1
、-b2
均為後台運行,但前者無輸出,後者則保留輸出;-b3
後台運行並將輸出保存到 /tmp/mentohust.log
,可以隨時打開該文件查看輸出。
-y
指定是否顯示通知(notify),-y0
不顯示,1~20
顯示,其中數字指定通知持續時間。
-c
指定動態 IP 用戶 DHCP 時運行的腳本,一般保持默認即可。如果覺得這個輸出太多影響用戶,可以改為 -cdhclient>/dev/null
。
-q
很多銳捷用戶不清楚他們的 DHCP 方式是什麼,本參數用於顯示解密後的銳捷 SuConfig.dat
文件內容。假如銳捷所在目錄為/path/to,則執行以下命令即可:
# mentohust -q '/path/to/SuConfig.dat'
示範
某用戶獲取 IP 的方式是靜態 IP,用戶名為hust
,密碼為123456
,ping 地址為192.168.1.254
,同時以 deamon 方式保存輸出到文件。
首先按#網絡參數配置配置好 IP、網關、子網掩碼、DNS 等,然後執行:
# mentohust -u hust -p 123456 -o 192.168.1.254 -b 3 -w
運行
$ systemctl start mentohust.service
若要開機自啟動,執行以下一次即可:
$ systemctl enable mentohust.service
故障排除
提示「在網卡 eth0 上獲取 IP 失敗」
如果獲取 IP 方式是是動態 IP 的話,無須理會;否則按#網絡參數配置進行排錯。
提示「IP 地址類型錯誤」
DHCP 方式設置錯誤。使用 -q
參數查看正確的 DHCP 方式並按需修改。
提示「IP 埠綁定錯誤"
若是靜態 IP,原因是在 MentoHUST 中將綁定 IP 設置錯誤,可以通過 -i
參數修改。
提示「找不到伺服器」
一般是選錯了組播模式,在「標準」與「銳捷」中切換試試。
如果 ping 任何 IP 均出現 Destination Host Unreacheable
錯誤,請檢查下網線。
提示「不允許使用的客戶端類型」
學校禁用了 xrgsu ,使用 -v
參數指定版本號,或者複製相關文件(8021x.exe
和 W32N55.dll
,可能還需要 SuConfig.dat
)到 /etc/mentohust/
。
提示「客戶端版本過低」
和#提示「不允許使用的客戶端類型」的解決方法相同。
提示「客戶端完整性被破壞」
說明校方開啟了客戶端校驗,複製相關文件(8021x.exe
和 W32N55.dll
,可能還需要 SuConfig.dat
)到 /etc/mentohust/
。
認證成功但仍無法上網
靜態 IP 用戶未正確設置 IP 及 DNS,或動態 IP 用戶未能正確地獲取到 IP 及 DNS。
二次撥號
參見
MentoHUST 在 Google Code 的主頁
Ubuntu Wiki 條目『銳捷、賽爾認證MentoHUST』