1. 交换机支持的命令:
 
交换机基本状态:
 
switch : ;ROM状态, 路由器是rommon>
 
hostname> ;用户模式
 
hostname# ;特权模式
 
hostname (config)# ;全局配置模式
 
hostname (config-if)# ;接口状态
 
交换机口令设置:
 
switch>enable ;进入特权模式
 
switch#config terminal ;进入全局配置模式
 
switch (config)#hostname ;设置交换机的主机名
 
switch (config)#enable secret xxx ;设置特权加密口令
 
switch (config)#enable password xxa ;设置特权非密口令
 
switch (config)#line console 0 ;进入控制台口
 
switch (config-line)#line vty 0 15 ;进入虚拟终端
 
switch (config-line)#login ;允许登录
 
switch (config-line)#password xx ;设置登录口令xx
 
switch#exit ;返回命令
 
 
交换机设置IP地址:
 
switch (config)#interface vlan 1 ;进入vlan 1
 
switch (config-if)#ip address ;设置IP地址
 
switch (config)#ip default-gateway ;设置默认网关
 
switch#dir flash : ;查看闪存
 
交换机显示命令:
 
switch#write ;保存配置信息
 
switch#show vtp ;查看vtp配置信息
 
switch#show run ;查看当前配置信息
 
switch#show vlan ;查看vlan配置信息
 
switch#show interface ;查看端口信息
 
switch#show int f0/0 ;查看指定端口信息
 
S1#delete flash:vlan.dat
S1#erase startup-config
S1#reload
把交换机的配置清除干净,重启交换机
 
 
一. 划分VLAN
Vlan 数据库配置模式下创建VLAN的命令

步骤
命令
目的
1
Vlan database
进入VLAN配置状态
2
Vlan vlan-id [name vlan-name]
创建VLAN号及VLAN名(可选)
3
Exit
更新VLAN数据库并退出
全局配置模式下创建VLAN的命令

步骤
命令
目的
1
Configure terminal
进入配置状态
2
Vlan vlan-id
输入一个vlan号,进入vlan配置状态
3
Name vlan-name
输入一个vlan名,如果没有输入vlan名,默认的名字是vlan号前面用0填满的四位数。例如VLAN0004是vlan4的默认名字
4
Exit 或者end
退出
Vlan 数据库配置模式
switch#vlan database ;进入VLAN设置
switch (vlan)#vlan 2 name vlan 2 ; 创建vlan 2 就是vlan 的编号,VLAN 号的范围为1~1001,VLAN2 是该VLAN 的名字:
switch (vlan)#no vlan 2 ;删vlan 2
switch (vlan)#exit ;更新VLAN数据库并退出
 
全局配置模式
S1(config)#vlan 2
S1(config-vlan)#name VLAN2
S1(config-vlan)#exit
 
(2)步骤3:把端口划分在VLAN 中

步骤
命令
目的
1
Configure terminal
进入配置状态
2
Interface interface-id
进入要分配的端口
3
Switchport mode access
定义二层端口的模式
4
Switchport access vlan vlan-id
把端口分配给某一vlan
5
Exit 或end
退出
S1(config)#interface f0/1
S1(config-if)#switch mode access
// 以上把交换机端口的模式改为access 模式,说明该端口是用于连接计算机的,而不是用于trunk
S1(config-if)#switch access vlan 2
// 然后把该端口f0/1 划分到VLAN 2 中
S1(config)#interface f0/2
S1(config-if)#switch mode access
S1(config-if)#switch access vlan 3
【提示】默认时,所有交换机接口都在VLAN 1 上,VLAN 1 是不能删除的。如果有多个接口
需要划分到同一VLAN 下,也可以采用如下方式以节约时间,注意破折号前后的空格:
S1(config)#interface range f0/2 -3
S1(config-if)#switch mode access
S1(config-if)#switch access vlan 2
【提示】如果要删除VLAN,使用 “no vlan 2”命令即可。删除某一VLAN后,要记得把该VLAN
上的端口重新划分到别的VLAN上,否则将导致端口的“消失”。
 
(3)验证vlan的配置
S1#show vlan brief  ;查看vlan信息的命令
S1#show vlan id vlan-id  ;查看某个vlan信息的命令如下
小凡中使用do show vlan-switch 查看
 
配置交换机端口安全
S1(config)#int f0/1
S1(config-if)#shutdown
S1(config-if)#switch mode access
// 以上命令把端口改为访问模式,即用来接入计算机,在下一章详细介绍该命令的含义。
S1(config-if)#switch port-securitiy
// 以上命令是打开交换机的端口安全功能。
S1(config-if)#switch port-securitiy maximum 1
// 以上命令只允许该端口下的MAC 条目最大数量为1,即只允许一个设备接入
S1(config-if)#switch port-securitiy violation { protect | shutdown | restrict }
? protect: 当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则这个新的计算
机将无法接入,而原有的计算机不受影响
? shutdown: 当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则该接口将会
被关闭,则这个新的计算机和原有的计算机都无法接入,需要管理员使用“no shutdown”
命令重新打开。
? restrict: 当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则这个新的计
算机可以接入,然而交换机将向发送警告信息。
S1(config-if)#switchport port-security mac-address 0019.5535.b828
// 允许R1 路由器从f0/1 接口接入
S1(config-if)#no shutdown
 
 
trunk 配置
(1)上个实验的基础上继续本实验
(2) 配置trunk:
S1(config)#int f0/13
S1(config-if)#switchport trunk encanpsulation dot1q
// 以上是配置trunk 链路的封装类型,同一链路的两端封装要相同。Negative为协商。
S1(config-if)#switch mode trunk
// 以上是把接口配置为trunk
 
