关于ROUTER的一些笔记

来源:互联网 发布:网络验证防破解 编辑:程序博客网 时间:2024/05/13 02:01
Chapter8 Managing a Cisco Interwork

  The Internal Components of a Cisco Router

  Cisco Router的一些组件:

  bootstrap:存储在ROM中的微码(microcode)中,用来在初始化的时候启动router,然后加载IOS
  POST:存储在ROM中的微码中,用来检查硬件基本配置是否正常,然后决定哪些接口可用
  ROM monitor:存储在ROM中的微码中,作用是测试和排疑等
Mini-IOS:Cisco叫它RXBOOT或bootloader,它是存储在ROM中的,IOS的简化版本,用来把IOS加载到闪存中
  RAM(random-access memory):用来保存数据包缓存,ARP缓存,路由表,和running-config配置文件.某些router上,IOS可以从RAM中运行
  ROM(read-only memory):用来启动和维持router正常化
  Flash memory(闪存):用来存放IOS,当router重新启动的时候闪存是不会被擦除的,由Intel创造的EEPROM
  NVRAM(nonvolatile RAM):存储startup-config配置文件,当router重新启动的后,这些文件是不会被擦除的
  configuration register:用来控制router如何启动,这个值可以使用show version来查看,一般为0x2102(16进制),含义是告诉router从闪存里加载IOS和从NVRAM里加载配置文件

  The Router Boot Sequence

  启动序列用来测试硬件和加载所必需的软件,包括以下几个步骤:
  1.先进行POST,测试硬件
  2.bootstrap查找和加载IOS
  3.IOS在NVRAM中查找有效的startup-comfig配置文件
  4.如果在NVRAM里查找到了这个配置文件,router就可操作;如果文件不存在,router进到setup模式
  Managing Configuration Registers

  Cisco的router有1个存储在NVRAM中的,16位长的configuration register.默认这个值0x2102设置成从闪存中加载IOS和从NVRAM中查找启动配置文件

  Understanding the Configuration Register Bits

  一些常见的位的含义:
  1.第0到3位:启动字段
  2.第6位:忽略NVRAM内容
  3.第8位:禁用BREAK

  启动字段(00到03):
  1.设置成00:ROM monitor模式,进入到这个模式,configuration register的值设置成2100.然后要启动router的话需要手动在命令行提示符rommon>下输入b(感觉有点类似Solaris的OpenBoot哈哈)
  2.设置成01:从ROM中的镜象启动,把configuration register的值设置成2101,提示符为router(boot)>
  3.设置成02到0F:定义默认启动文件名,在NVRAM中查找

  Checking the Current Configuration Register value

  使用show version命令可以查看当前configuration register的值,在输出的最下部分.这个命令将会显示硬件的配置信息,软件版本,配置文件信息,启动镜象等

  Changing the Configuration Register

  可以通过修改configuration register的值来决定router的启动和运行方式.在全局配置模式下使用config-register的命令.修改值为0x101,注意输出内容,如下:
  Router(config)#config-register 0x101
  Router(config)#^Z
  Router#sh ver
  (略)
  Configuration register is 0x2102 (will be 0x0101 at next reload)
  注意修改后的值和当前值,修改后的值只在重新启动后生效

  Recovering Passwords

  如果你把密码忘记了怎么办?之前提到过,位6可以忽略掉NVRAM里的储存的启动配置文件的内容,默认是0x2102,所以我们把值修改成0x2142,就可以达到忽略NVRAM这个效果.下面是密码恢复的主要几个步骤:
  1.在启动router的时候使用BREAK中断启动
  2.把configuration register的值设置成0x2142
  3.重新启动
  4.进入特权模式
  5.把startup-config文件复制到running-config文件中
  6.修改密码
  7.把configuration register的值还原为0x2102
  8.保存配置
  9.重新启动

  具体的修改,2500系列和2600系列有一点不一样,我们先来看2600系列的修改实例,使用Ctrl+BREAK中断启动.注意提示monitor: command “boot” aborted due to user interrupt.
  如下:
  System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)
  (略)
  PC = 0xfff0a530, Vector = 0x500, SP = 0x80004374
  monitor: command “boot” aborted due to user interrupt
  rommon 1 >confreg 0x2142
  You must reset or power cycle for new config to take effect

  提示重新启动,如下:
  rommon 1>reset
  重新启动后,进入特权模式,把startup-config复制到running-config中,并修改密码.如下:
  Router#copy run start
  Router#conf t
  Router(config)#enable secret noko

  把configuration register的值还原,并保存,如下:
  Router(config)#config-register 0x2102
  Router(config)#^Z
  Router#copy run start

  2500系列下的修改,在启动时输入o中断启动,再用o/r修改configuration register的值,如下:
  System Bootstrap, Version 11.0(10c), SOFTWARE
  (略)
  Abort at 0x1098FEC (PC)
  >o
  (略)
  >0x2142
  重新启动,输入I,如下:
  >I
  接下来的步骤和2600系列一样,如下:
  Router#copy run start
  Router#conf t
  Router(config)#enable secret noko
  把configuration register的值还原,并保存,如下:
  Router(config)#config-register 0x2102
  Router(config)#^Z
  Router#copy run start

  Backing Up and Restoring the Cisco IOS

  把IOS备份到TFTP服务器前的准备工作:
  1.确认你可以访问TFTP服务器
  2.确认TFTP服务器是否有足够空间来保存IOS文件
  3.确定名称和路径

  Verifying Flash Memory  

  验证闪存信息,使用show flash命令,如下:
  Router#sh flash
  System flash directory:
  File Length Name/status
  1 8121000 c2500-js-l.112-18.bin
  Backing Up the Cisco IOS

  把IOS备份到TFTP服务器上,特权模式下使用copy flash tftp命令,记住备份之前最好对服务器ping下看是否是通的

  Restoring or Upgrading the Cisco Router IOS

  从TFTP恢复或者升级IOS,特权模式下使用copy tftp flash命令

  Backing Up and Restore the Cisco Configuration

  把配置文件备份到TFTP服务器,和把IOS备份到TFTP服务器的命令类似;恢复也是如此:
  1.startup-config文件的备份:copy startup-config tftp
  2.startup-config文件的恢复:copy tftp startup-config
  3.running-config文件的备份:copy running-config tftp
  4.running-config文件的恢复:copy tftp running-config

  验证命令为show running-config和show startup-config

  Erasing the Configuration

  擦除启动配置文件startup-config文件,在特权模式下使用erase startup-config命令,擦除了以后,立即重新启动的话,router将进到setup模式

  Using Cisco Discovery Protocol(CDP)

  Cisco发现协议(CDP)是Cisco私有,帮助用来管理员收集本地相连和远程设备的信息.

  Getting CDP Timers and Holdtime Information

  之前提到过CDP的一些介绍,show cdp命令提供2个信息给你:
  1.CDP timer:CDP包传给每个活跃接口的时间间隔,默认是60秒
  2.CDP holdtime:某设备从相邻设备收到的包的保持时间,默认是180秒
  如下:
  Router#sh cdp
  Global CDP information:
  Sending CDP packets every 60 seconds
  Sending a holdtime value of 180 seconds
  Router#
  可以修改默认的时间,分别在全局配置模式下使用cdp timer和cdp holdtime命令,如下:
  Router#conf t
  Router(config)#cdp timer 90
  Router(config)#cdp holdtime 240
  在所有接口上关闭CDP,在全局配置模式下使用no cdp run命令;关闭某个接口的CDP使用no cdp enable命令.再次打开分别使用cdp run和ccdp enable命令.如下:
  Router(config)#no cdp run
  Router(config)#int fa0/1
  Router(config-if)#no cdp enable

  Gathering Neighbor Information

  使用show cdp neighbour可以显示直接相连的设备的信息,如下:
  Router#sh cdp nei
  Capability Codes: R – Router, T – Trans Bridge,
  B – Source Route Bridge, S – Switch, H – Host,
  I – IGMP, r – Repeater
  Device ID Local Intrfce Holdtime Capability Platform Port ID
  1900Switch Eth 0 238 T S 1900 2
  2500B Ser 0 138 R 2500 Ser 0
  Router#
  一些选项的解释如下:
  1.Device ID:直接相连的设备的主机名
  2.Local Interface:接收CDP包的接口
  3.Holdtime:某设备从相邻设备收到的包的保持时间,如果过了这个时间仍然没收到新的CDP包,就将被丢弃
  4.Capability:见输出最顶部信息
  5.Platform:Cisco设备的类型
  6.Port ID:相连设备的接受CDP包信息的接口
  要查看更为详细的CDP信息可以使用show cdp neighbor detail或show cdp entry *命令
  Gathering Interface Traffic Information

  使用show cdp traffic命令显示接口CDP包流量信息,如下:
  Router#sh cdp traffic
  CDP counters:
  Packets output: 13, Input: 8
  Hdr syntax: 0, Chksum error: 0, Encaps failed: 0
  No memory: 0, Invalid packet: 0, Fragmented: 0
  Router#

  Gathering Port and Interface Information

  使用show cdp interface命令显示接口的CDP状态信息

  Using Telnet

  在特权模式下使用telnet [IP地址]的命令进行telnet,如下:
  Router#telnet 172.16.10.2
  Trying 172.16.10.2 … Open
  Password required, but none set
  [Connection to 172.16.10.2 closed by foreign host]
  Router#
  由上面提示可以看出,VTY没有密码配置的话是不允许你telnet的(除非你使用了no login命令,但是安全性几乎为0).所以在telnet前,记得先给目标设备的VTY线路配置密码

  Telnetting into Multiple Devices Simultaneously

  当你telnet到远程设备的时候,可以在任何情况下使用exit命令来终止连接.但是假如你想保持这个连接,同时又对另外1个设备进行telnet的时候,使用Ctrl+Shift+6,再按下X键,就可以回到本地console,再对另外1设备进行telnet.如下:
  2500#telnet 172.16.10.2
  Trying 172.16.10.2 … Open
  User Access Verification
  Password:
  2600>[Ctrl+Shift+6,X]
  2500#telnet 192.168.0.32
  (略)

  Checking Telnet Connections

  查看从本地到远程的连接会话,使用show sessions命令,如下:
  2500#sh sessions
  Conn Host Address Byte Idle Conn Name
  1 172.16.10.2 172.16.10.2 0 0 172.16.10.2
  *2 192.168.0.32 192.168.0.32 0 0 192.168.0.32
  2500#
  注意*所在的会话代表你的最后1个会话,可以直接敲2下Enter键回到*号会话,也可以输入前面的数字,再敲2下Enter键回到相应会话
  Checking Telnet Users

  使用show users命令列举本地所有活动console和VTY端口,如下:
  2500#sh users
  Line User Host(s) Idle Location
  * 0 con 0 172.16.10.2 00:07:52
  192.168.0.32 00:07:18
  注意上面输出的con代表本地console,这个例子可以看到从本地console连接了远程的2个设备.接下来在我们远程设备上使用这个命令,如下:
  2600>sh users
  Line User Host(s) Idle Location
