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 ...
随机推荐
- HDU 1520 树形dp裸题
1.HDU 1520 Anniversary party 2.总结:第一道树形dp,有点纠结 题意:公司聚会,员工与直接上司不能同时来,求最大权值和 #include<iostream> ...
- be supposed to
be supposed to 期望; 認為必須, 認為應該; 認為...... 期望; 認為必須, 認為應該; 認為...必要 Am I supposed to clean all the rooms ...
- SQL Server 插入数据后获得自增主键值
通过SQLServer系统自带函数获取 String sql = "insert into goods values('" + TextBox1.Text + "',&q ...
- Eclipse安装nodeclipse插件
1. Start Eclipse, then select Help > Install New Software... 2. Enter the update site URL into th ...
- 教你彻底解决css中设置z-index的值无效的问题
在使用z-index这个属性之前,我们必须先了解使用z-index的必要条件: 1.要想给元素设置z-index样式,必须先让它变成定位元素,说的明白一点,就是要给元素设置一个postion:rela ...
- thinkphp上传至服务器后模板无法解析原因
前几日做好的响应式静态页面上传至虚拟空间,打开网址地址出现: 模板不存在:./app/Home/View/Index/index.html 错误位置 FILE: /home/u333385714/pu ...
- ajax测试Demo以及json简单的转化
Ajax是局部刷新,并不影响页面其他的操作 实例1:本测试是演示利用Ajax在一个页面播放视频,点击赞和踩按钮,视频不会受影响, 新建一个ajaxTest.html页面 <!DOCTYPE ht ...
- Hibernate saveOrUpdate方法到底是怎么执行的?
saveOrUpdate方法,如果传入的对象有主键就执行更新,没有就执行新增.这句话误导了很多人. 究竟是执行新增还是更新,是要有上下文环境的.这个环境就是主键策略的选择. 主键生成方式为 手动设置: ...
- Xstream(对象和xml转换)
package com.vcredit.framework.utils; import java.io.Writer; import org.apache.commons.lang3.StringUt ...
- usaco 2016 Feb 负载平衡
题目大意:平面上一堆点,用两条平行于坐标轴的直线将其分为四部分,使得点数最多的一部分最少 第一维枚举,第二维三分,点集用两棵树状数组维护 #include<bits/stdc++.h> # ...