如果不需要 trunk 传送某个VLAN的数据,可以从trunk中删除这个VLAN(相当于隔离某个VLAN)
S1(config-if)#switchport trunk allowed vlan remove vlan-id
同样,也可以在trunk上添加某个VLAN 命令如下:
S1(config-if)#switchport trunk allowed vlan add vlan-id
 
(3)验证
switch# show interface f0/13 switchport  ;使用show 命令验证接口模式, 需要在两端都进行检查,确认两端都形成Trunk 才行。
 
(4) 配置Native VLAN:
S1(config)#int f0/13
S1(config-if)#switchport trunk native vlan 2
// 以上是在Trunk 链路上配置Native VLAN,我们把它改为VLAN 2 了,默认是VLAN 1。
【技术要点】之前介绍说在Trunk 链路上,数据帧会根据ISL 或者802.1Q 被重新封装,然而如果是Native VLAN 的数据,
是不会被重新封装就在Trunk 链路上传输。很显然链路两端的Native VLAN 是要一样的。如果不一样,交换机会提示出错。
 
(5) DTP 配置:
【技术要点】
和DTP 配置有关的有以下命令,这些命令不能任意组合:
“switchport trunk encapsulation { negotiate | isl | dot1q }”:配置Trunk 链路
上的封装类型,可以是双方协商确定,也可以是指定的isl 或者dot1q
“switchport nonegotiate” :Trunk 链路上不发送协商包,默认是发送的
“switch mode { trunk | dynamic desirable | dynamic auto }”:

接入(Access)
将接口设定为永久的非中继链路,并协商将链路转换为非中继链路。即使邻接接口不同意这种转变,此接口也会成为非中继接口
干道(Trunk)
将接口设定为永久的中继链路,并协商将链路转换为非中继链路。即使邻接接口不同意这种转变,此接口也会成为非中继接口
动态企望(Dynamic desirable)
使得接口主动尝试将链路转换为中继链路,如果邻接接口被设为trunk.desirable或者auto模式,此接口就会成为中继接口,此模式是CiscoIOS软件的所有以太网接口的默认模式
动态自动(Dynamic auto)
允许接口将链路转换为中继接口。如果邻接口被设为trunk或者desirable模式,此接口会成为中继接口
非协商(Nonegotiate)
禁止接口产生DTP桢.(首先需要将接口设为trunk模式)。要建立中继链路,必须手动将邻接接口也配置为trunk模式,如果邻接接口是desirable或者auto模式,则邻接接口最终会成为Access接口。如果所连接的设备不支持DTP桢(非Cisco设备) ,就适合采用这种模式
如果想把接口配置为negotiate,使用:
S1(config-if)#switchport trunk encapsulation { isl | dot1q }
S1(config-if)#switchport mode trunk
S1(config-if)#no switchport negotiate
如果想把接口配置为nonegotiate,使用:
S1(config-if)#switchport trunk encapsulation { isl | dot1q }
S1(config-if)#switchport mode trunk
S1(config-if)#switchport nonegotiate
如果想把接口配置为desirable,使用:
S1(config-if)#switchport mode dynamic desirable
S1(config-if)#switchport trunk encapsulation { negotiate | isl | dot1q }
如果想把接口配置为auto,使用:
S1(config-if)#switchport mode dynamic auto
S1(config-if)#switchport trunk encapsulation { negotiate | isl | dot1q }
 
【提示】由于交换机有缺省配置,进行以上配置后,使用“show running”可能看不到我
们配置的命令。默认时catalyst 2950 和3550 的配置是desirable 模式;而catalyst 3560
是auto 模式,所以两台3560 交换机之间不会自动形成Trunk,3560 交换机和2950 交换机
之间却可以形成Trunk。
 
 
EtherChannel (以太网通道) 配置
实验步骤
构成EtherChannel的端口必须具有相同的特性,如双工模式、速度、Trunking的状态等。
配置EtherChannel有手动配置和自动配置(PAGP或者LAGP)两种方法,自动配置就是让
EtherChannel 协商协议自动协商EtherChannel的建立。
1.  手动配置EtherChannel

配置PAgP以太网通道
S1 (config)#interface type mod/num
S1 (config-if)#channel-protocol pagp ; 选择使用的以太网通道协商协议。三层交换机上配置LACP(我们这里不使用)
S1 (config-if)#channel-group number mode (on | auto | desirable )
// 以上number表示以太网通道号(范围是1~48),on表示开启模式auto表示被动模式desirable表示主动模式
配置LACP以太网通道
S1 (config)#interface type mod/num
S1 (config-if)#channel-protocol lacp ; 选择使用的以太网通道协商协议。要取消EtherChannel时用“no interface port-channel 1”
S1 (config-if)#channel-group number mode (on | passive | active )
// 以上number表示以太网通道号(范围是1~48),on表示开启模式passive表示被动模式active表示主动模式
S1 (config)#interface range fastEthernet 0/1 -2
S1(config-if-range)#switchport mode trunk 在开启EtherChannel之前Trunk必须先开启!!!
S1(config-if-range)# channel-group 1 mode on ;将物理接口指定到已创建的通道中。
S1(config-if-range)#exit
 
(3)查看etherchannel信息
S1#show etherchannel summary
Flags: D - down P - in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) - Fa0/13(P) Fa0/14(P)
// 可以看到EtherChannel 已经形成,“SU”表示EtherChannel 正常,如果显示为“SD”,
把EtherChannel 接口关掉重新开启。注意应在链路的两端都进行检查,确认两端都形成以太通道才行。
 
