Cisco小失误,大麻烦

2023-11-02 19:10
文章标签 麻烦 cisco 失误

本文主要是介绍Cisco小失误,大麻烦,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  Linksys Wireless-G Router (model WRT54G),Cisco / Linksys 在2003年发行的这款无线路由器使用802.11g标准使得带宽在理论上能够达到54M(2003年的时候),相对于当时业界普遍使用802.11b的11M带宽,不能不说实现了一次飞跃。它可以通过自带的DSL / Cable接口接入宽带互联网,对于内网则支持4个以太口交换与无线广播接入。

    2005年初国内开始销售这款路由器。国外销售价格大概为$60,相对于其他产品来说的话就跟摆地摊的货差不多了。好了,不谈这些参数的问题。关键是:同年有好事者在 Linux Kernel Mailing List 搜索 WRT54G,发现它的IOS是基于Linux,然而Linux基于GPL发布许可证,就是 GNU General Public License。该许可证规定Cisco应该把WRT54G的IOS的源代码公开。本来Cisco拒绝公开源代码,最后,03年三月份的时候,基于公众压力Linksys公开了WRT54G的源代码。

    故事本来到这里就结束了,然而相反,结果越闹越大:有了源代码以后,开发者便清楚知道代码如何控制路由器的硬件,并且掌握了一些通过增加新的代码到原有的IOS当中去 —— 使得硬件支持更多的Feature的技术。这些开发者组成了一个项目开发团队,不断对原来的IOS进行更新,编码,加入新的特性。现在他们手上的WRT54G无线路由器的能力已经大大超过了原来Cisco设计的地摊货的设计思路。不但如此,随着这两年互联网Web 2.0技术的发展,不同的开发团队之间找到了更好的协同工作平台,其规模不亚于TAC。他们最近建立了一个DD-WRT项目的Wiki站点将全套文档以及代码公开发布。使用DD-WRT项目提供的源代码,重新升级WRT54G以后你就能够获得一台相当于$600左右的中端无线路由器了。

OpenWrt
http://openwrt.org/

OpenWrtDocs
http://wiki.openwrt.org/

DD-WRT
http://www.dd-wrt.com/

 

关于开源无线路由器的资料

由于做项目的需要和自己的爱好,最近在找关于无线路由器的资料,找到了些相关的资料,在这里总结一下。

一、无线路由器与无线AP的区别

