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
// 查看该路由器支持多少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全局地址。