【技术要点】
接口基本配置:
默认时交换机的以太网接口是开启的。对于交换机的以太网口可以配置其双工模式、速率等。
S1(config)#interface f0/1
switch(config-if)#duplex { full | half | auto }
//duplex 用来配置接口的双工模式,full——全双工、half——半双工、auto——自动检测双工的模式
switch(config-if)#speed { 10 | 100 | 1000 | auto }
//speed 命令用来配置交换机的接口速度,10——10M、100——100M、1000——1000M、auto——自动检测接口速度。
 
以太网通道故障排除
Ø  配置以太网通道的注意事项
       在每个以太网通道中,Cisco交换机最多允许捆绑8个端口
       在一个以太网通道中,两端的端口必须使用相同协议
       所有参与捆绑的端口的物理参数设置必须相同  
       一个端口只能在一个以太网通道中
       一个以太网通道中的端口如果是中继模式,则端口的中继模式、中继封装以及准许VLAN的范围必须相同
       参与捆绑的端口必须属于同一个VLAN
       在配置以太网通道时,尽量让以太网通道中的端口配置为TRUNK模式
Ø  以太网通道协商失败的提示信息
       双工不相同
       速率不相同
       show etherchannel port 查看以太网通道端口信息
 
 
三层交换机的配置
1.  配置命令
switch (config)#ip routing ;启动路由功能。
三层交换机在默认情况下的配置与二层交换机相同,如果想要在三层交换机上配置路由,首先要在三层交换机上启动路由功能;
不同vlan的主机通信,是经过三层交换机路由进行通信
switch (config)# interface vlan vlan-id
switch (config-if)# ip address ip_address network
switch (config-if)# no shutdown
与在二层交换机上配置管理vlan的ip地址相同。因为三层交换机支持各vlan之间的路由。因此,三层交换机的每个vlan都可以配置IP地址
switch (config-if)# no switchport 配置路由接口。
三层交换机的接口默认情况下是二层接口,如果需要让三层交换机与路由实现点到点连接,需要将交换机上的某个接口配置为路由接口。才能为这个接口配置IP地址
 
Dhcp 中继的配置
switch (config)#Interface vlan vlan-id ;相当于网关,
switch (config-if)#ip helper-address dhcp-server
在三层交换机上配置dhcp中继转发。是在不包含dhcp服务器的vlan上配置实现的
 
路由器上配置dhcp
ip dhcp pool vlan1 ;dhcp池   全局模式下配置
network ip 掩码 ;ip地址池    
default-router ip ;网关ip
dns-server ip ;dns服务器
lease 1 ;生存周期
 
ip dhcp excluded-address ip  ;保留ip地址, 全局模式下。
 
 
实验:VTP 配置
配置命令:
switch (config)#vtp domain domain_name ;创建vtp域名
switch (config)#vtp mode 【server | client | transparent】 ;配置交换机的vtp模式  小凡中没有mode
switch (config)#vtp password ;配置vtp口令。同一vtp域内的交换机,口令配置要一致!!!
switch (config)#vtp pruning ;配置vtp修剪
switch (config)#vtpversion 2 配置vtp的版本   小凡中2后 + mode
 
switch # show vtp password ;查看vtp的配置信息
switch # show vtp status ;查看其他vtp配置信息
 
 
实验步骤
(2) 检查S1 和S3 之间、S3 和S2 之间链路trunk 是否自动形成,如果没有请参照实验2步骤配置trunk
(3) 配置S1 为VTP server
S1(config)#vtp mode server
Device mode already VTP SERVER.
// 以上配置S1 为VTP server,实际上这是默认值
S1(config)#vtp domain VTP-TEST
Changing VTP domain name from NULL to VTP-TEST
// 以上配置VTP 域名
S1(config)#vtp password cisco
Setting device VLAN database password to cisco
// 以上配置VTP 的密码,目的是为了安全,防止不明身份的交换机加入到域中
(4) 配置S3 为VTP transparent
S3#vlan database
S3(vlan)#vtp transparent
Setting device to VTP TRANSPARENT mode.
S3(vlan)#vtp domain VTP-TEST
Domain name already set to VTP-TEST .
S3(vlan)#vtp password cisco
Setting device VLAN database password to cisco.
【提示】有的IOS 版本只支持在vlan database 下配置vlan。
(5) 配置S2 为VTP client
S2(config)#vtp mode client
Setting device to VTP CLIENT mode.
S2(config)#vtp domain VTP-TEST
Domain name already set to VTP-TEST.
S2(config)#vtp password cisco
4. 实验调试
(1) 在S1 上创建VLAN,检查S2、S3 上的VLAN 信息
S1(config)#vlan 2
S1(config)#vlan 3
S2#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
2 VLAN0002 active
3 VLAN0003 active
1002 fddi-default act/unsup
// 可以看到S2 已经学习到了在S1 上创建的VLAN 了。
S3#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
// 可以看到S2 上有了VLAN2 和VLAN3,而S3 上并没有,因为S3 是透明模式。
(2) 查看VTP 信息
S1#show vtp status
VTP Version : 2 // 该VTP 支持版本2
Configuration Revision : 2 // 修订号为2,该数值非常重要
Maximum VLANs supported locally : 1005
Number of existing VLANs : 7 //VLAN 数量
VTP Operating Mode : Server //VTP 模式
VTP Domain Name : VTP-TEST //VTP 域名
VTP Pruning Mode : Disabled //VTP 修剪没有启用
VTP V2 Mode : Disabled //VTP 版本2 没有启用,现在是版本1
VTP Traps Generation : Disabled
MD5 digest : 0xD4 0x30 0xE7 0xB7 0xDC 0xDF 0x1B 0xD8
Configuration last modified by 0.0.0.0 at 3-1-93 00:22:16
Local updater ID is 0.0.0.0 (no valid interface found)
(3) 观察VTP 的revision 数值
在S1 上,修改、创建或者删除VLAN,在S2、S3 上观察revision 数值是否增加1。
(4) 配置修剪、版本2
S1(config)#vtp pruning
S1(config)#vtp version 2
S1#show vtp status
VTP Version : 2
Configuration Revision : 4
Maximum VLANs supported locally : 1005
Number of existing VLANs : 7
VTP Operating Mode : Server
VTP Domain Name : VTP-TEST
VTP Pruning Mode : Enabled //VTP 修剪启用了
VTP V2 Mode : Enabled //VTP 版本为2 了
VTP Traps Generation : Disabled
MD5 digest : 0xA6 0x56 0x25 0xDE 0xE2 0x39 0x6A 0x10
Configuration last modified by 0.0.0.0 at 3-1-93 00:32:28
Local updater ID is 0.0.0.0 (no valid interface found)
【提示】VTP 修剪和VTP 版本只需要在一个VTP server 进行即可,其他server 或者client会自动跟着更改。
VTP 修剪是为了防止不必要的流量从trunk 链路上通过,通常需要启用。
 
 
 