(资料来源:详谈无线路由器与无线AP的区别

APAccess Point简称,一般翻译为“访问节点”,无线AP主要是提供无线工作站对有线局域网和从有线局域网对无线工作站的访问,在访问接入点覆盖范围内的无线工作站可以通过它进行相互通信。通俗的讲,无线AP是无线网和有线网之间沟通的桥梁。

当前的无线AP可以分为两类:单纯型AP扩展型AP

单纯型AP的功能相对比较简单,缺少路由功能,只能当无线集线器。相当于一个无线交换机,接在有线交换机或路由器上,为跟它连接的无线网卡从路由器那里分得IP

扩展型AP也就是市场上的无线路由器,由于它功能比较全面,大多数扩展型AP不但具有路由交换功能还有DHCP网络防火墙和端口映射等功能。它是单纯型AP与宽带路由器的结合体;它借助于路由器功能,可实现家庭无线网络中的Internet连接共享,实现ADSL和小区宽带的无线共享接入 ,另外还可以把通过它进行无线和有线连接的终端都分配到一个子网,这样子网内的各种设备交换数据非常方便。简单地说,无线路由器就是AP、路由功能和交换机的集合体,支持有线无线主机组成同一子网,直接接上MODEM

现在市场上的无线AP大多属于扩展型AP,它们在短距离范围内是可以相互联的;如果大家需要传输的距离比较远,那么就需要无线网桥和专门的天线等设备,其实无线网桥也是无线AP的一种。

二、理解路由的概念与原理

这里需要网络知识,可以稍微学习理解一下TCP/IP协议,以及数据链路层与网络层的交互。路由层的知识摘录如下:(资料来源:路由器原理及路由协议的基础知识



路由器工作在OSI模型中的第三层,即网络层;同时也是TCP/IP协议的第三层,即网际层。 路由器利用网络层定义的“逻辑”网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的数据均先被送到路由器,再由路由器转发出去。

IP路由器只转发IP分组,把其余的部分挡在网内(包括广播),从而保持各个网络具有相对的独立性,这样可以组成具有许多网络(子网)互连的大型的网络。由于是在网络层的互连,路由器可方便地连接不同类型的网络,只要网络层运行的是IP协议,通过路由器就可互连起来。

网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32bit,并且两者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(gateway)出去。不同网络号的IP地址不能直接通信,即使它们接在一起,也不能通信。

路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上。

IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。



想要更好的学习无线路由器的技术和知识,最好的办法就是实践,搞一块无线路由的开发板。有幸的是,由于我们可敬的Linux hacker前辈们的努力,让现在许多MIPS芯片的无线路由产品变成了廉价的开发板,35百元有可以买到一个不错的。下面我就把搜到的资料分享一下:

三、开源的无线路由软件及相关产品

(参考资料:LINKSYS 摘记

针对无线路由器进行刷新固件的操作并且开源是在Linksys产品中首次出现的。具体的原因请看Cisco小失误,大麻烦》

在这之后,Linux爱好者们利用这些资源发展出了很多无线路由的Linux发行版,下面介绍一下主流的无线路由的Linux发行版:

Open-WRT

国内最早兴起刷固件行动的人基本上都是将自己的设备刷新成Open-WRT,由此可见Open-WRT的影响力。 该固件通过SSH加密协议来配置,和Cisco设备在很多指令和操作上类似,不过由于该固件的开发进度非常缓慢,新版本更新比较慢,所以它的角色已被DD -WRT等新近“崛起”的固件所取代。

所支持的硬件 源码下载



DD-WRT

该固件是国内外目前最为流行的固件之一,它是在Open-WRT固件的基础上改进后发布的,很多功能都是取自Open-WRT。在应用范围上DD-WRT支持极多硬件平台,并且新版本的发布也很及时。

所支持的硬件 源码下载(源代码在others/sourcecode/目录下) DD-WRT Wiki



HyperWRT

以稳定著称的第三方固件,不过功能上要比前两种稍逊一筹。从核心代码上比较,它是最接近于Linksys官方Firmware的固件。对很多用户来说,新功能、新应用的出现是他们刷新固件的主要动力,如果只是单一的稳定,那么直接使用官方默认固件即可。

源码下载



Tomato

这是一款非常火爆、逐渐流行的固件,个头比较小,外号“番茄”,实际使用起来非常稳定(与DD-WRT比较,我同事亲身体验的),基于SVG的图形化流量图非常有特色。它是由 HyperWRT研发团队中的一个组员开发的。个小功能强是它的最大特点,这也是越来越多的玩家和无线路由器发烧友脱离DD-WRT阵营转投“番茄”门下 的主要原因。

所支持的硬件和源代码都在主页有



FreeWRT

也是一个比较不错的发行版,他的一个重要特点是:你不仅可以下载源码来自己配置编译,还可以通过网页直接产生定制的镜像文件所支持的硬件

四、支持开源Linux的无线路由器产品及其购买指南

开源无线路由的硬件产品现在很多,都是MIPS核心的片,而且基本都是使用broadcom芯片为CPU,并加miniPCI接口的无线网卡,flash存储器使用NOR flash内存有大有小(小到8MB,大到128MB。软件支持的硬件型号在发行版的网站上有说明。

但是产品哪里有售呢?买做好的产品,要是刷坏了不好办阿!所以一些商家把二手的无线路由加以改进(基本是加大RAMFlash),并找出串口和JTAG口,引出USB口,拿裸板来卖,方便发烧友们折腾!这里我强烈建议买有引出JTAG接口的无线路由来折腾,这样比较安全,基本刷不死。

淘宝上有很多这些开发板性质的无线路由,但是最有名卖家还属恩山淘宝店铺,他们不仅有许多开发板性质的Linksys无线路由裸板,还有自己的论坛,技术支持有保证。同时您也可以在他们的论坛中的个人物品转让或求购专区中找到二手转让的板子。

经过我的搜索还有一个很强悍的无线路由开发板:RouterStation Pro,同时著名的无线设备生产商UBNT的产品,他们很值得一买,好像这个公司据说是UBNT的代理。

五、开源Linux的无线路由器刷机简要指南

对于刷机更新路由的固件,最简单的方法当然是在发行版的网站下载你所需要的刷机包(一个bin文件),通过登录路由的管理界面来更新,但设个方法可能并不能满足所有要求,特别是对于开发者来讲。

对于这些开源的Linux无线路由的所有软件都存在Nor flash里,而在flash里的内容主要有:

root@Tekkaman WRT:/dev# cat /proc/mtd

dev: size erasesize name

mtd0: 00040000 00010000 "cfe"

mtd1: 007b0000 00010000 "linux"

mtd2: 004dd400 00010000 "rootfs"

mtd3: 00010000 00002000 "nvram"

mtd4: 001f0000 00010000 "ddwrt"

(以 WRT300N Version 1.1刷上了DDWRT为例)

cfeCommon Firmware Environment 通用固件环境,也就是嵌入是系统中的bootloader,或者电脑中的BIOS,负责初始化主板,并启动操作系统,同时具备网络功能、刷写其他分区、修改启动参数和操作主板上的硬件的能力,可以说是一个功能强大的bootloader。在这里有详细的介绍,boardcom还提供其源码(包含说明文档)和开发工具的下载。在cfe分区中存放了cfe及其使用的参数。

linux就是存放Linux内核的分区

rootfs就是存放Linux系统必须的根文件系统的分区。

nvram存放路由器在进入Linux系统后,运行路由和无线控制程序所需要的参数的分区,比如拨号是所需的帐户、秘密,路由器的名字、SSID等等,几乎所有关键的参数。顾名思义,Linux把这个分区当作非易失性的ram来使用。

ddwrt应该是DD-WRT使用的分区,但我将其备份出发现,什么数据都没有,功能我尚不明确。



对于刷机来说,首先要有刷机的原料:刷机包或者bin文件。获得这些东西一是通过发行版的网站获得,还有就是从一台已经刷好的路由中备份出来,在者就是通过源代码编译出你所要的程序。在这里我之简要介绍一下如何从一台已经刷好的路由中备份出各个分区的其中一种简单的方法:(参考的帖子

1)打开路由的ftp服务;

2)通过传口或者网口登录无线路由,并执行以下命令:

root@Tekkaman WRT:~# mount -t ramfs ramfs /mnt

root@Tekkaman WRT:~# dd if=/dev/mtd/0 of=/tmp/cfe.bin

512+0 records in

512+0 records out

root@Tekkaman WRT:~# cp /tmp/cfe .bin /mnt/

3)通过PC机的ftp软件,下载已经在/mnt中的分区备份。

这样就简单的备份出了cfe分区。别的分区也可同样备份出来,对于DD-WRTrootfs分区,可能可以备份出后解开镜像文件来研究,他是一个squashfs文件系统。

如果你的路由参数被破坏了,你还可以通过刷回备份的nvram分区来恢复,方法如下:

如前所诉,通过ftp发送nvram备份到路由,然后执行:

root@Tekkaman WRT:~# cd /mnt
root@Tekkaman WRT:/mnt# mtd write nvram.bin nvram
root@Tekkaman WRT:/mnt# reboot
这样重启后设置的内容都恢复了,别的分区也可如此恢复。

其实以上介绍的方法就是一种可以在路由器的系统还可运行,并可登录的情况下刷机的方法:将备份出的分区直接在Linux下刷入系统。



如果你的系统被破坏了,无法启动,那就的看破坏的程度了:

1)如果是Linux分区被破坏了,无法进入Linux系统,但可以进入cfe,那就可以通过cfetftp方式恢复。

这种恢复方式需要连接出路由板上的UART接口(也就是论坛上说的TTL),你必须制作一个连接线,它本质上是通过一个USB转串口的芯片来实现。其实也可以将USB转串口芯片改成232电平转换芯片(比如MAX232),然后接至电脑的串口。这些东西学过电子的朋友一定不难;但是你如果嫌麻烦,你可以在恩山论坛或者淘宝购买。



路由和PC间连接好了TTL和网线后,你就可以在路由上电时,在PC的串口工具中按住CTRL-C来进入cfe命令行模式,使用tftp的方法刷机。

2)如果是cfe都被破坏了,那就是有通过JTAG口来恢复了。

