本文主要目的在于让你的路由器能自动连接学校的校园网并且能发出WIFI让所有设备使用。要注意的是这篇作者呕心沥血写的超级傻瓜教程是主要针对中山大学东校区使用H3C客户端(例如iNode)连接校园网的同学。但是这篇文章稍作迁移可以应用到其它的学校网络,以及其它所有可以安装OpenWRT的路由器,只要你能动一下自己的小头和小手。
Step 0 : 为什么要这么做?
(注:这个教程理论上可以应用到其它能装上OpenWRT系统的路由器。)虽然电脑可以将校园网发WIFI供其它设备使用,但是这样始终不方便,要开机,要输入start hostednetwork等命令比较麻烦,不如一步到位直接买个便宜一点的路由器发WIFI好了,WR703N就是一个比较不错的选择。注意以下安装过程主要针对中山大学东校区使用H3C客户端(iNode)连接校园网的同学。
Step 1 : 下载OpenWRT针对WR703N的版本
先到http://wiki.openwrt.org/toh/tp-link/tl-wr703n#flashing官方页面下载squashfs-sysupgrade.bin(这个版本不带LuCi,一个图形界面管理路由器的程序,可以下载另外一个squashfs-factory.bin就是自带了)。下载完成后将其重命名为openwrt.bin(因为长的文件名可能会导致升级出错)。
20150324更新:有网友反映找不到squashfs-sysupgrade.bin这个文件了,其实下载squashfs-factory.bin也可以,如果不知道链接可以使用这个:http://pan.baidu.com/s/1c0vqoV2。另外是,有的版本的wr703n可能因为固件版本比较新(或者其它原因),在你下面用到这个bin文件的时候,提示版本不对之类的错误,这种情况下需要各位自行Google或者百度一下查找一下解决方法。成功安装后,再按照本文所说的步骤继续走。
Step 2 : 为WR703N安装上OpenWRT
将WR703N接上电源之后,就会发出wifi了,发出的wifi名字应该是TP-LINK-xxxxxx之类的。连接后在浏览器访问“192.168.1.1”,输入默认密码“admin”,然后在左边找到“系统工具”->“软件升级”,点击“浏览”,找到刚才的openwrt.bin,然后确定,问是否确定升级点是就可以了。等待进度条读完。
Step 3 : 第一次连接到OpenWRT
这个时候进度条已经读完了,找一根网线连接你的WR703N和你的电脑,然后如果电脑的系统是类Unix系统(包括MAC OS X)在控制台中输入:
telnet 192.168.1.1
如果是Windows系统,那么就下载putty并运行,连接地址(Host Name(or IP address))填“192.168.1.1”,连接类型(Connection type:)是“Telnet”,端口(Port)应该会自动填上“23”,连接后,用户名输入“root”。
Step 4 : 设置以后连接到WR703N系统的密码
成功后就进入WR703N的控制台了,输入命令:
passwd root
来修改WR703N的密码,记住这个密码需要具备一定的复杂性,如果你在修改过程中弹出类似“bad password”之类的字眼,证明修改失败,重新输入passwd root来修改吧。
Step 5 : 第一次安全连接到WR703N
修改成功后输入命令exit,对于类Unix系统的用户,这个时候再用“telnet 192.168.1.1”就无法连接上去了,这个时候必须使用ssh登陆。运行这个命令:
ssh root@192.168.1.1
很多人会忘记“root@”导致登陆失败。输入密码成功登陆显示欢迎界面。注意:以后你可能因为自己的误操作或者其它原因,会提示“Host key verification failed”之类的字眼,如果是使用类unix系统,那么久前往~/.ssh下,打开know_hosts文件,删除开头为192.168.1.1的那行,保存并退出然后重新ssh root@192.168.1.1即可。
对于Windows系统用户,要连接只需要将连接类型从“Telnet”改为“SSH”就可以了,这时的端口号应该会自动填上“22”。
Step 6 : 让WR703N发出WIFI
成功连接到WR703N后运行以下命令:
cd /etc/config
然后运行命令:
vi wireless
这里可能有人不知道vi这个编辑软件怎么用,这里先说最基本的知识,vi有两个常用模式,一个是普通模式(初始默认的模式),另外一个是编辑模式(就是可以像文本编辑器一样输入删除文字的)首先大家按“i”这个键进入输入(input)模式,像使用普通文本编辑器一样使用就可以了。有个地方新手要注意一下,在vi下按退格键虽然内容好像没有删除,实际已经删除了,你继续输入就可以了。将“option disabled 1”这行前面加一个”#”注释掉,然后将config wifi-iface那一栏以下的内容改为如下(记得“option disabled 1”用“#”注释掉):
config wifi-iface option device radio0 option network lan option mode ap option ssid 热点名称,自己写(例如“OWIFI”) option encryption psk2 option key 热点密码,自己写(例如“1234abcd”),这个不是WR703N的密码不要搞错了
修改完后按下“Esc”键返回到vi的普通模式,然后输入以下内容(就是保存并退出):
:wq
然后我们让设置生效,输入命令:
reboot && exit
然后就可以看到这个设备发出来的WIFI了,连接之。连接好WIFI后,把电脑和WR703N之间的网线拔掉。
下面加了删除线的内容请直接跳过,有想问我怎么回事的可以直接回复问我。
接下来我们需要为WR703N安装sysuh3c客户端,有两种方法:第一种是让WR703N先连接到一个WIFI(没错让这个发WIFI的东西去连WIFI哈哈)然后进行文件下载升级等,第二种方法是直接先将sysuh3c客户端下载放在电脑中,然后再通过winscp这个软件将sysuh3c传输到WR703N中。对于新手建议使用第二种方法,比较便捷。
方法1(失败了,因为这个版本的wget不支持https,而且即使升级也会提示空间不够无法打开升级包):
打开/etc/config下的wireless文件,然后将config wifi-iface那一栏以下的内容改为如下:
config wifi-iface ‘wlan0’
option device radio0
option network wan
option mode sta
option ssid WR703N要连接的WIFI的名称
option encryption psk2
option key 连接的WIFI的密码
保存退出。然后打开/etc/config下的network文件,首先将“config interface ‘lan’”以下的”option ipaddr 192.168.1.1″改为”option ipaddr 192.168.10.1″,然后在文件的最后加上以下内容:
config interface ‘wan’
option ifname ‘wlan0’
option proto ‘dhcp’
保存退出。然后运行命令reboot && exit。过一阵后,重新ssh登录,注意命令变为ssh root@192.168.10.1。登录完成后可以测试以下是否可以联网,使用命令ping www.amazon.cn,如果能ping通,那么就OK啦。接下来就升级WR703N的OpenWRT系统并且直接下载sysuh3c客户端吧,命令如下:
opkg update
opkg install wget
cd ~
wget https://github.com/zonyitoo/sysuh3c/raw/openwrt/sysuh3c_0.2-1_ar71xx.ipk
Step 7 : 下载在WR703N上能连接校园网的sysuh3c客户端
接下来,下载编译好的sysuh3c客户端到你的电脑,地址是:https://github.com/zonyitoo/sysuh3c/raw/openwrt/sysuh3c_0.2-1_ar71xx.ipk。下载后重命名为sysuh3c.ipk即可。
Step 8 : 把下载好的sysuh3c客户端放到WR703N上
我们要将下载好的sysuh3c.ipk放到WR703N的/tmp目录下,如果是类Unix系统,则直接通过scp命令把下载好的这个文件复制到WR703N的/tmp中,命令是:
scp ~/Downloads/sysuh3c.ipk root@192.168.1.1:/tmp
输入密码后就传送成功了。
如果是Windows系统,先下载WinScp这个软件,运行之(如果是压缩包记得解压缩后运行),文件协议(File protocol)选择“SCP”,主机名(Host name:)填写“192.168.1.1”,端口号(Port number:)填写“22”,用户名”User name:”填写“root”,密码“Password:”填写你们之前设定的WR703N的连接密码就可以了,然后点击“登陆”(Login),中途会弹出一条提示信息点击“否”(No)就可以了,然后如果弹出一条错误信息,点击“好”(OK)忽略之即可。然后你就可以看到左边是你的电脑上的文件,右边是WR703N的文件,在右边先双击第一个文件夹(名字是“..”),然后双击“/tmp”这个文件夹,然后在左边找到你的sysuh3c.ipk文件,把这个文件从左边拖到右边就可以了。然后在右下角找到“F10 Quit”类似字样的图标,点击退出(弹出的提示框点“OK”)就可以了。
Step 9 : 让WR703N安装sysuh3c客户端
接下来ssh到WR703N(类Unix系统直接ssh,Windows系统用putty),然后就可以安装sysuh3c.ipk这个文件,命令如下:
cd /tmp opkg install sysuh3c.ipk
安装完毕,已经成功一大半了。输入命令“sysuh3c –help”就可以看到操作提示了。例如-u后面是指定你的NetID,-p后面是指定你的密码,-d是让其在后台运行,-l是将当前已经登陆的NetID下线等,下面会大致讲怎么使用。
Step 10 : 为WR703N连上校园网作最后的准备
这个时候,我们编辑/etc/config下的network,输入命令:
vi /etc/config/network
将”config interface ‘lan'”下的“option ifname ‘eth0’”这一行用”#”注释掉
并且在文件最末尾加上:
config interface 'wan' option ifname 'eth0' option proto 'dhcp'
重启路由器:
reboot && exit
Step 11 : 第一次让WR703N连接校园网,电脑连上WIFI后可以上网啦
重新ssh到WR703N(类Unix系统直接ssh,Windows系统用putty),将WR703N与校园网接口用网线连接,然后输入以下命令尝试让WR703N连接校园网:
sysuh3c -u 你的账号 -p 密码 -d
“你的账号”替换成你的NetID,“密码”替换成你NetID的密码。如果没有error字样,并且你的电脑连接WR703N发出的WIFI后可以上网,那么就是成功了,如果没有成功可以回复问我,应该是有地方配置错了。
上面的“-d”意思就是在后台作为常驻进程来运行。
Step 12 : 让路由器在每次启动时自动连接校园网
然后我们就要设置路由器启动时自动连接校园网啦,先断开校园网输入命令:
sysuh3c -l
然后编辑/etc下的rc.local文件:
vi /etc/rc.local
在“exit 0”前面加上以下内容:
sysuh3c -u 你的账号 -p 密码 -d
然后保存并退出(先按“Esc”返回到Vi的普通模式,再输入“:wq”)。然后重启路由器:
reboot && exit
路由器重新启动并且电脑连接上WIFI后,电脑应该就可以自动联网了。
Step 13 : 最后一小步,解决电脑连接WIFI后无法观看校园网的IPTV问题
最后,由于有人发现了无法连接中山大学的网络电视,所以编辑/etc/config下的dhcp文件,将“option rebind_protection 1”中的1改为0就可以了。记得要重启路由器:
reboot && exit
或者不改也可以,以后要看中大网络电视,就直接在浏览器输入172.20.2.2也可以。
————————————教程结束————————————
至此教程就全部结束了,如果有神马问题欢迎留言问我。另外……如果有人问《APUE代码注记》这篇博文为什么不更新了,是这样的,我发现代码按照文章开头的配置后基本都可以运行,也没有人反映哪一章节的代码有问题,加上最近在做毕业设计,所以就暂时更新得慢点了。
本文中的资料,部分参考自:
http://wiki.openwrt.org/doc/start
http://wiki.xinchejian.com/wiki/Install_OpenWRT_on_TPlink_WR703N
http://blog.csdn.net/killzero/article/details/8607276
http://blog.csdn.net/killzero/article/details/9155245
- C++类、结构对象「内存布局/内存结构」浅析
- 用『OpenWRT』进行WIFI接力——扩大WIFI覆盖范围
前面的设置都没问题,用 sysuh3c 命令可以让设备上网,但是在 /etc/rc.local 添加命令以设置开机启动无效。LZ 有遇到这样的问题吗?或其他的开机启动方案?
开机启动无效?你重启路由器后进入路由器,查一下看sysuh3c这个程序有没有运行,有的话sysuh3c -l先断开,然后把rc.local里面那句开机启动的拷贝到shell执行看行不行
这个我也疑惑了许久,最后发现是执行 rc.local 时路由还没拿到 IP 导致命令执行失败,所以最简单的方法就是在命令前先 sleep 10几20秒就好了
我的配置都弄好了,但是在最后sysuh3c -u 你的账号 -p 密码 -d
那儿换上我的id和password就提示failure,然后换其他舍友的id和password都没问题…本身我的账户是正常使用的有打给网络中心问过。。。不存在欠费的情况。。。
很好,今天设置了一整天终于成功了。非常感谢。之前配置时出了一个错误,eapauth-awth error,不知道是什么回事?能解答不?谢谢了
用户名或密码错误?不过最终成功了就OK
我搭完了可以用,非常感谢! 但是wifi登陆不需要密码= =请问是在那里设置的,我搜了一下没找到
请参见“Step 6”的“option key”,这个就是设置你的WIFI密码的。如果你已经设置了但是没有生效,可以重新设置一个,然后重启路由器,再拿手机重新连一次试试
,你好,这个买一个普通的路由器就可以了么???还是有特别的要求,一般的路由器也没说它能不能安装那个软件呢…….
最好买本文所用的路由器,TP-LINK的WR703N。买其它路由器的话,你要首先去openwrt的官网看一下是否支持你买的那个路由器,如果支持的话,那可以买。但是安装openwrt的过程可能与本文所说的有些区别,但区别不会太大。
想必這麼有心的必定是師兄了,
我想問一下師兄sysuh3c是師兄自己寫的嗎?
哈喽~这个sysuh3c不是我写的,是我们班一个牛BB的花名叫腾腾的师兄写的,他的github是:https://github.com/zonyitoo
哦哦 好厲害的樣子
是這樣的 我們課題想要做個差不多的東西
就是功能會有點不一樣
?_? 我們的設想是自己設計一個頁面讓用戶操作
我想問一下要寫這種文件大概需要用到哪些知識呢?
對大一學生會不會很難啊。。。
有界面的你可以联系这位师兄:https://github.com/zonyitoo。我没做过,所以没法评估具体的投入要多少,不过拍脑袋想,感觉成本不高
好!謝謝師兄!
事業順利哦
btw 我都係廣東人 😀
广东老乡好!
到了设置NetId上网账号密码的时候出现了:
EAP Auth Start
ERR: eapauth_auth error : 2142735072
请问是什么问题啊。。。
感觉是账号或者密码或者你执行命令的格式不对?
请问迷你路由器wr710n是不是除了第一步不一样其它都差不多?
应该是,你要去openwrt的官网查对应710的设置
请问wr710n这个是不是不行啊?
应该行吧,我看openwrt的官网好像也有这个型号:http://wiki.openwrt.org/toh/tp-link/tl-wr710n
带.bin的链接戳开都是404NOT FOUND。换了703n,问题同楼下
sysupgrade.bin这个文件我找不到了,不过你可以试一下带Luci界面的那个版本,就是文中提到的另外一个,如果网页上的点不了可以到这里下载试一下:http://pan.baidu.com/s/1c0vqoV2
还是上传文件版本与机型不符>_<
我发现了……你的型号是wr710n吧……?你需要找对应wr710n的bin文件才行
我后面都换成703n了,真的!710n被我收起来了!用703n,提示上传文件版本与机型不符
我搜了一下,好像也有其它人出现这个问题,应该与你购买的703n中的固件版本有关。你可以查查有没有相关的解决方案。
现在是你靠自己的时候了……
哦。。。谢谢~
师兄,请问在第二步中,找到刚才的openwrt.bin,然后确定,为什么会提示
“错误代码:18005
上传的文件版本与机型不符。”
请问该如何解决呢?
你用的是703n吗?不是的话去官网找对应你的路由器版本的bin文件。
你下载的是页面里面的版本不?试一下这个:http://pan.baidu.com/s/1c0vqoV2
师兄,hiwifi 可以按照以上步骤安装吗?今天作死,升win10,导致inode没反应,只好搞路由器了,本人小白!
hiwifi本身是不是就有连接校园网等比较hack的功能?你可以在网上查一查。如果是说像本文所说的那样安装OpenWRT,理论上是可以的,但是实际怎么操作也需要你自行Google或者百度一下
我查了hiwifi本身就是基于openwrt开发的,所以,应该是可以的,谢谢啊
您好LZ,我在验证的出现了
ERR: eapauth_auth error : 2142735072
后来我把网线从WAN口换到LAN口就可以了。我的路由器是有1个WAN口和4个LAN口,按照道理来说WAN是进口,LAN是出口的。
我觉得应该是和/etc/config下面的network文件有关,但是不清楚具体什么原因,请赐教~~
咳咳···虽然我对计算机网络不熟,但是我对这个问题挺感兴趣的。你的network和wireless文件是不是按照文章配置?另外就是你输入ifconfig,看看eth0的内容是什么
你好,我已经研究出来了。因为在默认情况下sysuh3c命令指令的是etho网卡,所以你的step10需要注释掉LAN的网口0,让WAN强制使用网口0 (路由器的物理网口eth0对应LAN口,eth1对应WAN口),所以会出现我上面描述的情况。
在命令后面加个参数就好了
sysuh3c -u netid -p password -i eth1 -d
我也遇到同样的问题,可以看一下你完整的配置文件吗?
师兄~~~请问可以出个苹果系统的版本吗,还是同样操作就好了?谢谢!
操作与类unix系统的是一样的
你好,我已经毕业了,想继续使用路由器,请问如何从openWRT再恢复原来的路由器程序,也是WR703N,多谢!
你可以搜索“openwrt pppoe”来找到答案。因为我没有具体操作过,所以不好作说明
請問你有沒有編譯ipk包的方法?
交叉编译?
楼主能写一下ipv6的教程么,非常感激
为何我的评论显示不出来。。。。。。。师兄可以写个IPV6的教程么
因为是新用户,忘记通过评论内容了……现在我不在学校,也没有研究这个了。
这个版本的客户端只使用了标准库,不需要pcap库,好厉害,只是代码有点难读懂。
刚开始使用水星MW305R不成功,下载的OpenWRT无法升级,好像是内存的问题吧!现在换了这个TL-WR703N,成功的解决问题了,以前我是装了个deepin系统,使用yah3c连接校园网认证在第一步就停住不动了,师兄可知道怎么回事?
不过现在有WIFI用了,师兄真牛逼,谢谢诶!
主要是提供信息比较少,例如当时有没有打出来什么日志或者提示啥的,另外是你怀疑的内存问题这些,如果有数据那些可能还能推测下。哎,惭愧,不是我牛逼呀,我也只是用别人写的工具而已哈哈
求教,我最近也在弄路由器,njit-client和贴子里面的sysuh3c都试过,但是都显示MD5认证错误,我可以提供详细的日志,希望您能帮帮我呗,谢谢
身边有其他同学成功不?互相参照下。如果H3C的一些验证方式改了那暂时无解了……不过如果不是这个问题的话,你微博私信我一下你的执行语句和日志什么的。先说明啊不一定能帮上忙,这个东西我没看过源码,如果要到看源码那步,估计你那边看还收获大一点。
在Ma下telnet 192.168.1.1无法登录路由器
显示:
Trying 192.168.1.1…
telnet: connect to address 192.168.1.1: Operation timed out
telnet: Unable to connect to remote hostq
将机器通过网线连接到路由器没?
如果连接了,看一下你的本地网卡(就是连接网线的那个网卡设备)的IP是多少,记录下IP地址,然后修改为192.168.1.xxx试一下,xxx不要填0,1,255就行。
以后记得要改回来。
你好!请问安装sysuh3c时发生如下错误怎么回事啊?
root@OpenWrt:/tmp# opkg install sysuh3c_0.2-1_ar71xx.ipk
Unknown package ‘sysuh3c’.
Collected errors:
* pkg_hash_fetch_best_installation_candidate: Packages for sysuh3c found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package sysuh3c.
编译好的这个包不适用于你的系统。你需要使用源码重新进行编译生成一个适合你当前系统的ipk才行
现在在宿舍纯校园网环境- -可以有同学开热点,除此之外没法路由器联网。有什么办法下载依赖库吗。。还是说只能一个一个手动下载。。。
如果你是自己编译的话,只能是看缺什么然后下载什么了,或者软件说明里会说自己依赖了哪些库,下载下来后,编译的时候链接进去
我的配置都弄好了,但是在最后sysuh3c -u 你的账号 -p 密码 -d
那儿换上我的id和password就提示failure,然后换其他舍友的id和password都没问题…本身我的账户是正常使用的有打给网络中心问过。。。不存在欠费的情况。。。
那多半是输入的问题···虽然这个不怎么可能会出错,但如果别人的都正常那么你的不应该会出问题。除非你同时在电脑登录了你帐号,又想在OpenWRT登录···
我客户端是下了线的,然后密码改为了和舍友的一样,账号也没有输入问题但就是不行。。。。昨天刷了其他版本后就解决了,但是还是不知道当初为啥不行
你好,我是另外一所大学的学生,用了针对我们学校的njit-client 已经验证通过,出现success,为什么路由器还是连不上网?
路由器本身连不了网还是你的电脑连路由器后连不了呢?如果是后者目前我也帮不上啥忙···
wr740n能用吗?
可以看一下OpenWRT官网有没有它的固件。我对这个没有深入去研究
请问,我在电脑上用putty那里的命令行配置完之后(输入netid用户名密码之类的),关闭命令行窗口,过了一段时间,路由器就自己掉线了。那么,我一直留着那个命令行窗口,就不会有这种问题。这是为什么?
有可能是因为你运行的程序是个前台进程,终端退出的时候这个进程有可能就挂掉了。你可以把它放到后台去运行(或者以守护进程的方式运行),如果本身它是有参数可以选择(例如-d参数)那么可以通过参数指定它不以前台方式运行。如果没有参数,你可以尝试使用”nohup xxx &”,其中xxx是你原本要运行的命令,执行完后关闭命令行窗口,看一下过一会儿是不是还会断线
师兄你好,我是中大东校的。最近一直在折腾树莓派3,openwrt自己交叉编译好了,用的是njit-client, 但是发现一直连不上网络。请问师兄使用的拨号脚本程序是否适合于树莓派3?
提示什么错误呢?另外是拨号的那个程序应该直接运行就可以了,除非前后的OpenWRT版本变动太大,建议你直接拿源码重新编译一下。另外是你用的不是锐捷的吧?H3C的协议如果没升级的话应该是没问题的
njit-client现在应该是不行了,sysu3c没找到适合树莓派的版本,最后我用了yah3c就成功了。
成功了就OK。sysu3c不知道还有没有维护。
tp-link wdr6320怎么弄啊,step2中软件无法升级
有没有找到对应于wdr6320的openwrt固件呢?
非常感谢QwQ!WR745下工作正常
师兄!超级棒的教程!谢谢你栽下的树~
我已经用该型号的路由器配置成功了,不过有个小问题,就是我设置了密码,但是连接却似乎是无密码的,config文件与你的写法相同,烦请告知可能的原因,非常感谢~
是否没有重启路由,或者config里的option key 拼错了?
太给力了。居然我正好有WR703N这个路由器。当年买来当3G路由器没想到居然可以这样用。。还有能不能我想在网件R6400上安装这个程序。他的CPU处理器是博通 BCM4708 A9 。是不是需要单独编译一个lpk呢?
如果路由器不一样,那么按道理说是要重新编译一下的
LZ你好,我不刷openwrt就直接按照你的步骤来,但是那个winSCP和PuTTY都连不上,我担心的是刷了openwrt后也连不上
不刷OpenWRT的话你的路由器并没有开放对应的端口按道理是连不上的,所以还是得刷一下。现在中大貌似有人专门卖刷好的路由了?也可以试试。爱折腾的话就自己刷一个玩玩吧