0 con 0 idle 9
  *2 vty 0
  这个输出内容可以看出console是活动的,而且VTY端口2被使用

  Closing Telnet Sessions

  之前说过,要终止telnet会话,在远程(被telnet)设备上使用exit命令.但是要从本地设备终止会话的话,就需要在本地使用disconnect命令,如下:
  2500#disconnect ?
  <1-2> The number of an active network connection
  WORD The name of an active network connection

  2500#disconnect 1
  Closing connection to 172.16.10.2 [confirm]
  2500#
  验证如下:
  2600#sh users
  Line User Host(s) Idle Location
  *0 con 0 idle 0
  1 aux 0 idle 0
  2 vty 0 idle 172.16.10.1
  清除连接,使用clear line命令,并验证,如下:
  2600#clear line 2
  [confirm]
  [OK]
  2600#sh users
  Line User Host(s) Idle Location
  *0 con 0 idle 0
  1 aux 0 idle 1
  2600#

  Resolving Hostnames

  2种解析主机名到IP地址的办法:
  1.在每个router上建立主机表(host table)
  2.建立DNS服务器(Domain Name System server),这个类似动态主机表

  Building a Host Table

  主机表只提供包含其中的解析,建立主机表的命令是ip host [主机名] [TCP端口号] [IP地址],默认TCP端口号为23.1个主机可以对应最多8个IP地址.如下:
  2500(config)#ip host 2501B 172.16.10.2
  2500(config)#ip host 1900S 192.168.0.32
  2500(config)#^Z
  使用show hosts命令验证新建的主机表,如下:
  2500#sh hosts
  Default domain is not set
  Name/address lookup uses domain service
  Name servers are 255.255.255.255
  Host Flags Age Type Address(es)
  2501B (perm, OK) 0 IP 172.16.10.2
  1900S (perm, OK) 0 IP 192.168.0.32
  2500#
  注意Flags选项的perm,代表是手动输入的,如果这项是temp的话,表明是由DNS解析的
  Using DNS to Resolve Names

  假如你在CLI下输入了1个Cisco设备不能识别的命令,它会默认通过DNS来进行解析(它认为是主机名).这个不好的地方是要花费额外的时间等待DNS解析完.可以在全局配置模式下使用no ip domain-lookup命令关闭它

  假如你在你的网络里有DNS服务器,可以使用1些命令使DNS解析开始工作:
  1.第一条命令是:ip domain-lookup,这个命令默认是打开了的.如果你之前使用了no ip domain-lookup的话,就要用这条命令打开它
  2.第二条命令是:ip name-server.设置DNS服务器的IP地址,可以使1个IP地址对应多达6个服务器
  3.最后条命令是:ip domain-name.虽然这个命令是可选的,但是最好还是设置1下
实例如下:
  2500(config)#ip domain-lookup
  2500(config)#ip name-server 192.168.0.23
  2500(config)#ip domain-name noko.com
  2500(config)#^Z
  2500#
  可以使用ping命令来严正下,如下:
  2500#ping 1900S
  Translating “1900S”…domain server (192.168.0.23) [OK]
  (略)
  使用show hosts命令验证下,如下:
  2500#sh hosts
  Default domain is noko.com
  Name/address lookup uses domain service
  Name servers are 192.168.023
  Host Flags Age Type Address(es)
  2501B (perm, OK) 0 IP 172.16.10.2
  1900S.noko.com (temp, OK) 0 IP 192.168.0.32
  2500#

  Checking Network Connectivity

  ping和traceroute命令是检查网络连接是否完好的有利工具。


 

原创粉丝点击