为什么没有厂商做一款高配置的OpenWRT路由器mac厂商查询

红米手机 &
电视盒子 &
智能硬件 &
骨灰级手机控
扫码下载App一键签到 升级加速
【 路由插件大探讨】自制SDK多语言让人人都是插件大师
&来自老版论坛
扫一扫!手机看帖更爽
本文已被推荐至小米社区首页 :)
By 小米路由器专区
& && & 话说路由器的插件,其实现在暗中较力的几家“互联网”路由器其实都还没有开放API,所以插件还只能是一个想法。不过还好大多数厂商都不约而同的采用了openwrt,这样我们就可以基于openwrt来猜想一下未来路由的插件会是什么样子的,或者在现有的路由器上刷上openwrt后,体验一下亲制做插件的感觉!& && && &先来畅想一下路由器的插件会是什么样子的呢?虽然没有小米路由器,但从论坛上的贴子也能看出来一些,和极路由等一样,插件需要联网进行安装,而且都需要一个云帐号。联到插件中心后,可以看到有“许多”插件!
& && & 哈哈,现在实在不能说插件有“许多”,极路由的好象要多一些,但有一些明明就是其它路由器上的内置功能好不好!
& && &&&我们只能猜想一下,当用户连上互联网后,通过云账号登录到一个插件列表,这个列表实际上就是路由器的应用市场。选择安装一个应用后,相应的应用就会下载到对应的路由器上,路由器也就具备了新的功能。有了插件机制,路由器就不再受限于基础的网络功能,可以自由的通过扩展插件来实现丰富的功能,比如实现视频监控、实现家电控制或作为NAS使用等。& && &&&为什么不直接把这些功能做到路由器里呢?原因很简单,路由器最终期望的是成为家庭智能中心,成为所有网络设备和未来智能家电的神经中枢,我们无法预先猜到用户会开启和使用哪些功能,预先装上所有的应用,会导致一些不必要的空间和性能上的损失,同时用户的使用上也会受大量不用的功能影响而变得不够方便。另一个原因,在小米路由器第三批公测版可以看出来,即插件和硬件关联。比如第三批路由器的Broadlink,在没有这个设备的情况下,我们在路由器上安装上Broadlink相关的插件也没有什么作用。& && && &所以可以想象的,未来路由器的这个插件市场其实可能是一个包含了软件和硬件的市场,软件插件可以直接在这个市场上安装,硬件则可以通过这个市场来购买。当然,一些纯粹的软插件也可能会收取一定的费用。如果这个平台象Apple或Google的市场一样,开放给软硬件的开发人员或厂商,一定会有很多人愿意开发非常多有意思的插件,而且还可以从中获得利益。哈哈,小米快些开放API吧,手都痒痒了!人人都是开发者
编译Openwrt的SDK
& && &&& 小米路由器虽然没有开放API,但从论坛上的信息看,小米路由器是基于Openwrt的,所以我们可以先基于openwrt来尝一下鲜。& && &&&首先简单介绍一下openwrt,简单一点,我就基于自己的理解来说一下,openwrt实际上就是为了无线路上器而生的,openwrt的全称应该是Open wireless router的缩写(没有找到官方的解释,如有错误,请各位大虾不吝指正)。开源无线路由器最来源于早期厂商因为GPL的原因而开源无线路由器源码,如d-link、tp-link、cisco等这些厂商都有放出路由器GPL部份的源码。很快有人基于这些开放源码做了社区开源路由器,如dd-wrt,但dd-wrt基本上是在厂商开放代码框架下进行修改或定制,虽然做的比较成功,但框架性并不强,扩展相对不容易。所以开源社区决定采用从头构建的方式,以更良好的框架来设计开源的无线路由器,于是就有了openwrt。& && && &openwrt最大的优势是良好的开发框架和包管理框架,其中包管理框架吸收了debian/ubuntu等发行系统的包管理机制,定制了与其极为相似的包管理框架,可以象ubuntu一样制作在线更新库,包的生成也可以通过openwrt生成的SDK来制作。因此无论是在开发、发布还是后期的升级上,都非常优秀。也op的包管理机制,我们要制作第三方的插件会非常容易。下面我们就来尝试一个全套的从头制作一个openwrt插件的疯狂DIY之旅。& && && &首先,我们需要有插件的开发环境,这个嘛,需要linux,你懂的,想做openwrt软件,你需要是一个linuxer,至少会用吧!& && & 下载openwrt源码,既然期望得到公测机会做小白鼠,就不怕用最新的代码,代码用最新的trunk(主干)版本,不用稳定分支:Linux$ git clonegit://git.openwrt.org/openwrt.git& && &这部份简略一点,搞过openwrt的应该都会。然后进行配置:Linux$ make menuconfig& && & 我们是想尝试给小米路由器制作插件,所以我们选择 Broadcom BCM47xx/53xx with ARM CPU,这样我们做出来的Openwrt SDK就是兼容小米路由器的Broadcom 4709 CPU。下面还要选择编译openwrt development kit,因为我们只是想做一个SDK来编译插件,所以其它选项保持默认就可以了。然后开始编译:& && & 第一次编译需要比较长的时间,因为openwrt会首先编译交叉工具链,然后才会编译openwrt固件。经过漫长的等待,编译完成!在bin目录下,我们看到了一些升级包和刷机包文件,如果有4709的板卡,就可以拿来刷一下了!还有一个压缩包,就是我们需要的SDK文件了。openwrt的SDK是什么呢?这个SDK可以说与Android的NDK比较相似,就是一个可以开发或编译openwrt路由器上的软件的开发工具集。SDK的安装很简单,解开到Linux的任意目录,使用的时候设置环境变量就可以了,例如解压到/opt目录。
编译第一个Hello World插件
所有的Coder都知道一个著名的程序 hello world,做插件也从这里开始吧,先创建一个源码hello.c:然后编译:& && &&&编译结果是一个可执行程序,我们可以通过U盘把它复制到路由器上,如果小米路由器开了SSH(开了吗?),就可以运行第一个最简单的插件hello world了!& && && & 别误会,我真没有小米路由器,但为了做这期,连夜从朋友那里借了一个4708的路由器板卡,刷了openwrt,还把主机名改成了xiaomi,算是自我安慰一下吧!
有用的插件
& && &&&&&做完上面的helloworld实验,回头一想,不对,哪有那么多会C编程的Coder啊,有好多Coder是玩Java、Python、JavaScript的,能不能做一个插件,让路由器支持这些语言,这些Coder不就也能为路由器开发插件了吗?想到这里,我都忍不住对自己竖了大姆指!& && && & 说干就干,下面我们就来做这样一个有用的插件,简单起见,还是回到openwrt的完整环境中,首先把openwrt的扩展导进去,方法是通过scripts/feeds命令安装。安装完扩展包,我们就重新配置扩展包,通过make menuconfig命令,选择我们的组件:
& && && &先选择Language菜单,然后选择Java/JavaScript/Python/Lua菜单,从图上可以看出,Openwrt还支持perl、php、Ruby、tcl等语言,自己只接触过前面几种,就以这几个举个例子吧,等有机会拿到小米路由器,一定做个完整的插件包出来!选择好以后,就可以用make命令进行编译了。编译完成,在bin目录下可以找到这些包的ipkg安装包:通过SCP把ipk文件上传到设备上,然后再SSH登录到路由器上通过opkg命令安装的插件:& && &
现在,先来试一下Java,还是先在电脑上用eclipse写一个Helloworld程序HelloWorld.java,然后上传HelloWorld.class到路由器上,试运行一下:& && && &&&成功,我们有了一个新的小米路由插件,Java语言支持!这个插件还是一个伟大的开始,Java的Coder们从此可以为小米路由器开发插件!
别激动,再运行一下python,Python可以直接通过命令行来运行脚本,试一下:
& && &&&现在小米路由器又有了python插件,这个插件同时也将小米路由插件的开发乐趣带给所有python的Coder们!
& && &&&还不动心,下面我们还有Javascript,没有听说过吗?这个东东可是Web前端工程师们擅长的啊!Javascript可不光能够开发WEB前端,nodejs就是一个基于JS的服务端应用,可以用JS来开发效率极高的Web服务,现在我们就要把Javascript用在小米路由器上,让所有的前端工程师们都可以为小米路由器开发插件!
& && & 好象还有一些平时专给游戏写外挂的同学还在边上观望!没有问题,所有Lua的Coder,请向这边看,Openwrt的网页框架luci就是基于lua的,也就是说小米路由器也是天生支持lua语言的,所以lua不仅可以写游戏外挂,还可以给小米写外挂!
& && &&&小米还没有开放API,所以懂点开发的Coder可以去暢想各种开放API的可能性,通过DIY安装一些插件,我们让路由器支持了Java、python、Javascript,还有Openwrt自带的lua,很多的Coder都可以加入到小米路由器的开发中,Openwrt具有很高的开放性,要加入更多的语言也不是什么难事,有了良& && && &&&好的多语言支持,就有更多的coder可以变成小米路由器的插件工程师,发挥众人的创意,小米路由器一定会成为未来智能家庭中不可缺少的一员!
上面说了那么多有些朋友可能已经晕乎了。好吧咱们来点大家都能看的懂的。
1、 离线下载插件
& && & 小米路由器是一款发烧级的路由器,小米路由器已经具备迅雷远程与离线下载功能,小米路由器默认打开高速通道及迅雷离线下载,利用小米自身携带的迅雷离线下载插件就可以实现各种资源的远程和离线下载。& && & 对于喜欢下载的我们来说,仅仅拥有迅雷离线下载功能的小米路由器在下载功能上是远远不足,不要说昂贵的迅雷会员,某些资源也是迅雷所不具有的,在云盘快速发展的今天,金山快盘、百度网盘、360云盘争相出世,容量大,都在T级别,速度快,都支持离线及种子下载,而且采用了共享机制,容易通过相应的群组找到自己喜欢的各种影视,软件等等所需的各种资源。 利用Chrome浏览器,打开扩展程序,点击“获取更多扩展程序”进入Chrome商店。搜索“迅雷离线”,安装”MBL&MC迅雷离线/QQ旋风/百度网盘/360云盘等aria2增强脚本”。安装完成后,将会在扩展程序出现如下所示:
在百度网盘中刷新,出现aria2下载选项。& && & 此时可以采用两种方式,一种方式是,我们将Aria2安装在小米路由器上面实现该类下载,另外一个就是小米工程师与网盘供应商合作开发诸如迅雷离线下载这样的功能,显然第二种插件的方式更适合普通用户,第一种插件的方式同样需要小米放开相应的权限才可以实现相关的功能。
2、VPN插件& & 虚拟专用网络(Virtual Private Network),简称VPN。其功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。VPN具有成本低,易于使用的特点。当前国内VPN商用尚不成熟,暂缺相关法律法规,市场无规可循,实际上是在“灰色运营”中。
& && &&&VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络。该功能可以用来实现外地员工的远程访问及办公。 & && & 同时其最重要的作用是翻墙,这个你懂的。由于各类原因的限制,在我们需要去国外的一些网站下载必要的代码,程序或者需要某些视频、新闻的时候,我们无法正常连接到国外的网站,但是VPN功能可以满足我们这个需求。 & && & 作为小米路由器的插件,如果开放VPN则需要考虑多方面,个人认为在满足企业远程办公需求的情况下提供VPN服务是符合相关规定的,至于使用者是不是会拿着去做其他事情,这个无法控制,难道你还能管一个普通人买了菜刀是去切菜还是做其他的事情。
& && &&&VPN功能是为了满足一些用户的需求,因此对于其设置是否完全傻瓜化倒是可以采用调研的方式进行,由于该功能的限制,造成其设置不会像普通上网那么简单,但是也不易过于复杂,在有合适的VPN帐号,代理情况下,其设置还是应该越简单越好,毕竟大家的需求日益增加,有时候翻墙是必不可少的项目之一。对于小米路由器VPN必须至少支持三种主流的VPN方式:SSL、IPSec及PPTP。
3、防钓鱼插件钓鱼网站通常指伪装成银行及电子商务、窃取用户提交的银行帐号、密码等私密信息的网站。“钓鱼”是一种网络欺诈行为,指不法分子利用各种手段,仿冒真实网站的URL地址以及页面内容,或利用真实网站服务器程序上的漏洞在站点的某些网页中插入危险的HTML代码,以此来骗取用户银行或信用卡账号、密码等私人资料。
钓鱼网站在网络上面可谓无处不在,而且往往都是在你不注意的时候将你的敏感信息记录,从而盗取你的金钱,信息等。 & && & 小米路由器应具备防钓鱼插件,该插件应该将钓鱼网站加入小米云服务禁用平台,可以由小米路由器使用者在发现钓鱼网站之后,提交钓鱼网站相关信息给小米路由器,小米路由器通过网络将该信息发如小米云平台,有小米云平台进行审核,确认为钓鱼网站之后,将其加入钓鱼网站黑名单,同时发送相关的提示信息给提报者,可以采用一些虚拟奖励的方式鼓励大家提交钓鱼网站,同时对于恶意提报(短时间内大量提报非钓鱼网站)的使用者,暂停其提报功能一定时间段,以避免因为恶意提报而造成的人员审核浪费。
4、WLAN定时开关插件& && &
对于大多数的使用者来说,白天<font color="#:00-18:00属于工作时间,深夜是睡觉的时间,此时间段WiFi打开着也属于浪费,因为根本不在使用状态,同时你开着WiFi也许就给你的邻居蹭网了,而自己完全用不上,此时的自己也许仅仅只是需要个远程下载功能,而该功能在远程下载的时候是无需打开WLAN的,因此具备一个WLAN定时开关插件显得尤其重要,可以预置几套定时方案,也可以采用自定义时间方案,能够有效控制WLAN的开关时间,在自己需要的时候才使用,同时手机APP应具备一键打开WLAN功能,这样如果你提前到家或者说想远程开启家中设备的时候,利用手机一键开启WLAN,进行WLAN的唤醒,达到方便快捷使用的目的。
5、智能家居控制器
& && & 作为小米路由器重要的组成部分,智能家居显然会成为小米路由器一个重要的方面,目前的小米路由器采用的是与RM2连接的方式进行控制,后期小米开发属于自己的智能家居控制端,通过无线路由器发射2.4G、5G、433M与红外控制信号,达到全部设备的智能控制效果。
6、网络游戏加速插件
& && &&&喜欢玩网络游戏的你,有没有碰到过这种状况,正在打怪,突然卡死,眼睁睁的看着怪被别人砍死,自己心仪的装备被别人抢走;正在和妹妹一起打怪聊天老是卡死,妹子烦了不和你玩了,去找了别人;游戏里面卡的你动不了,郁闷要死。打游戏是为了爽,而不是来和网络较劲的。 & && & 网络游戏加速插件就是为了这群游戏控而生,当然你别和我说你1M的带宽想玩需要10M带宽的游戏,这只是个辅助功能,它没有办法帮你提升带宽,只是让你的网络在你玩网络游戏的时候发挥它最大的功效,达到最优的功能。如果你实在带宽达不到,建议还是升级下带宽吧,网游加速会让你的网络在网络游戏中发挥最大的功效。当然这个功能一定程度上也会限制其他终端的网络速度,因此该插件需要具备的功能如下:
A、全速模式,只为网游而战,在这种模式下,路由器会以最大的限度支持你玩网游,而无视其他终端;B、高速模式,在满足其他终端一般使用的前提下,为你的网络游戏进行最大程度的加速,即满足你畅快网游的感觉,又不至于让家中老婆孩子网络使用过于卡壳而郁闷。C、普通加速,在其他终端全部使用良好的情况下,对网络游戏进行相应的速度优化。D、自定义加速,通过设置对哪些游戏实现加速功能,对哪些游戏不需要加速功能。
& && & 插件一般叫Plug-in或addon,很多东西件都有插件,比如IE,比如我们的小米论坛有个版主已阅也是插件。大千世界的米粉们需要的插件其实是多种多样的,我也只列举了一部分,插件一般都遵循一个基本原则,就是逐步增加,作者来自世界各地,虽然我们的米路由听说目前不多,但是我相信,之后会很多很多的。就像安卓软件一样,人人都是开发者,人人都是工程师。也期待小米路由早日开放sdk,让更多的人参与进来,为大家提供更多好玩好用的插件。深夜发帖希望大家多都支持。
本文的内容系原创,本文的部分资源引用系本人行为,与小米社区无关,本人愿意承担相关法律责任。
扫描二维码,手机查看本帖
: [color=DarkOrchid][b]完全看不懂。谢谢[/b][/color]
: [color=Red]碉堡了,希望小米早日开放SDK或者API,让高手丰富各类插件。[/color]
: 软件高手。
已有10人评分
元芳,你怎么看?
果然高手都在民间 楼主好牛
期待小米路由API啊
总评分: 经验 +23
看不懂。。所以觉得楼主强大
都几年了,有几个插件?
啪啪啪啪打脸,快删了吧
·来自老版论坛
看不懂。。所以觉得楼主强大
·来自老版论坛
立马试验下,我有编译的经验,可以再其他的路由器下尝试下。& && && && &
·来自老版论坛
帮顶楼主,美好的事情即将发生,严重期待7.29小米4
·来自老版论坛
從openwrt制作插件...不錯的教程!!
·来自老版论坛
太棒了 期待更多的插件 期待路由器早日上市
·来自老版论坛
技术贴,顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
·来自老版论坛
寫得很清楚,看得很模糊..............
·来自老版论坛
立马试验下,我有编译openwrt的经验,可以再其他的路由器下尝试下。
·来自老版论坛
我就是想知道,Qos的插件什么时候会有
·来自老版论坛
终于找到4709刷OpenWRT的帖子了,为lz的辛勤工作赞一个{:6_216:}
·来自老版论坛
支持一下得看看学习学习了
·来自老版论坛
只顶技术贴,给博主赞一个!
想必博主精通OPENWRT插件编译,能否帮个忙,一起学习下编译呢这是我最近研究的帖子,望大神能鼎力相助~~~
·来自老版论坛
这才是大神级人物啊!!!!支持了!!!!!!!!!!!!
·来自老版论坛
支持一下,希望小米路由器开放sdk或者api
·来自老版论坛
& & 对于编写插件我是个门外汉,看着楼主写的都有些迷糊。只恨当初没有上过大学!不过对“智能家居”到是很感兴趣,赞一个!小米路由器加油!楼主是否愿意收徒啊!我真心想拜师!
·来自老版论坛
很赞!支持作者,支持小米!!!
·来自老版论坛
写了这么多啊,真是人才啊,牛
·来自老版论坛
期待上市,有用实用{:6_218:}{:6_218:}
京ICP证110507号 京ICP备号悠然居 ? Openwrt路由器挂载摄像头教程
我的图书馆
悠然居 ? Openwrt路由器挂载摄像头教程
Openwrt路由器挂载摄像头教程
Openwrt可以做的事情很多:VPN、离线下载、VLAN、无线中继、多拨,等等。因为比较折腾,所以适合喜欢钻研,知道怎么找资料,并且对Linux较熟悉的人使用。一般用户还是用普通路由器,或者别人帮刷好固件的路由器吧~
Openwrt还有一项功能比较吸引人,那就是挂载摄像头,实现远程实时监控。本文介绍通过mjpeg-streamer输出摄像头的实时图像,从而实现远程监控。最近还会写一篇使用motion实现自动拍照上传的教程,敬请关注本博客。
一、准备工作
首先就是要有一个刷了openwrt的路由器,固件里至少要包括下面的两个摄像头相关的内核模块:
kmod-video-core, kmod-video-uvc
以及mjpeg-streamer软件。DreamBox的就不错,本人的HG255D路由器目前用的就是这款固件。其他型号的路由器,可以去OpenWrt中文网,以及恩山无线论坛寻找相应固件。当然,路由器自身至少要有一个USB 2.0接口。
其次,一个免驱并支持MJPEG输出的摄像头。这个就需要仔细挑选了。可以,选择适合自己的摄像头。注意:不支持MJPEG输出的摄像头,以路由器CPU的能力,每秒也就能输出2-3帧,几乎不可用,所以务必选择正确的摄像头。本人使用的是微软的HDP高清摄像头,免驱并支持MJPEG,去除了HD5000里作用不大的自动对焦功能,价格比HD5000更加亲民。
二、测试摄像头
将摄像头插到路由器上,然后ssh到路由器上,执行logread命令,会打印出路由器开机后的终端log。在里面寻找”usbcore: registered new interface driver uvcvideo”,以及含有”/dev/video0″的字样。如果有,则说明免驱摄像头挂载成功,没有的话肯定是摄像头不支持了。
三、配置执行监控软件
首先要去mjpeg-streamer的sourceforge网站下载它的最新源码解压,只需要其中的www目录。此处,我们将其放到路由器的/www目录下,并且改名为camwww。
mjpeg-streamer的用法比较简单,参数直接写在命令行里就可以了。下面给出几个常见的参数组合:
mjpg_streamer -i "input_uvc.so
-d /dev/video0" -o "output_http.so -p 8080 -w /www/camwww"
上面这行命令是让mjpeg-streamer以默认的640×480分辨率、30fps显示图像,并且监听8080端口的http请求。其自带的一个小型web页面所在的地址为/www/camwww。
mjpg_streamer -i "input_uvc.so -f 15 -r 320*240 -d /dev/video0" -o "output_http.so -p 8080 -w /www/camwww"
上面这个就是较为完整的,自定义了分辨率和帧率。另外还有-c参数可以设置使用密码访问。具体参数可以加上–help来运行mjpeg-streamer查看,或者。
注意:如果你的摄像头必须像下面这样加上-y参数才能正常开启的话,就说明它不支持MJPEG输出,只能以YUV形式每秒2、3帧的速度输出:
mjpg_streamer -i "input_uvc.so -y -d /dev/video0" -o "output_http.so -p 8080 -w /www/camwww"
正常完成了mjpeg-streamer的执行后,就可以用浏览器(最好是firefox或者chrome)访问路由器的8080端口(由-p参数指定),查看摄像头的图像。
若想实现远程监控,可以在路由器上配置一下花生壳之类的动态域名服务,就能在外网通过域名访问路由器。
本文为的原创文章,转载请注明出处!
TA的最新馆藏
喜欢该文的人也喜欢中国领先的IT技术网站
51CTO旗下网站
OpenWRT 路由配置技巧
最近 Google 在国内已经完全无法访问,使得通过 VPN 访问网络的需求更加强烈,本文介绍的方法可以使一个普通的路由具备稳定连接 VPN 的能力,并能够根据目标访问网站选择国内外线路。
作者:FatLYZ来源:博客园| 09:38
最近 Google 在国内已经完全无法访问,使得通过 VPN 访问网络的需求更加强烈,本文介绍的方法可以使一个普通的路由具备稳定连接 VPN
的能力,并能够根据目标访问网站选择国内外线路,从而得到一个既没有限制,也不会影响速度的 Wifi
环境,连接到这个网络的设备不需要任何配置即可安全上网,完全感觉不到任何不便。
chnroutes 路由表
这个路由表集中了所有分配到中国大陆的 IP 段,根据
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
每天自动更新,可使得在访问国内地址时不经过 VPN。
想想如果能够让家里的路由直接连接 VPN,在家连接 WiFi 的所有设备直接达到Fan墙的效果,应该很 Cool,所以最近在某宝整了一个 Netgear
WNDR3800 二手路由回来,先后分别在 DD-WRT 和 OpenWRT 成功配置 VPN + chnroutes,最后还是选择了 OpenWRT。
DD-WRT vs OpenWRT
关于 DD-WRT 和 OpenWRT,我选择 OpenWRT 主要因为 DD-WRT ROM 中集成的软件太多,绝大多数用不到,要配置 jffs2
来保存脚本文件,一般配置则保存在nvram中,而且无线较不稳定,5G频段常搜索不到(当然可能是我这个路由器型号的支持问题)。OpenWRT
的配置文件语法统一,配置都存储在文件系统中,且 ROM
本身仅集成了必备组件,非常小,可以只安装需要的东西,WEB管理界面也是可选安装,简洁强大,经过若干天的使用一直比较稳定。
已配置好 OpenWRT 上网的童鞋们可以直接跳过 1.刷 ROM 和 2.初始配置
a.首先确定你的设备可以被 OpenWRT
所支持(到这里查看支持的设备列表:http://wiki.openwrt.org/toh/start),然后到这里下载编译好的
ROM:http://downloads.openwrt.org/ 。最新的 stable 版本是
attitude_adjustment(12.09),我下载的是 trunk 版本。
b.在 OpenWRT 官网找相应设备的 Wiki 页面查看刷机方法,一般都是在路由器官方Web固件升级页面直接刷入(我的 WNDR3800
Wiki页面是:http://wiki.openwrt.org/toh/netgear/wndr3800)
2.初始配置
a.路由器启动后,有的型号没有安装 Wifi 模块,需要先用网线连接到 LAN 口,本机 IP 配置为静态 192.168.1.x,然后 telnet 到
192.168.1.1,更改 root 密码,然后 ssh
连入,参考:http://wiki.openwrt.org/doc/start#configuring.openwrt
b.配置 WAN 口,让路由连上
Internet,参考:http://wiki.openwrt.org/doc/howto/internet.connection 。
比如要配置 PPPoE:
uci set network.wan.proto=pppoe
uci set network.wan.username='yougotthisfromyour@isp.su'
uci set network.wan.password='yourpassword'
uci commit network
c.安装 LuCI Web
管理界面并设置开机自动启动,参考:http://wiki.openwrt.org/doc/howto/luci.essentials
opkg update
opkg install luci
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable
d.浏览器输入路由器 LAN 侧 IP(多为192.168.1.1),进行 Wifi 等配置
3.配置 DNS
a.创建 /etc/config/sec_resolv.conf
vim /etc/config/sec_resolv.conf
填入以下 DNS Servers:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 208.67.222.222
b.编辑 /etc/config/dhcp
vim /etc/config/dhcp
找到 option resolvfile 选项,替换为:
option resolvfile '/etc/config/sec_resolv.conf'
4.配置 PPTP
a.安装 ppp-mod-pptp
opkg updateopkg install ppp-mod-pptp
如果需要 LuCI 支持(推荐):
opkg install luci-proto-ppp
b.配置 vpn 接口,编辑 /etc/config/network 文件,应该已经有以下内容(如果没有,需要插入),并配置里面的
server、username 和 password:
config 'interface' 'vpn'
option 'ifname'
'pptp-vpn'
option 'proto'
option 'username'
'vpnusername'
option 'password'
'vpnpassword'
option 'server'
'vpn.example.org or ipaddress'
option 'buffering' '1'
c.进入 Network -& Firewall ,把 vpn 加入 wan zone,效果如图:
d.进入 Network -& Interfaces ,此时应该已经可以看到 VPN Interface 并可以连接,效果如图:
e.此时在本机 traceroute ,应该能得到类似以下的结果:
FL-MBP:~ fatlyz$ traceroute
traceroute: Warning:
ha using 74.125.239.113
traceroute to
(74.125.239.113), 64 hops max, 52 byte packets
fc_r0.lan (192.168.7.1)
10.7.0.1 (10.7.0.1)
189.259 ms
187.813 ms
188.368 ms
23.92.24.2 (23.92.24.2)
189.847 ms
190.489 ms
188.939 ms
10ge7-6.core3.fmt2.he.net (65.49.10.217)
188.508 ms
192.216 ms
202.863 ms
10ge10-1.core1.sjc2.he.net (184.105.222.14)
195.695 ms
195.691 ms
284.242 ms
72.14.219.161 (72.14.219.161)
189.196 ms
192.287 ms
193.220 ms
216.239.49.170 (216.239.49.170)
192.496 ms
188.547 ms
189.881 ms
66.249.95.29 (66.249.95.29)
190.125 ms
190.335 ms
190.026 ms
nuq05s01-in-f17.1e100.net (74.125.239.113)
189.804 ms
190.556 ms
190.242 ms
可以看出,其中第二跳是 VPN 的网关,而 traceroute
的话第二跳应该也是同样的结果。
这时已经可以访问 Google, Baidu 等国内外的站点了。
5.配置 chnroutes
a.到 chnroutes 项目的下载页面:http://chnroutes-/ 下载 linux.zip,解压
b.把 ip-pre-up 重命名为 chnroutes.sh,打开编辑,在 if [ ! -e /tmp/vpn_oldgw ]; then
前插入以下代码,以避免 ppp 连接脚本重复执行导致重复添加路由表项:
if [ $OLDGW == 'x.x.x.x' ]; then
其中 x.x.x.x 是 VPN 的网关,可以先本机连接上去之后查看一下网关地址。
c.ssh 连接到路由器,执行以下命令:
cd /etc/config/
mkdir pptp-vpn
cd pptp-vpn
vim chnroutes.sh
在 vim 中把编辑好的 chnroutes.sh 粘贴进去(当然也可以通过 ssh 直接把 chnroutes.sh 文件传过去,或者上传到某个地方再
wget 下载)
执行以下命令,设置权限为可执行:
chmod a+x chnroutes.sh
d.用 vim 编辑 /lib/netifd/ppp-up 文件:
vim /lib/netifd/ppp-up
在 [ -d /etc/ppp/ip-up.d ] && { 这一行前插入以下内容,确保 ppp 连接脚本能够被执行:
sh /etc/config/pptp-vpn/chnroutes.sh
e.重启路由,启动好之后,进入 LuCI 查看接口状态,等 WAN 和 VPN 都连接成功后,ssh进去,执行 route -n | head -n 10
,效果应该类似这样:
root@FC_R0:/etc/config# route -n | head -n 10
Kernel IP routing table
Destination
Flags Metric Ref
0 pptp-vpn
58.111.43.1
255.255.255.0
0 pppoe-wan
58.111.43.1
255.255.254.0
0 pppoe-wan
58.111.43.1
255.255.248.0
0 pppoe-wan
58.111.43.1
255.255.224.0
0 pppoe-wan
58.111.43.1
255.255.255.0
0 pppoe-wan
58.111.43.1
255.255.254.0
0 pppoe-wan
58.111.43.1
255.255.252.0
0 pppoe-wan
其中 Destination 为 0.0.0.0 的是默认路由,网关为 VPN 网关,意味着默认流量都经过
VPN,而以下的条目则把目的为国内的网段都指向了 ISP 提供的网关。
至此 PPTP VPN 和 chnroutes 已经配置完毕。
6.配置 VPN 断线自动重连
a.创建 /etc/config/pptp-vpn/status-check.sh:
vim /etc/config/pptp-vpn/status-check.sh
在 vim 中粘贴以下内容(此脚本检测 VPN 连接状态,并在断线后会断开 WAN 和 VPN 接口,10秒后重新连接 WAN,并在 30 秒后重连
if [ -f &/tmp/vpn_status_check.lock& ]
VPN_CONN=`ifconfig | grep pptp-vpn`
if [ -z &$VPN_CONN& ]
touch /tmp/vpn_status_check.lock
echo WAN_VPN_RECONNECT at: && /tmp/vpn_status_check_reconn.log
date && /tmp/vpn_status_check_reconn.log
ifdown vpn
ifdown wan
ifdown vpn
rm /tmp/vpn_status_check.lock
date & /tmp/vpn_status_check.log
执行以下命令,设置权限为可执行:
chmod a+x /etc/config/pptp-vpn/status-check.sh
b.进入LuCI 的 System -& Scheduled Tasks 填入以下内容,并保存:
*/1 * * * * /etc/config/pptp-vpn/status-check.sh
以上实际上是编辑了 cron 配置,cron 每分钟运行检测 / 重连脚本,重启 cron:
/etc/init.d/cron restart
c.静待几分钟,查看 /tmp 目录,应该能看到 vpn_oldgw 和 vpn_status_check.log 文件,查看
vpn_status_check.log 文件,可以看到最近一次检测 VPN 连接状态的时间。
root@FC_R0:/tmp# ls vpn*
vpn_status_check.log
root@FC_R0:/tmp# cat vpn_status_check.log
Tue Jul 15 00:04:02 HKT 2014
root@FC_R0:/tmp#
你可以在 LuCI 中断开 VPN 接口,在接下来的4-5分钟,观察 WAN 和 VPN 的重连情况。
d.分别 traceroute
,观察第二跳的地址:
FL-MBP:~ fatlyz$ traceroute
| head -n 3
traceroute: Warning:
ha using 74.125.239.115
traceroute to
(74.125.239.115), 64 hops max, 52 byte packets
fc_r0.lan (192.168.7.1)
10.7.0.1 (10.7.0.1)
193.747 ms
187.789 ms
289.744 ms
23.92.24.2 (23.92.24.2)
259.323 ms
354.625 ms
408.535 ms
FL-MBP:~ fatlyz$ traceroute
| head -n 3
traceroute to www. (180.76.3.151), 64 hops max, 52 byte packets
fc_r0.lan (192.168.7.1)
58.111.43.1 (58.111.43.1)
183.56.35.133 (183.56.35.133)
可以看出,已成功对国内外的目标地址进行了路由选择。
至此,OpenWRT 路由的基本配置、PPTP VPN、chnroutes 和自动重连已经配置完成。
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条热点热点热点专题
24H热文一周话题本月最赞
讲师:30797人学习过
讲师:27128人学习过
讲师:15524人学习过
精选博文论坛热帖下载排行
全书分为基础篇、高级篇和应用篇3个部分,共18章,有重点、分层次地讲解SQL Server 2005的基础知识、高级使用技巧和项目应用方法。第1~10...
订阅51CTO邮刊

我要回帖

更多关于 路由器主要生产厂商 的文章

 

随机推荐