Stp 工作原理
生成树算法
生成树协议运行生成树算法STA,生成树算法很复杂,但是其过程可以归纳为三个步骤
1)  选择根网桥
选择网桥的依据是网桥ID,网桥ID是一个八字节的字段,前两个字节的十进制成为网桥优先级,后六个字节是网桥的MAC地址
a)  网桥优先级是用于衡量网桥在生成树算法中优先级的十进制数,取值范围为0-65535,默认值是32768
b)  网桥id中的mac地址是交换机自身的mac地址,可以使用命令show version 在交换机中版本信息中查看交换机自身的mac地址
2)  选择根端口
选出根网桥后,网络中的每台交换机必须和根网桥建立某种关联,因此,stp将开始选择根端口的过程,根端口存在于非根网桥上,需要在每个非根网桥上选择一个跟端口
a)  到根网桥最低的根路径成本
根路径成本是两个网桥间的路径上所有链路的成本之和,也就是某个网桥到达根网桥的中间所有链路的路径成本之和

链路带宽(Mb/s)
路径成本
10
100
16
62
45
39
100
19
155
14
655
6
1000
4
10000
2
b)  直连的网桥ID最小
同选择根网桥的依据相同
c)  端口ID最小(在比较端口ID时,比较的是接收到的对端的端口ID值)
端口ID是一个二进制的STP参数,由一个字节的端口优先级和一个字节的端口编号组成
端口优先级是一个可配置的stp参数,基于IOS的交换机上,端口优先级的十进制取值范围0-255,默认值是128
端口编号是catalyst用于列举各个端口的数字标示符。端口编号不是端口号,但是端口号低的端口,端口编号值也比较小
3)  选择指定端口 (每个网段选择一个端口)
a)  根路径成本较低
b)  所在的交换机的网桥ID值较小
c)  端口ID的值较小(和选择根端口不同,在比较端口ID时,比较的是自身的端口ID值)
另外,根网桥上的接口都是指定端口,因为根网桥上的端口的根路径成本为0
 
配置命令:
1)  指定根网桥
S1(config)#spanning-tree vlan vlan-list priority bridge-priority
bridge-priority 为优先级默认为32768
 
S1(config)# Spanning-tree vlan 1 priority 4096 ;修改VLAN的网桥优先级
S1(config)#spanning-tree vlan vlan-list root { primary =24576| secondary =28672} ; 指定交换机为根网桥
2)  修改端口成本
switch (config-if)#spanning-tree vlan vlan-list cost cost
3)  修改端口优先级
switch (config-if)#spanning-tree vlan vlan-list port-priority priority
4)  配置速端口
switch (config-if)#spanning-tree portfast
5)  配置的查看
Switch #show spanning-tree ; 查看生成树的配置
    Switch #show spanning-tree vlan vlan-id detail
 
 
 
 