这种方法你必须现制作一个并口的JTAG线,使用网上的brjtag.exe来操作路由,他可以在路由器的所有软件都被破坏后对路由器进行擦除、刷机和备份等操作。所以可以说他是砖机的救星,所以这也是我在开头推荐大家购买有JTAG接口的路由的原因。



以上对于两种方法,内容比较多。由于篇幅有限,以后我会在博客中详细介绍,你也可以到恩山的论坛上找资料。

六、总结

在一个网络飞速发展的今天,了解一点网路的知识和原理是很有益的,对于一个普通的电子爱好者,对于一个电子工程师是很重要的,对于一个嵌入式系统的工程师是必须的。而学习实践网络的好机会就是“玩”无线路由。而最好“玩”的无线路由就是开源无线路由器,从中你可以学到很多知识和技术。本文整理并介绍了一点无线路由的基本概念、路由的运作原理、主流的开源无线路由的Linux发行版、硬件购买指南及简单的刷机指南,希望对于大家认识和学习开源无线路由有一点帮助。


 


这篇关于Cisco小失误,大麻烦的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/332690

相关文章

Cisco 的 vlan ,trunk干道

Cisco 的 vlan : 编号12位二进制构成= 0-4095   其中1-4094可用 1-1005   标准vlan      任意条件均可使用               1006-4094扩展 vlan    VTP 模式为透明时使用 默认交换机存在 vlan1         vlan1002-1005  (非以太网使用) vlan1 为默认的 native vlan,默认的

