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 ...
随机推荐
- 【CodeVS】 p1225 八数码难题
题目描述 Description Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们.问题描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字 ...
- 两种不同png图片的在项目中的运用
png图片主要分为两种 png-8和png-24. PNG8和PNG24后面的数字则是代表这种PNG格式最多可以索引和存储的颜色值.”8″代表2的8次方也就是256色,而24则代表2的24次方大概有1 ...
- 实现UITableView循环利用
tableViewUITableView循环利用 前言 大家都知道UITableView,最经典在于循环利用,这里我自己模仿UITableView循环利用,写了一套自己的TableView实现方案,希 ...
- windows一些快捷键
1.Win + __ 1)Win + L 锁屏 2)Win + E 资源管理器(就是打开硬盘) 3)Win + D 回到桌面 4)Win + Tab 3D方式切换程序窗口 5)Win + R 运行命令 ...
- VS2010 F5调试时出现:“ 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常”解决
VS2010 F5调试时出现 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常 两个解决方法:1) 打开项目属性,选择调试选项卡,将“启用非托管代码调试”一项钩上.2) 打开项目属性,选择调试选 ...
- Scala命令设置JVM参数的规则
Scala下设置JVM参数简单分析 Scala 启动shell脚本,简化后的scala REPL 启动命令大致如下所示: java -Xmx256M -Xms32M \-Xbootclasspath/ ...
- HTML--JS练习小游戏(别踩白块儿)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js console 一些拓展技巧
console.time 方法 / console.timeEnd() 方法 统计一段代码的执行时间, 形参必须一致 console.time("string"); for(var ...
- CNUOJ 2104 Day6-例3
http://privateoj.cnuschool.org.cn/oj/home/problem.htm?problemID=2104 题的网址 没什么好解释的,用DFS= = 最开始记着把f数组下 ...
- String的hashcode(java)
hashCode就是我们所说的散列码,使用hashCode算法可以帮助我们进行高效率的查找,例如HashMap,说hashCode之前,先来看看Object类. Java程序中所有类的直接或间接父类, ...