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全局地址。