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 ...
随机推荐
- asp.net发送邮件
using System.Net.Mail; /// 发送邮件 /// </summary> /// <param name="sender"></p ...
- [LintCode] House Robber III 打家劫舍之三
The thief has found himself a new place for his thievery again. There is only one entrance to this a ...
- servlet session 相关
1.session是server维护的一个变量,如果消除每个session?----这里只做指定key的session删除 1.1.显示调用 废除指定key的session session.remov ...
- jQuery的常用事件
1.$(document).ready() $(document).ready()是jQuery中响应JavaScript内置的onload事件并执行任务的一种典型方式.它和onload具有类似的效果 ...
- HDU 4006 优先队列
The kth great number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Oth ...
- JSP + AJAX完整实例及代码
(1)发送请求index.jsp,注意引入jquery.min.js文件 <%@ page language="java" contentType="text/ht ...
- 利用logminer恢复delete误删除操作的数据
1环境准备 日志挖掘可以基于日志.基于时间.基于SCN分析,这里我们将演示一个基于SCN的分析案例. 开启补充日志功能(必须开始,否则不能捕获DML操作日志): 创建一张livan表,往里面插入了14 ...
- js控制滚动条平滑滚动到制定位置
http://www.daixiaorui.com/read/92.html 滚动到顶部: $('.scroll_top').click(function(){$('html,body').anima ...
- Java面试题大全(二)
41.是否可以继承String类? String类是final类故不可以继承. 42.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? switch(expr1 ...
- Mysql新建表,插入中文时报错“Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column”问题
有时候我们在往数据库中输入信息时,如果输入的内容是中文,会报错“Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column”. 例如: ...