又一个新年过去了,今年的春节,是我第一次在外地度过,是的,我去了趟北京,这个就留到下次再说吧。
节前,朋友送来了俩馒头,我觉得有必要发个图纪念下这对山东大馒头!

好大的馒头,哇哈哈哈
——————————————————–
今天我要向大家介绍,如何将现有的TP Link路由器,刷开源的OpenWrt固件,并且将其改造为免费提供网络接入的AP,效果类似大家普遍使用的免费接入认证系统。区别是,我这个不需要短信验证,只要点击确认即可!

TP Link MR11U,很新,连膜都没撕掉过,我是不是很温柔?
初衷
基于两个简单的原因,一个是家里这台3G路由器闲置着,另一个是向免费向小区的邻居们提供无线网络。
说实话,前几年,我也没少蹭网,都是别人没有设密码的wifi信号,我很感激他们。因此,现在我也搭建了我家的免费wifi,提供给需要的朋友,也倡导大家一起将家里的带宽充分利用起来。
关于OpenWrt
这个看这里吧:http://www.openwrt.org.cn/
你可以理解为路由器的操作系统。其实路由器就是一台迷你电脑,但是原厂的系统功能比较简单,无法扩展,因此利用openwrt这类第三方的开源固件(操作系统),就能很好的解决我们的需求。作为家用路由器,因为cpu较弱,因此常见的扩展功能有:
1.部署vpn(翻墙、突破公司的网络封锁,也可以用于加强连接外部免费wifi时的通信安全性)
2.外挂USB,作为共享存储(路由器要有USB)
至于其他什么bt下载、挂网站、摄像头之类,我认为价值不大。
关于TP Link MR11U
这是一台3G便携式路由器,带有一个USB口,一个网络口。
4M的ROM(可理解为硬盘),32M的RAM(内存)
是一台适合刷机的路由器,虽然rom不大,但具备usb,则有了扩充的可能性。
我的功能需求简单,4M足够了。
OpenWrt刷机
步骤很简单,这里附一篇:
http://jingyan.baidu.com/article/948f59242fa71cd80ef5f910.html
注意:这篇文章只是介绍路由器的常规设置,我这的具体配置与其有所不同。
配置路由器
这是重点,openwrt的系统,如果不安装LUCI的图形管理界面程序的话,默认需要通过命令行的方式进行管理,其实本质上是通过配置文件进行管理。
因此刷机后的第一步,通常是用网线连接电脑和路由器,通过telnet命令来管理。
我给大家的建议是:使用winscp软件来管理路由器的配置。
winscp类似于ftp管理软件,便于大家修改配置文件和上传文件。利用vi命令修改配置文件实在太痛苦……
1.确定网络架构。
需求:
TP Link MR11U运行于客户端模式,通过无线连接主路由,同时自己广播wifi信号,用户可以通过有线Lan和wifi两种方式连接TP路由器。
为了便于管理,我将TP上的有线和无线的网络进行了隔离。无线网络无密码公开使用,有线我自己用来管理TP路由器或上网(类似无线网卡)。
注意:通常原厂固件中的客户端模式,有线和无线是连通的。
上级主路由器,ip地址为192.168.1.1
TP路由器的WAN接口,ip设为192.168.1.2
TP路由器的LAN接口,ip段划分到192.168.2.X
TP路由器的无线接口,ip段划分到10.0.0.X
2.配置路由器的network文件(位于/etc/config/network)
再次提醒:请使用winscp软件连接路由器,否则很痛苦。
注意:
3.配置路由器的wireless文件(位于/etc/config/wireless)
注意:
安装nodogsplash
它是基于openwrt上的一个插件,用于实现用户登录验证的,具体见:
https://github.com/nodogsplash/nodogsplash
这个名称很生动,很有趣,称为nodog。其实他是针对openwrt上的另一款类似插件:wifi dog的,那个配置起来比较复杂,需要自己部署验证服务器,不适合我使用。
这个没有看门狗(no dog)的很适合我!
安装插件很简单,telnet连上去后,执行命令:
opkg updateopkg install nodogsplash
注意:
有可能执行第一行更新时报错,无法连接服务器,请检查etc/opkg.conf 中的服务器地址,是否发生了变更。
执行第二行时,可能会提示当前固件版本与服务器上的nodogsplash不匹配,那就先升级现有固件,这里就不展开了,一般不会遇到(但我遇到了,因为我的固件是一个月前下载的,服务器上的版本已升级)
配置nodogsplash
官方有个配置范例介绍:http://wiki.openwrt.org/doc/howto/wireless.hotspot.nodogsplash
但与新版插件不太符合,新版安装后,是没有/etc/nodogsplash/nodogsplash.conf这个配置文件的,需要用winscp手动建立一个
注意:
范例中的前半部分都不要参考,只需要复制nodogsplash章节中的配置内容即可(见下图)
这里面介绍的很详细,一般都不必修改,唯一容易迷惑的同时也需要修改的是这个GatewayInterface配置
其实它指的是需要由nodog来接管的interface,那就清楚了,本例中就是在network配置中的guest接口,但我们是填写guest吗?
不是,这时候需要通过ifconfig命令来查看下当前的网络接口配置,见下图。
我们的guest接口分配的是10.0.0.1,因此它的GatewayInterface名称是wlan0-1
你也许会问我,那个guest名称去那儿了?别问我,我也不知道……sign
启动nodog
键入命令:
/etc/init.d/nodogsplash start
查看nodog状态的命令:
ndsctl status
最终配置后的nodog状态,注意看第四行,Managed interface :wlan0-1
自动启动nodog
你会发现,重启路由后,nodog怎么不启动??
增加自启动配置!
- 打开winscp,进入: /etc/hotplug.d/iface
- 新建文件:95-nodog
- 修改95-nodog内容:
#!/bin/sh
if [ “$ACTION” = ifup ]; then
if [ “$DEVICE” = “wlan0-1” ]; then
/etc/init.d/nodogsplash enabled
/etc/init.d/nodogsplash start
fi
fi
具体见图:
注意看$DEVICE=wlan0-1 这个就是上文中的Gatewayinterface名称,请按需修改
完成
用电脑或手机连接wifi后,会跳转至认证页面。这个欢迎页面是可以自行修改的
/etc/nodogsplash/htdocs/splash.html/etc/nodogsplash/htdocs/infoskel.html/etc/nodogsplash/htdocs/images/splash.jpg
我去,好久没码那么多字了……
The End