前面寫了一篇《俺在德國上網的十八般武藝》描述俺的上網艱難曆程和各種上網方式,最後說到用中繼放大器連接馬爾堡大學的網絡作為終極解決方式,下面就說說查找的一些資料和解決的辦法。
一、查找的資料:
- 馬爾堡大學WLan的介紹、Wifi熱點分布情況、Linux下的認證設置
- 一篇介紹利用OpenWRT連接德國某大學網絡802.1x認證的文章
- IEEE8021X 設置及報錯的一篇讨論,其中有馬堡大學的人留言咨詢
- wpa_supplicant.conf的設置參數介紹
- OpenWRT的Wireless設置參數介紹
二、具備的條件:
很早前就查到上面的第1篇,知道馬爾堡大學可以WLan上網,然後過一陣子仔細查找Wifi熱點分布找到附近有接入點,背電腦過去幾百米可以用大學的用戶名、密碼接入使用;
查到第2篇文章,這是最接近我這裡使用環境的介紹,隻是這裡面用的Lan上網,我這裡用的WLan上網,這裡面的設備需要改安裝OpenWRT,我這裡本身就是OpenWRT(并且已經安裝插件attitude_adjustment和gargoyle),并且無需卸載wpad-mini和安裝wpa-cli/wpa-supplicant/hostapd,這些都是現成安裝好的軟件;
BusyBox v1.19.4 (2013-07-15 20:24:29 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
------------------------------------------------------------------
| _____ _ |
| | __ \ | | |
| | | \/ __ _ _ __ __ _ ___ _ _| | ___ |
| | | __ / _` | '__/ _` |/ _ \| | | | |/ _ \ |
| | |_\ \ (_| | | | (_| | (_) | |_| | | __/ |
| \____/\__,_|_| \__, |\___/ \__, |_|\___| |
| __/ | __/ | |
| |___/ |___/ |
| |
|----------------------------------------------------------------|
| Gargoyle version 1.5.X | OpenWrt Attitude Adjustment branch |
| Gargoyle revision e9259ee | OpenWrt revision r36669 |
| Built 星期一7 15, 2013 | Target ar71xx/routerstation |
------------------------------------------------------------------
三、解決的過程:
先進入shell後查看各種目錄和文件,例如/root/、/www/、/etc/、/etc/config/、/etc/init.d/、/var/run/等,了解關鍵機制涉及的文件以及可能需要修改的地方;
開始試着自己編寫一個staff.conf文件,使用wpa-eap認證方式:
ctrl_interface=/var/run/wpa_supplicant ap_scan=1 network={ scan_ssid=1 ssid="UMRnet_staff" key_mgmt=WPA-EAP eap=PEAP identity="yourname@staff.uni-marburg.de" password="yourpassword" phase1="peaplabel=0" phase2="auth=MSCHAPV2" }
然後運行這個命令來嘗試802.1x認證:
wpad wpa_supplicant -b br-wan -i wlan0-1 -D nl80211 -c /etc/staff.conf
嘗試認證過程中遇到過的一些問題和解決辦法:
- 運行上面命令後無線網絡斷掉,内部、外部無線網絡都斷掉,解決辦法:用網線連接路由器的Lan來調試;
- 找不到lan接口、wlan接口的問題,以及wlan中找不到ssid的問題,文章2中介紹的是lan,需要改conf文件為wlan,scan_ssid從0改為1等,運行的命令也與文章中不同;
- 認證不通過的問題,一般是.conf文件各種參數設置有問題,參考文章4來修改設置;
- 顯示認證通過,但接下來又顯示認證被斷開,reason=2和reason=3,查了好些資料,說是先通過了認證到後面又斷開了,百思不得其解,我又改了用戶名/密碼,直接就顯示認證錯誤,說明曾經通過了認證,但估計是後面其它地方的設置不符合還需要修改;
- 再複制staff.conf到/var/run/wpa_supplicant-wlan0-1.conf,還是不能解決,又參照文章2查看和修改/etc/config/wireless 終于是可以通過認證,ping通外面的網絡了!
再接下來就是設法用無線中繼、添加WiFi密碼、自動通電設置:
- 找了半天終于找到需要修改的核心是/etc/config/wireless這個文件,估計/www/中的web管理界面中相關的部分就是讀取和寫入這個文件,默認是不支持802.1x認證,現在人工來修改這個文件實現:
config wifi-device 'radio0'
option noscan '1'
option type 'mac80211'
option hwmode '11ng'
option macaddr '00:15:6d:ae:a3:d3'
option htmode 'HT40-'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option channel '5'
config wifi-iface 'ap_g'
option device 'radio0'
option mode 'ap'
option network 'lan'
option ssid 'WiFi'
option encryption 'psk2'
option key 'innerpassword'
config wifi-iface 'stacfg'
option device 'radio0'
option mode 'sta'
option network 'wan'
option ssid 'UMRnet_staff'
option encryption 'wpa2'
option identity 'yourname@staff.uni-marburg.de'
option password 'yourpassword'
option eap_type 'peap'
option auth 'MSCHAPV2'
這樣就算大功告成了,運行網絡重啟命令就可以實現需要的網絡功能:
/etc/init.d/network restart
這個命令運行後,/var/run/wpa_supplicant-wlan0-1.conf的内容也随之改變了,不再需要我另外設置的staff.conf或者自己修改wpa_supplicant-wlan0-1.conf,這說明wpa_supplicant-wlan0-1.conf的内容是自動從/etc/config/wireless讀取生成的,而這個wireless的設置我也是摸索了一陣子,從文章5才得到正确的設置參數資料。
四、結論和總結:
- 隻需要人工修改/etc/config/wireless就可以了,然後重新加電啟動也都可以正常運轉;
- OpenWRT真好,隻要有一定的Linux知識,多查資料、多花時間嘗試,問題總是可以解決的!
评论10
你好,請問一下你的wifi環境連接有證書嗎
你好,請問一下你的wifi環境連接有證書嗎,如果有證書該怎麼設置wireless參數你好!我不知道你說的證書指的是什麼
你好!我不知道你說的證書指的是什麼,我其實也不是太懂wifi認證方面的詳細技術細節,隻是通過上面寫的這樣的摸索,算是可以實現接入802.1X認證的網絡。可能各個學校或者單位的認證方式都有些不一樣,需要根據具體情況來查找資料、設置參數。
中繼如何設置
請問你是單卡中繼嗎?中繼如何設置?其實我對wifi的一些術語和技術也沒有很深的研究
其實我對wifi的一些術語和技術也沒有很深的研究,隻是遇到問題設法查資料再嘗試,能解決就OK,沒有深究。
我也不知道你說的“單卡中繼”是什麼,我購買的這個包含OpenWRT的無線路由器我想是應該包含了兩個無線線路的(可能算是雙卡吧),一個無線線路連接遠程wifi信号,另外一個無線線路對本地提供wifi接入信号,也算是中繼方式,我估計算是雙卡中繼。
具體設置辦法已經寫在上面了,這是802.1X認證的網絡的中繼辦法,算是比較複雜的,系統沒有默認的。如果是wpa/wep等簡單方式認證的,中繼的設置就很簡單,無線路由器自帶的web菜單就可以設置了。
謝謝答複
謝謝答複,我試試看,如果有問題再詢問你。總算是找到和我需求一樣的朋友了。
你好,看了你文章,這,這簡直是我需要的模闆。我單位的wifi也是這樣的類型,我也是折騰了好久如何中繼。看了你的文章,我深受啟發。目前買了小米路由mini,準備刷openwrt按着您的方法試試能否中繼成功。唯一和你不同的是我們單位的wifi的ssid是隐藏的。對于openwrt我還是小白一個。希望能像你請教。這種需求還是比較多的,不過實現難度确實不小
類似用這種認證方式的單位wifi應該還有一些,肯定會有人希望實現這種中繼的,隻是沒有很現成的辦法,我也是被逼無奈,費了九牛二虎之力才算是折騰出來的。你就俺我上面的辦法來試一試看,我自己現在都忘記得差不多了,隻記得當時不斷調試,連續搞了幾天幾夜,解決不了的時候睡覺都在想,有了新思路起床後再繼續調,最後算是折騰出來了,呵呵。
openwrt 用xshell 和 winscap
openwrt 用xshell 和 winscap 直接用方法5 成功能給個聯系方式,教我嗎
能給個聯系方式,教我嗎抱歉,我都忘記得差不多了
抱歉,設置的辦法我都忘記得差不多了,隻有這篇博文還在,我自己如果重新搞,也是需要對着這篇博文以及網上找到的一些資料慢慢來調試,我實在也沒有時間來搞了,隻有麻煩您自己來試了。