本节书摘源自异步社区出的《智能路由器开发指南》这本书里的第1章,第1.1节,作者是张永智,李章明,更多章节内容能够前往云栖社区“异步社区”公众号去查看。
第1章 智能路由器概述
近些年,智能路由器范畴愈发热门,然而此方面的研发资料极为稀少,而且并未形成系统。所以,这本书针对智能路由器范畴的研发予以了详尽阐释,还能够用来指引其他智能家庭装置的研发。
现今,接入网络的家庭用户终端数量日益增多,致使路由器控制变得愈发复杂,所以,需要一个智能网关来管理家庭的设备。此外这个直接连在互联网上的智能网关,要求对家庭网与互联网的连接实施隔离,故而需要具备防火墙功能。智能路由器如同智能手机,它的定义并非像其字面意思所呈现的那样(能够智能地选择路由),而是其带有可扩展功能,用户能够自行安装软件予以扩充。传统的路由器则仅仅能够对厂商自身的操作系统版本进行升级,并且没有提供扩展接口。
无线接入在公共场所属于一种大需求,所以无线接入市场正变得越来越大,接入相关费用该由谁来承担呢,一种思路是由商家来提供接入费用,还有另外一种思路是经由广告来分摊接入费用。OpenWrt是这样的一个智能路由器操作系统,它能够为这类用户提供像Web认证等成熟功能以供选择。
Linux发行版OpenWrt,是面向嵌入式设备的,具备极高可扩展性的,能够较为轻易地从无到有营造出功能完备的智能路由或者服务器设备的东西。
1.1 OpenWrt简介
OpenWrt是针对嵌入式设备的操作系统,它属于Linux发行版范畴,并且是按照GPL许可协议来进行发行的。
OpenWrt项目起始于2004年1月,它的第一个版本运用了LinkSys的源码。LinkSys代码收费之后,改成采用正式发布的Linux内核来进行集成,还把OpenWrt彻彻底底地模块化,持续不断地推出补丁以及驱动。OpenWrt的主要特性在于它具有高扩展性,而且文件系统是可写的,开发者在每一次修改后无需完全重新编译,只要编译自身的软件包就行,如此便加快了开发的进程。OpenWrt另外给予了SDK,每个运行的软件全部都能够凭借SDK去开展编译,以软件包的形式予以安装以及卸载,它的主要特性存在底下这几个。
OpenWrt历史
2004年,乃是迈克·贝克与格里·罗泽马创立OpenWrt之时,迄于如今已历经12年之发展历程了。OpenWrt会定期去发布版本,其发行版本是以代码线以及日期当作版本号的。它的首个正式版是Kamikaze 7.06,第二个正式版本则是Backfire 10.03。
Backfire
2010年4月7日,OpenWrt发布了Backfire 10.03正式版,相对上一个稳定版本,它的内核被升级为Linux 2.6.32,使用了新的Web服务器uhttpd,支持了一些新的平台硬件,像TP-Link TL-WR1043ND等,增加了机器可读的版本信息/etc/openwrt_release。
在2011年12月21日的时候,OpenWrt发布了Backfire 10.03.1正式版,在这个期间,OpenWrt发布了6个RC版本,这一版本把内核升级成Linux 2.6.32.16,修正了许多BUG,还增加了对TP – Link、TL – MR3420等的支持。
Attitude Adjustment
在2013年4月25日的时候,OpenWrt发布了12.09正式版,相较于Backfire版本,Attitude Adjustment把内核更新成Linux 3.3,改进了并行编译支持,采用密文存储密码,各种防火墙功能得到增强,无线驱动更新且稳定性增强,新平台支持ramips、bcm2708(树莓派)等,发布镜像文件中支持网桥防火墙。
Barrier Breaker
2014年7月31日,OpenWrt发布了14.07正式版,相较于Attitude Adjustment版本,内核至3.10,添加了原生IPv6支持,文件系统得以增强,UCI配置也有增强,能支持测试配置以及回滚最近工作状态机制,还增添了配置更改依照需求触发服务重启机制,网络功能得到增强,能够支持动态防火墙规则,增添了网桥从多播传输到单播传输的转换等。
Chaos Calmer
OpenWrt在2015年9月11日推出了15.05正式版,Chaos Calmer期间发布了3个RC版本,相较于Barrier Breaker,其内核提升到了3.18,网络功能得以强化,增添了多个3个G/4G路由器支持,改良了IPv6等如功能增强那般的举措,还增添了对自管理网络的支持,有各种平台以及驱动设备的支持,像是飞思卡尔i.MX23/28系列等各类品牌,并且增加了对树莓派的支持。此版本于存在运行问题的64位,平台的VirtualBox下运行,情况属实。

注1:就各种硬件平台而言,内核版本有可能并非一样。这是由于每个平台的内核版本是在单独的文件里进行定义的(具体位置为target/linux// Makefile:LINUX_VERSION),并且在Barrier Breaker以及之后的发布版本当中,内核版本定义变量已变更成KERNEL_PATCHVER。
提示二:最为新颖的那两个予以发布的版本,未曾进行标签的创建,要依据SVN版本的编号,去开展代码的下载。
注意事项3:在2016年3月的时候,OpenWrt已经从SVN代码仓库进行切换了,切换到了Git代码仓库那儿,所以,它不再对SVN提供支持了。
未经允许不得转载:openwrt技术分享 » OpenWrt网络配置实战:智能路由器开发指南精选

openwrt技术分享
微信关注,获取更多