前面写了一篇《俺在德国上网的十八般武艺》描述俺的上网艰难历程和各种上网方式,最后说到用中继放大器连接马尔堡大学的网络作为终极解决方式,下面就说说查找的一些资料和解决的办法。
一、查找的资料:
- 马尔堡大学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 成功能给个联系方式,教我吗
能给个联系方式,教我吗抱歉,我都忘记得差不多了
抱歉,设置的办法我都忘记得差不多了,只有这篇博文还在,我自己如果重新搞,也是需要对着这篇博文以及网上找到的一些资料慢慢来调试,我实在也没有时间来搞了,只有麻烦您自己来试了。