快速生成树 ( Rapid Spanning tree protocol ,RSTP
1.RSTP 概述
IEEE 802.1w 标准制定
RSTP 端口角色
根端口、指定端口和阻塞端口
替代端口:当根端口出现故障时替代端口成为根端口.
备用端口:当指定端口出现故障时替代端口成为指定端口.
RSTP 端口状态
丢弃:合并了802.1d的禁用.阻塞.和侦听状态,此状态将丢弃入站的祯,并且不学习MAC地址
学习;与802.1d中的学习状态相同,学习MAC地址但是丢弃入站的祯。
转发 :发送和接受数据祯,并且能够熟悉MAC地址
RSTP 收敛
边缘端口:于STP中PortFast基本相同。然而,如果边缘端口收到BPDU,他将失去边缘端口状态。成为正常的生成树端口
链路类型 :CISCO交换机默认,如果端口工作在全双工模式下,则认为是点到点链路;如果端口工作在半双工模式下则认为是在共享介质上
2.PVST
当网络上有多个VLAN 时,PVST(Per Vlan STP)会为每个VLAN 构建一棵STP 树。这样的好处是可以独立地为每个VLAN 控制哪些接口要转发数据,从而实现负载平衡。缺点是如果VLAN 数量很多,会给交换机带来沉重的负担。Cisco 交换机默认的模式就是PVST。
 
3. MST
在 PVST 中,交换机为每个VLAN 都构建一棵STP 树,不仅会带来CPU 的很大负载,也会占用大量的带宽。MST 则是把多个VLAN 映射到一个STP 实例上,从而减少了STP 实例。MST可以和STP、PVST 配合使用。对于运行STP、PVST 的交换机来说,一个MST 域看起来就像一台交换机。
 
本章命令汇总
命令 作用
show spanning-tree 查看 STP 树信息
spanning-tree vlan 1 priority 4096 配置 VLAN1 的桥优先级
spanning-tree portfast 配置接口为 portfast,当有设备接入时立即
进入转发状态
spanning-tree uplinkfast 配置 uplinkfast 特性
spanning-tree backbonefast 配置 backbonefast 特性
spanning-tree mode rapid-pvst 把 STP 的运行模式设为RSTP+PVST
spanning-tree link-type point-to-point 把接口的链路类型改为点对点
spanning-tree mode mst 把生成树的模式改为 MST
spanning-tree mst configuration 进入 MST 的配置模式
name TEST-MST 命名 MST 的名字
revision 1 配置 MST 的revision 号
instance 1 vlan 1-2 把 VLAN 1 和VLAN 2 的生成树映射到实例1
spanning-tree guard root 在接口上配置 root guard 特性
spanning-tree bpduguard enable 在接口上配置 bpduguard 特性
 
 
 
HSRP
HSRP 是 Cisco 的专有协议。HSRP(Hot Standby Router Protocol)把多台路由器组成
一个“热备份组”,形成一个虚拟路由器。这个组内只有一个路由器是活动的( Active),并
由它来转发数据包,如果活动路由器发生了故障,备份路由器将成为活动路由器。从网络内
的主机来看,网关并没有改变。
HSRP 路由器利用 HELLO 包来互相监听各自的存在。当路由器长时间没有接收到HELLO
包,就认为活动路由器故障,备份路由器就会成为活动路由器。 HSRP 协议利用优先级决定
哪个路由器成为活动路由器。如果一个路由器的优先级比其它路由器的优先级高,则该路由
器成为活动路由器。路由器的缺省优先级是 100。 一个组中,最多有一个活动路由器和一
个备份路由器。
HSRP 路由器发送的多播消息有以下三种:
( 1) HELLO: HELLO 消息通知其它路由器发送路由器的HSRP 优先级和状态信息,HSRP 路
由器默认为每 3 秒钟发送一个HELLO 消息;
( 2) Coup:当一个备用路由器变为一个活动路由器时发送一个coup 消息;
( 3) Resign:当活动路由器要宕机或者当有优先级更高的路由器发送HELLO 消息时,主
动发送一个 resign 消息。
HSRP 路由器有以下六种状态:
( 1) Initial:HSRP 启动时的状态,HSRP 还没有运行,一般是在改变配置或接口刚刚启
动时进入该状态;
( 2) Learn:路由器已经得到了虚拟IP 地址,但是它既不是活动路由器也不是备份路由
器。它一直监听从活动路由器和备份路由器发来的 HELLO 报文;
( 3) Listen:路由器正在监听HELLO 消息;
( 4) Speak:在该状态下,路由器定期发送HELLO 报文,并且积极参加活动路由器或备份
路由器的竞选;
( 5) Standby:当活动路由器失效时路由器准备接管数据传输功能;
( 6) Active:路由器执行数据传输功能。
VRRP
VRRP 的工作原理和 HSRP 非常类似,不过VRRP 是国际上的标准,允许在不同厂商的设
备之间运行。 VRRP 中虚拟网关的地址可以和接口上的地址相同,VRRP 中接口只有3 个状态:
初始状态 (Initialize)、主状态(Master)、备份状态(Backup)。VRRP 有一种报文。
 
 
GLBP
HSRP和 VRRP能实现网关的冗余,然而如果要实现负载平衡,需要创建多个组,并让客户
端指向不同的网关。 GLBP(Gateway Load Balance Protocol)也是Cisco的专有协议,不仅
提供冗余网关功能,还在各网关之间提供负载均衡。 GLBP也是由多个路由器组成一个组,虚
拟一个网关出来。 GLBP选举出一个AVG(Avtive Virtual Gateway),AVG不是负责转发数据的。
AVG分配最多四个 MAC地址给一个虚拟网关,并在计算机进行ARP请求时,用不同的MAC进行响
应,这样计算机实际就把数据发送给不同的路由器了,从而实现负载平衡。在 GLBP中,真正
负责转发数据的是 AVF(Avtive Virtual Forwarder),GLBP会控制GLBP组中哪个路由器是哪
个 MAC地址的活动路由器。
AVG的选举和 HRSP中活动路由器的选举非常类似,优先级最高的路由器成为AVG,次之的
为 Backup AVG,其余的为监听状态。一个GLBP组只能有一个AVG和一个Backup AVG,主的AVG
失败,备份 AVG顶上。一台路由器可以同时是AVG和AVF。AVF是某些MAC的活动路由器,也就
是说如果计算机把数据发往这个 MAC,它将接收。当某一MAC的活动路由器故障,其它AVF将
成为这一 MAC的新的活动路由器,从而实现冗余功能。
GLBP 的负载平衡策略可以是根据不同主机、简单的轮询或者根据路由器的权重平衡,
默认是轮询方式。
 
本章命令汇总
命令 作用
standby 1 ip 192.168.13.254 启用 HSRP 功能,并设置虚拟IP 地址
standby 1 priority 120 配置本路由器的 HSRP 优先级
standby 1 preempt 配置 HSRP 抢占
standby 1 timers 3 10 设置 HSRP 的HELLO time 和HOLD time
standby 1 authentication md5 key-string cisco 配置 HSRP 认证密码,认证方式为MD5
show standby brief 查看 HSRP 的简要情况
standby 1 track Serial0/0/0 30 跟踪 s0/0/0 接口,当接口故障时,HSRP 优先级降低30
vrrp 1 ip 192.168.13.254 启用 VRRP 功能,并设置虚拟IP 地址
vrrp 1 priority 120 配置本路由器的 VRRP 优先级
vrrp 1 preempt 配置 VRRP 抢占
vrrp 1 authentication md5 key-string cisco 配置 VRRP 认证密码,认证方式为MD5
track 100 interface Serial0/0/0 定义一个跟踪目标号,被跟踪对象为 s0/0/0
line-protocol 接口
vrrp 1 track 100 decrement 30 跟踪目标 100,当目标故障时,优先级降低 30
show vrrp brief 查看 VRRP 的简要情况
glbp 1 ip 192.168.1.254 启用 GLBP 功能,并设置虚拟IP 地址
glbp 1 priority 200 配置本路由器的 GLBP 优先级
glbp 1 preempt 配置 GLBP 抢占
glbp 1 authentication md5 key-string cisco 配置 GLBP 认证密码,认证方式为MD5
show glbp 查看 GLBP 情况
 
 
 
ACL 概述
访问控制列表简称为 ACL,它使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。ACL 分很多种,不同场合应用不同种类的ACL。
1. 标准 ACL
标准 ACL 最简单,是通过使用IP 包中的源IP 地址进行过滤,表号范围1-99 或1300-1999;
2. 扩展 ACL
扩展 ACL 比标准ACL 具有更多的匹配项,功能更加强大和细化,可以针对包括协议类型、源地址、目的地址、源端口、目的端口、TCP 连接建立等进行过滤,表号范围100-199 或2000-2699;
3. 命名 ACL
以列表名称代替列表编号来定义 ACL,同样包括标准和扩展两种列表。
4.定时访问控制列表
提供基于时间的附加控制特性,定义在什么时间允许或拒绝数据包
 
在访问控制列表的学习中,要特别注意以下两个术语。
1. 通配符掩码:一个 32 比特位的数字字符串,它规定了当一个IP 地址与其他的IP 地址进行比较时,该IP 地址中哪些位应该被忽略。通配符掩码中的“1”表示忽略IP 地址中对应的位,而“0”则表示该位必须匹配。两种特殊的通配符掩码是“255.255.255.255”和“0.0.0.0”,前者等价于关键字“any”,而后者等价于关键字“host”;
2. Inbound 和 outbound:当在接口上应用访问控制列表时,用户要指明访问控制列表是应用于流入数据还是流出数据(in入站接口,out出战接口)。
 
【技术要点】
( 1)访问控制列表表项的检查按自上而下的顺序进行,并且从第一个表项开始,所以必须考虑在访问控制列表中定义语句的次序;
( 2)路由器不对自身产生的IP 数据包进行过滤;
( 3)访问控制列表最后一条是隐含的拒绝所有;
( 4)每一个路由器接口的每一个方向,每一种协议只能创建一个ACL。一个入方向ACL,一个出方向ACL;
( 5)删除ACL时必须先从接口上删除ACL应用
( 6)
 
标准ACL配置实例
1. 创建ACL
Router (config)#access-list access-list-number { permit|deny } source[ source-wildcard]
参数详细说明
access-list-number :访问控制列表表号,对于标准ACL来说,时1-99之间的一个数字
permit|deny :如果满足测试条件,则允许拒绝该通信流量
source :通配符掩码,也叫做反码
 
扩展访问控制列表的配置
1.  创建ACL
Router (config)#access-list access-list-number { permit|deny } prorocol { source source-wildcard destination destination-wildcard } [operator operan ]
命令参数详细说明
  access-list-number :访问控制列表表号,对于扩展ACL来说,时100-199之间的一个数字
 
 
   
2. 路由器支持的命令:
 
路由器显示命令:
 
router#show run ;显示配置信息
 
router#show interface ;显示接口信息
 
router#show ip route ;显示路由信息
 
router#show cdp nei ;显示邻居信息
 
router#show version ; 显示路由器的IOS 版本等信息
 
router#show running-config ;显示内存中的配置文件
 
router#show startup-config ;显示NVRAM 中的配置文件
 
router#show interface s0/0/0 ;显示接口的信息
 
router#show flash 显示flash ;的有关信息
 
router#show controllers s0/0/0 ;显示s0/0/0 的控制器信息
 
router#show ip arp ;显示路由器中的arp 表
 
router#reload ;重新起动
 
路由器口令设置:
 
router>enable ;进入特权模式
 
router#config terminal ;进入全局配置模式
 
router (config)#hostname ;设置交换机的主机名
 
router (config)#enable secret xxx ;设置特权加密口令
 
router (config)#enable password xxb ;设置特权非密口令 是配置进入到路由器特权模式的密码
 
 
 
router (config)#line console 0 ;进入控制台口
 
 
 
router (config-line)#line vty 0 4 ;进入虚拟终端
// 以上是进入路由器的VTY 虚拟终端下,“vty 0 4”表示vty 0 到vty 4,共5 个虚拟终端
 
router (config-line)#login ;要求口令验证
 
router (config-line)#password xx ;设置登录口令xx
// 以上是配置vty 的密码,即telnet 密码
 
router (config)#(Ctrl+z) ; 返回特权模式
 
router (config)#end 直接回到特权模式
 
router#exit ;返回命令
disable  特权模式返回用户模式
 
路由器配置:
 
router #conf t
Enter configuration commands, one per line. End with CNTL/Z.
 
router(config-line)#logging synchronous ;路由器上的提示信息进行同步,防止信息干扰我们输入命令
 
router (config)#interface f0/0
router (config)#ip address 10.1.14.126 255.255.255.0
router (config)#no shutdown
router (config)#exit
// 以上配置以太网接口的ip 地址为10.1.14.126/255.255.255.0,并打开接口
 
 
router (config)#logging synchronous
路由器上的提示信息进行同步,防止信息干扰我们输入命令
 
router (config)#no ip routing
// 由于终端服务器不需要路由功能,所以关闭路由功能,这时终端服务器相当于一台计算机
 
 
router (config)#ip default-gateway 10.1.14.254
// 配置网关,允许他人从别的网段telnet 该终端服务器
 
 
router (config)#no ip domain-lookup
// 以上禁止路由器查找DNS 服务器,防止我们输入错误命令时的长时间等待
 
 
router (config)#line vty 0 ?
<1-15> Last Line number
<cr>
// 查看该路由器支持多少vty 虚拟终端,可以看到支持0-15
 
 
router (config)#line vty 0 15
router (config)#no login
router (config)#logging synchronous
router (config)#no exec-timeout
router (config)#exit
// 以上允许任何人不需密码就可以telnet 该终端服务器,并且即使长时间不输入命令也不
超时自动logout 出来
 
Router#show history ; 显示历史命令
 
Router#terminal editing ;打开编辑功能,实际上这是默认的。用上下左右光标键试试移动光标,也可以试试使用编辑键移动光标
 
Router#terminal history size 50 ; 以上把缓存的历史命令数改为50,默认值为10
 
Router#terminal no editing ; 关闭terminal 的编辑功能,则编辑键失效
Router#terminal editing ; 开启编辑键
 
 
router (config)#int s0/0 ;进入Serail接口
 
router (config-if)#no shutdown ;激活当前接口
 
router (config-if)#clock rate 64000 ;设置同步时钟
 
router (config-if)#ip address ;设置IP地址
 
router (config-if)#ip address secondary ;设置第二个IP
 
router (config-if)#int f0/0.1 ;进入子接口
 
router (config-subif.1)#ip address ;设置子接口IP
 
router (config-subif.1)#encapsulation dot1q ;绑定vlan中继协议
 
router (config)#config-register 0x2142 ;跳过配置文件
 
router (config)#config-register 0x2102 ;正常使用配置文件
 
Router#clock ?
set Set the time and date
// 要注意的是“?”和“clock”之间要有空格,否则得到将不同的结果,如果不加空格路由器以为你是想列出以“clock”字母开头的命令,而不是想列出“clock”命令的子命令或参数。
 
Router#clock set 11:36:00 12 august 2003 ; 设置路由器的时间
Router#show clock  ;显示路由器的时间
11:36:03.149 UTC Tue Aug 12 2003
// 配置了路由器的时钟,通常如果命令成功,路由器不会有任何提示
 
router (config)#banner motd ; 设置用户登录路由器时的提示信息
 
router#reload ;重新引导
 
 
常用的编辑命令
编辑键 命令功能
【Crtl+A】移动光标到命令行开头
【Crtl+E】移动光标到命令行末尾
【Crtl+P】(或【↑】)重用前一条命令
【Crtl+N】(或【↓】)重用下一条命令
【Esc+F】光标前移一个词
【Esc+B】光标后移一个词
【Crtl+F】光标前移一个字母
【Crtl+B】光标后移一个字母
 
 
路由器文件操作:
 
router#copy running-config startup-config ;保存配置
 
router#copy running-config tftp ;保存配置到tftp
 
router#copy startup-config tftp ;开机配置存到tftp
 
router#copy tftp flash : ;下传文件到flash
 
router#copy tftp startup-config ;下载配置文件
 
ROM 状态:
 
Ctrl+Break ;进入ROM监控状态
 
rommon>confreg 0x2142 ;跳过配置文件
 
rommon>confreg 0x2102 ;恢复配置文件
 
rommon>reset ;重新引导
 
rommon>copy xmodem : flash: ;从console传输文件
 
rommon>IP_ADDRESS=10.65.1.2 ;设置路由器IP
 
rommon>IP_SUBNET_MASK=255.255.0.0 ;设置路由器掩码
 
rommon>TFTP_SERVER=10.65.1.1 ;指定TFTP服务器IP
 
rommon>TFTP_FILE=c2600.bin ;指定下载的文件
 
rommon>tftpdnld ;从tftp下载
 
rommon>dir flash : ;查看闪存内容
 
rommon>boot ;引导IOS  
静态路由:
 
ip route ;命令格式 ip route 目的网络 掩码 { 网关地址 | 接口 }
 
静态路由举例 :ip route 192.168.1.0 255.255.255.0 s0/0
               ip route 192.168.1.0 255.255.255.0 12.12.12.2
在写静态路由时,如果链路是点到点的链路(例如PPP 封装的链路),采用网关地址和
接口都是可以的;然而如果链路是多路访问的链路(例如以太网),则只能采用网关地址,
即不能:ip route 192.168.1.0 255.255.255.0 f0/0
 
默认路由。命令为:ip route 0.0.0.0 0.0.0.0 { 网关地址 | 接口 }
默认路由举例 :ip route 0.0.0.0 0.0.0.0 s0/0
               ip route 0.0.0.0 0.0.0.0 12.12.12.2
 
动态路由:
 
router (config)#ip routing ;启动路由转发
 
router (config)#router rip ;启动RIP路由协议。
 
router (config-router)#network ;设置发布路由
 
router (config-router)#negihbor ;点对点帧中继用。
 
帧中继命令:
 
router (config)#frame-relay switching ;使能帧中继交换
 
router (config-s0)#encapsulation frame-relay ;使能帧中继
 
router (config-s0)#fram-relay lmi-type cisco ;设置管理类型
 
router (config-s0)#frame-relay intf-type DCE ;设置为DCE
 
router (config-s0)#frame-relay dlci 16 ;
 
router (config-s0)#frame-relay local-dlci 20 ;设置虚电路号
 
router (config-s0)#frame-relay interface-dlci 16 ;
 
router (config)#log-adjacency-changes ;记录邻接变化
 
router (config)#int s0/0.1 point-to-point ;设置子接口点对点
 
router#show frame pvc ;显示永久虚电路
 
router#show frame map ;显示映射
 
基本访问控制列表:
 
router (config)#access-list permit deny
 
router (config)#interface ;default:deny any
 
router (config-if)#ip access-group in out ;defaultut
 
例1:
 
router (config)#access-list 4 permit 10.8.1.1
 
router (config)#access-list 4 deny 10.8.1.0 0.0.0.255
 
router (config)#access-list 4 permit 10.8.0.0 0.0.255.255
 
router (config)#access-list 4 deny 10.0.0.0 0.255.255.255
 
router (config)#access-list 4 permit any
 
router (config)#int f0/0
 
router (config-if)#ip access-group 4 in
 
扩展访问控制列表:
 
access-list permit  deny icmp [type]
 
access-list permit  deny tcp [port]
 
例3:
 
router (config)#access-list 101 deny icmp any 10.64.0.2 0.0.0.0 echo
 
router (config)#access-list 101 permit ip any any
 
router (config)#int s0/0
 
router (config-if)#ip access-group 101 in
 
例3:
 
router (config)#access-list 102 deny tcp any 10.65.0.2 0.0.0.0 eq 80
 
router (config)#access-list 102 permit ip any any
 
router (config)#interface s0/1
 
router (config-if)#ip access-group 102 out
删除访问控制例表:
 
router (config)#no access-list 102
 
router (config-if)#no ip access-group 101 in
 
路由器的nat配置
 
Router (config-if)#ip nat inside ;当前接口指定为内部接口
 
Router (config-if)#ip nat outside ;当前接口指定为外部接口
 
Router (config)#ip nat inside source static [p] [port]
 
Router (config)#ip nat inside source static 10.65.1.2 60.1.1.1
 
Router (config)#ip nat inside source static tcp 10.65.1.3 80 60.1.1.1 80
 
Router (config)#ip nat pool p1 60.1.1.1 60.1.1.20 255.255.255.0
 
Router (config)#ip nat inside source list 1 pool p1
 
Router (config)#ip nat inside destination list 2 pool p2
 
Router (config)#ip nat inside source list 2 interface s0/0 overload
 
Router (config)#ip nat pool p2 10.65.1.2 10.65.1.4 255.255.255.0 type rotary
 
Router#show ip nat translation
 
rotary 参数是轮流的意思,地址池中的IP轮流与NAT分配的地址匹配。
 
overload 参数用于PAT 将内部IP映射到一个公网IP不同的端口上。
 
外部网关协议配置
 
routerA (config)#router bgp 100
 
routerA (config-router)#network 19.0.0.0
 
routerA (config-router)#neighbor 8.1.1.2 remote-as 200
 
配置PPP验证:
 
RouterA (config)#username password
 
RouterA (config)#int s0
 
RouterA (config-if)#ppp authentication {chap pap}
 
3.PIX 防火墙命令
 
Pix525 (config)#nameif ethernet0 outside security0 ;命名接口和级别
 
Pix525 (config)#interface ethernet0 auto ;设置接口方式
 
Pix525 (config)#interface ethernet1 100full ;设置接口方式
 
Pix525 (config)#interface ethernet1 100full shutdown
 
Pix525 (config)#ip address inside 192.168.0.1 255.255.255.0
 
Pix525 (config)#ip address outside 133.0.0.1 255.255.255.252
 
Pix525 (config)#global (if_name) natid ip-ip ;定义公网IP区间
 
Pix525 (config)#global (outside) 1 7.0.0.1-7.0.0.15 ;例句
 
Pix525 (config)#global (outside) 1 133.0.0.1 ;例句
 
Pix525 (config)#no global (outside) 1 133.0.0.1 ;去掉设置
 
Pix525 (config)#nat (if_name) nat_id local_ip [netmark]
 
Pix525 (config)#nat (inside) 1 0 0
 
内网所有主机(0代表0.0.0.0)可以访问global 1指定的外网。
 
Pix525 (config)#nat (inside) 1 172.16.5.0 255.255.0.0
 
内网172.16.5.0/16网段的主机可以访问global 1指定的外网。
 
Pix525 (config)#route if_name 0 0 gateway_ip [metric] ;命令格式
 
Pix525 (config)#route outside 0 0 133.0.0.1 1 ;例句
 
Pix525 (config)#route inside 10.1.0.0 255.255.0.0 10.8.0.1 1 ;例句
 
Pix525 (config)#static (inside, outside) 133.0.0.1 192.168.0.8
 
表示内部ip地址192.168.0.8,访问外部时被翻译成133.0.0.1全局地址。
 
Pix525 (config)#static (dmz, outside) 133.0.0.1 172.16.0.8
 
中间区域ip地址172.16.0.8,访问外部时被翻译成133.0.0.1全局地址。