跨境电商的大麻烦——黑客攻击

在如今这个全球化的数字时代,跨境电商那可是相当红火。但是您知道吗,藏在网络暗处的黑客,给这一片大好形势带来了大麻烦。 比如说,有一家知名的跨境电商平台,突然遭到黑客的 DDoS 攻击,网站瞬间陷入瘫痪,用户们不停地刷新页面,可就是加载不出来,商家们急得像热锅上的蚂蚁,那一天的订单损失惨重。还有个例子,某跨境电商的数据库被黑客通过 SQL 注入攻击给篡改了。用户的个人信息、购买记录等全都乱了套,好

第一个项目结束(??﹃??)总结下失误

历经 n 天时间, 论坛面向过程的开发,已经告一段落,从前台设计、图片修理,到实现基本功能、数据库的处理、后台的操作,初步接触了一个网站从零开始的开发,收益良多,兴趣如泉涌般爆发,给自己建立了信心。然而在开发过程中,遇到的难题、瓶颈不计其数,但在克服这些问题的过程中,获得的收益却是最大的,只有遇到了这些问题,以后才可以避免这些问题,人都是在不断的犯错中成长,编程技术也是如此,在此,感谢这些错

遇到麻烦问题的解决~

Q:通过ssh、ftp、telnet、访问虚拟机时特别慢,如何解决? A:一般是因为DNS的配置原因,可以修改 /etc/ssh/sshd_config 修改下面的 GSSAPIAuthentication noUseDNS no

c#基础,有点懵,麻烦各位进来看看

这两种写法就是一个在方法中,一个在方法外。 第一种在方法中的写法,方法执行完了的list会被释放掉吗? 抛去在在方法中创建list的消耗,在性能、内存、堆栈上是一样的吗? 本来我一直用的是第一种,今天被领导说了一下,有点懵。 这一种方法执行完了以后list有没有被释放掉 全网传媒http://quanwangif.com/

Cisco Packet Tracer实验(四)

生成树协议(Spanning Tree Protocol) 交换机在目的地址未知或接收到广播帧时是要进行广播的。如果交换机之间存在回路/环路,那么就会产生广播循环风暴,从而严重影响网络性能。 而交换机中运行的STP协议能避免交换机之间发生广播循环风暴。 只使用交换机,构建如下拓扑: 这是初始时的状态。我们可以看到交换机之间有回路,这会造成广播帧循环传送即形成广播风暴,严重影响网络性能。

你还在写麻烦的Adapter吗

前言 自从 Android 的 RecyclerView 组件发布以来,RecyclerView 成为了 Android 开发中实现容器视图的首选。要实现一个 RecyclerView,必须为其提供一个 RecyclerView.Adapter。我们来看看一个普通 Adapter 的写法: public class CommonAdapter extends RecyclerView

Cisco Packet Tracer实验(三)

续实验二 问题一:使用二层交换机连接的网络需要配置网关吗?为什么? 二层交换机作为网络设备中的一种,主要用于在局域网(LAN)内部进行数据包的转发。它工作在OSI模型的第二层(数据链路层),主要根据MAC地址来进行数据包的转发和过滤。 二层交换机能够通过学习MAC地址表来确定数据包的最佳转发路径,从而提高局域网内部数据传输效率和安全性。 所以需要配置网关,因为用于网络之间的相互访问,

Cisco Packet Tracer实验(二)

二、用交换机构建 LAN 构建物件如下: 四个PC 两个交换机 一个Multi Switch多功能拓展控制器   连线必须是这个直线!!!不是虚线   最后实现效果如下: 全部的线是绿的,就表示是通的。 尝试一下,看PC11能否ping通PC13、PC14、PC15? 发现只能ping通PC13,而ping不通PC14、PC15,为什么?

某公司网络拓扑设计——基于cisco packet tracer的使用

项目要求 1、 公司共约40 名员工,每人一台电脑。公司内有行政部、市场部、开发部和客户服 务部四个部门,其中开发部有员工15 名,市场部和客户服务部各有员工10 名,行政部 员工5 名。  2 、公司通过一条光纤专线接入Internet ,运营商分配给公司2 个IP 地址,分别为IP1 : 221.10.251.217 和IP2 :221.10.251.218 ,掩码均为:255.255.2