OpenWrt——神奇的路由系统
鉴于最近大家对这个系统比较感兴趣而且疑问很多所以本渣就整理下我对这个系统的理解和最实用的802.1x认证的理解。还望大家多多互相交流。
如果您时间紧张直接看最后的步骤,时间充裕的请仔细阅读,理解。
OpenWrt是一个基于linux内核的路由器操作系统。这就和我们最常用的windows系列的操作系统一样,至于为什么路由器不用windows系统我的理解是路由器不论是CPU还是内存都比较小 而且路由器需要的是长期稳定的工作 再加上linux自身的轻量级和自身防火墙(与UNXI相比)等等方面的优势所以绝大多数路由器或者说网络硬件设备都是linux内核的。整个使用路由器的过程是这样的:
1.选取一个可以支持OpenWrt的路由器,主要是看CPU型号,内存之类大部分可以自行更换,常用的有BCM63XX、AR71XX、RT305等等。具体可以参看 https://dev.openwrt.org.cn/wiki/platforms
这里有读者就想问了为什么别的路由器不支持OpenWrt呢或者说是不是所有的路由都支持OpenWrt呢? 答案是否定的,首先这个系统需要一定的硬件开销 很早之前的路由硬件已经不足以支持这个系统正常使用 再或者说某些路由过于陈旧现在的网络环境已经很少见到了 所以OpenWrt开发者就没有针对这些路由做相关开发。
2.刷机,也就是把OpenWrt系统刷到路由器上,这个我们电脑装XP或者WIN7一个道理。这点也是新手最难上手的,一个操作不慎就会导致路由器刷死、刷砖的情况。个人建议提前准备好TTL线(原因如下:TTL线刷机比较稳定 不容易刷死,TTL也是救砖利器)。TTL搞不定就可以考虑使用JTAG来救砖,不过鉴于二手路由都比较便宜可以考虑再买一个。
3.选取合适的拨号程序。了解现在使用的802.1x认证客户端的版本号,再搜寻合适的拨号程序(有很多代替的拨号程序 在此我只介绍njit)。 注意搜到的njit一定要对应你的路由的CPU型号。有可能你会直接搜到对应版本的njit的安装包 这样最省事直接下载好再传到路由器flash里配置好账户密码等信息就可以使用了,还有种情况就是搜到的是源码没有对应的安装包 这时就需要自己编译。可以找一个懂的人帮你或者自己来,建议新手使用虚拟机安装Ubuntu系统编译njit。具体过程可以参看 https://dev.openwrt.org.cn/wiki/DevelopmentIndex 编译好之后用ftp之类的工具取回来再传到路由器flash里就好了。
4.配置参数。这个就很简单了,正常情况只要配置好账号和密码就可以使用。
整个过程的一些特殊情况:
1.自行编译的时候最好直接使用真机来编译,虚拟机难免会出现各种奇葩的问题(不推荐新手使用真机)。
2.你发现你版本号没有对应的代替拨号软件。那真是恭喜你 哈哈 你使用的软件版本过高开发人员还没有推出相应的代替软件。在这种情况下有两条路你可以选:①等开发人员出对应版本的拨号软件 不过可能等着出来的时候你的软件也会变成更高版本的哦。②自行编写代替软件。关于这点我建议几点:抓包、反汇编(不过这是违法的哦 自己小心查水表)、一定的程序编写能力。
3.你发现对应的拨号软件不能用或者会出现经常掉线的情况。不能用最大可能就是你们的ISP更换了秘钥(至于怎么办 哦呵呵大家都懂的…),掉线的话应该是心跳包过不去 或者是有一个非常奇怪的数据包过不去(我有遇到过这种情况,有一个不同的EAP认证包因为算法不对 而且服务器也采用了这个包作认证)。
待续吧 先写这么多
OpenWrt——神奇的路由系统的更多相关文章
- x86主机搭建家庭智能路由系统 ---- 设计篇
组件简介 Proxmox: 基于Debian的虚拟化系统,支持OpenVZ和KVM. pfSense: 基于FreeBSD的开源路由系统. FreeNAS: 开源NAS系统. shadowsocks: ...
- python 全栈开发,Day120(路由系统, 实例化Flask的参数, 蓝图(BluePrint), before_request after_request)
昨日内容回顾 1.Flask: from flask import Flask app = Flask(__name__) # 从源码中可以看出,Flask集成的run方法是由werkzeug中的ru ...
- Django 框架篇(四) : 视图(view)详解 以及 路由系统(url)
|--Django的View(视图) |-- CBV和FBV: |-- 给视图增加装饰器: |-- request对象: |-- response对象: |-- Django的路由系统(url): | ...
- VBox 虚拟机安装 Openwrt 做旁路由
VBox 虚拟机安装 Openwrt 做旁路由 需求:开个虚拟机做旁路由,电脑把网关设置成旁路由地址,用它跑个上网或其他什么东西. 安装及配置过程简述 这件事流程很简单,总结起来主要有以下几点: 安装 ...
- ASP.NET Core的路由[2]:路由系统的核心对象——Router
ASP.NET Core应用中的路由机制实现在RouterMiddleware中间件中,它的目的在于通过路由解析为请求找到一个匹配的处理器,同时将请求携带的数据以路由参数的形式解析出来供后续请求处理流 ...
- ASP.NET Web API路由系统:路由系统的几个核心类型
虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除 ...
- ASP.NET Web API路由系统:Web Host下的URL路由
ASP.NET Web API提供了一个独立于执行环境的抽象化的HTTP请求处理管道,而ASP.NET Web API自身的路由系统也不依赖于ASP.NET路由系统,所以它可以采用不同的寄宿方式运行于 ...
- .NET/ASP.NET Routing路由(深入解析路由系统架构原理)
阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模型的入口 4.ASP.NET Routing 路由对象模型的内部结构 4 ...
- 探索ASP.NET MVC框架之路由系统
引言 对于ASP.NET MVC的路由系统相信大家肯定不陌生.今天我们就深入ASP.NET的框架内部来看一下路由系统到底是怎么通过我们给出的地址(例如:/Home/Index)解析出Controlle ...
随机推荐
- Android --ToggleButton的使用
1. 效果图
- BZOJ4521: [Cqoi2016]手机号码
Description 人们选择手机号码时都希望号码好记.吉利.比如号码中含有几位相邻的相同数字.不含谐音不 吉利的数字等.手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号 码单 ...
- Selenium_Selenium WebDriver 中鼠标和键盘事件分析及扩展
在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 W ...
- PHP.ini文件读取不到
Configuration File (php.ini) Path /usr/local/php/lib Loaded Configuration File (none) Linux 把 dtruss ...
- tomcat配置环境变量
先把jdk配置好,这里不在赘述. 一.配置Tomcat环境变量 1,新建变量名:CATALINA_BASE,变量值:C:\tomcat2,新建变量名:CATALINA_HOME,变 量值:C:\tom ...
- 处理海量数据的高级排序之——堆排序(C++)
在面对大数据量的排序时(100W以上量级数据),通常用以下三种的排序方法效率最高O(nlogn):快速排序.归并排序,堆排序.在这个量级上,其他冒泡,选择,插入等简单排序已经无法胜任,效率极低,跟前面 ...
- Java中的super与this解析
好了,现在开始讨论this&super这两个关键字的意义和用法. 在Java中,this通常指当前对象,super则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象 ...
- JQuery基本方法介绍和使用
1.属性 $("p").addClass(css中定义的样式类型); 给某个元素添加样式 常用于表格鼠标移动效果 $(document).ready(function(){ //& ...
- jQuery获取Ajax函数的返回值
参考自: http://blog.csdn.net/crx05/article/details/7362252 function test() { var myText = ""; ...
- 支付宝APP支付之Java后台生成签名具体步骤
/** *支付宝支付 * @param orderId 订单编号 * @param actualPay 实际支付金额 * @return */ private String getOrderInfoB ...