1 HSRP配置

1.1 问题

在企业网络到外部的连接方案中,要求不高的条件下可以是单出口。一旦该出口线路出现问题,整个企业网络就不能连接到外网了。为了使得企业网络到外网连接的高可用性,可以设置两个以上的出口,然而多个出口对于内网主机意味着我个网关。主机不能同时使用多个网关,当主机所使用的网关出现故障时,它不能实现网关的自动切换。

1)配置热备份路由协议

1.2 方案

在出口设备上配置热备份路由协议(HSRP),组成一个HSRP组,组内两个出口设备共享一个虚拟IP地址,该IP地址作为内网主机的网关。

HSRP组成员有主备之分,虚拟IP地址被附加到主设备上。如果主设备线路出故障,备份设备会成为主设备,虚拟IP地址也会迁移过来。这样,不管哪一个出口设备出现问题,不管哪个出口设备在提供外网接入,内网主机的网关都不需要改变。

网络拓扑图如图-1所示:

图-1

蓝色区域表示内网,上面模拟到外网的连接。

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:分别在三台路由器上配置端口IP地址

tarena-R1(config)#int f0/0tarena-R1(config-if)#ip address 192.168.0.1 255.255.255.0tarena-R1(config-if)#no shutdowntarena-R1(config-if)#interface f0/1tarena-R1(config-if)#ip address 192.168.1.1 255.255.255.0tarena-R1(config-if)#no shutdowntarena-R2(config)#interface f0/0tarena-R2(config-if)#ip address 192.168.0.2 255.255.255.0tarena-R2(config-if)#no shutdowntarena-R2(config-if)#interface f0/1tarena-R2(config-if)#ip address 192.168.2.1 255.255.255.0tarena-R2(config-if)#no shutdowntarena-R3(config)#interface f0/0tarena-R3(config-if)#ip address 192.168.1.2 255.255.255.0tarena-R3(config-if)#no shutdowntarena-R3(config-if)#interface f0/1tarena-R3(config-if)#ip address 192.168.2.2 255.255.255.0tarena-R3(config-if)#no shutdowntarena-R3(config-if)#interface f1/0tarena-R3(config-if)#ip address 200.1.1.1 255.255.255.0tarena-R3(config-if)#no shutdown

步骤二:在R1和R2上配置到外网的默认路由

tarena-R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.2tarena-R1(config)#endtarena-R1#show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is 192.168.1.2 to network 0.0.0.0C    192.168.0.0/24 is directly connected, FastEthernet0/0C    192.168.1.0/24 is directly connected, FastEthernet0/1S*   0.0.0.0/0 [1/0] via 192.168.1.2tarena-R1#tarena-R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2tarena-R2(config)#exittarena-R2#show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is 192.168.2.2 to network 0.0.0.0C    192.168.0.0/24 is directly connected, FastEthernet0/0C    192.168.2.0/24 is directly connected, FastEthernet0/1S*   0.0.0.0/0 [1/0] via 192.168.2.2

步骤三:在R3上配置到企业内网的静态路由

tarena-R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.2.1tarena-R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.1tarena-R3(config)#endtarena-R3#show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not setS    192.168.0.0/24 [1/0] via 192.168.2.1[1/0] via 192.168.1.1C    192.168.1.0/24 is directly connected, FastEthernet0/0C    192.168.2.0/24 is directly connected, FastEthernet0/1C    200.1.1.0/24 is directly connected, FastEthernet1/0tarena-R3#

步骤四:在R1上配置HSRP,指定其优先级为200

HSRP的默认优先级为100,路由器启动后,根据优先级决定谁可以成为活跃路由器,优先级高的将胜出。如果路由器优先级相同,再比较端口IP地址,IP地址大的成为活路跃路由器。

另外,如果优先级低的路由器先启动了,它将成为活跃路由器。优先级高的路由器启动后,发现已有活跃路由器存在,它将接受现状,直到活跃路由器出现故障它才会在重新选举时成为活跃角色。

tarena-R1(config)#interface f0/0tarena-R1(config-if)#standby 1 ip 192.168.0.254tarena-R1(config-if)#standby 1 priority 200%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active

配置HSRP后,通过输出日志可以观察到路由器角色的改变。

步骤五:在R2上配置HSRP,指定其优先级为195

tarena-R2(config)#interface f0/0tarena-R2(config-if)#standby 1 ip 192.168.0.254tarena-R2(config-if)#standby 1 priority 195%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby

步骤六:分别在R1和R2上查看HSRP信息

tarena-R1#show standby briefP indicates configured to preempt.|Interface   Grp  Pri P State    Active          Standby         Virtual IPFa0/0        1    200   Active   local           192.168.0.2     192.168.0.254tarena-R2#show standby briefP indicates configured to preempt.|Interface   Grp  Pri P State    Active          Standby         Virtual IPFa0/0        1    195   Standby  192.168.0.1     local           192.168.0.254

根据输出信息,可以看到优先级大的R1成为了活跃路由器,继续在其上面查看arp信息,能够查看到虚拟IP地址被附加到R1上了。

tarena-R1#show ip arpProtocol  Address          Age (min)  Hardware Addr   Type   InterfaceInternet  192.168.0.1             -   0005.5E53.3001  ARPA   FastEthernet0/0Internet  192.168.0.254           12  0000.0C9F.F001  ARPA   FastEthernet0/0Internet  192.168.1.1             -   0005.5E53.3002  ARPA   FastEthernet0/1

步骤七:在内部主机上测试到外网主机的连通性

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::207:ECFF:FE80:557DIP Address......................: 192.168.0.10Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.254PC>ping 200.1.1.10Pinging 200.1.1.10 with 32 bytes of data:Reply from 200.1.1.10: bytes=32 time=0ms TTL=126Reply from 200.1.1.10: bytes=32 time=0ms TTL=126Reply from 200.1.1.10: bytes=32 time=0ms TTL=126Reply from 200.1.1.10: bytes=32 time=1ms TTL=126Ping statistics for 200.1.1.10:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 0ms, Maximum = 1ms, Average = 0msPC>tracert 200.1.1.10Tracing route to 200.1.1.10 over a maximum of 30 hops: 1   0 ms      1 ms      0 ms      192.168.0.12   0 ms      1 ms      0 ms      192.168.1.23   0 ms      0 ms      0 ms      200.1.1.10Trace complete.PC>

Ping命令只能检测网络是否连通,如果要查看具体路径需要使用tracert。根据tracert显示结果,R1转发了PC机的数据包。

步骤八:关闭R1电源,模拟设备故障,查看R2的HSRP信息

tarena-R2#%HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Activetarena-R2#show standby briefP indicates configured to preempt.|Interface   Grp  Pri P State    Active          Standby         Virtual IPFa0/0        1    195   Active   local           unknown         192.168.0.254tarena-R2#show ip arpProtocol  Address          Age (min)  Hardware Addr   Type   InterfaceInternet  192.168.0.2             -   0001.4200.9C01  ARPA   FastEthernet0/0Internet  192.168.0.10            9   0007.EC80.557D  ARPA   FastEthernet0/0Internet  192.168.0.254           1   0000.0C9F.F001  ARPA   FastEthernet0/0Internet  192.168.2.1             -   0001.4200.9C02  ARPA   FastEthernet0/1Internet  192.168.2.2             9   0005.5E59.E002  ARPA   FastEthernet0/1

结果显示R2已成为活跃路由器,而备份路由器状态未知。虚拟路由器的IP地址192.168.0.254/24也已迁移到R2上了。

步骤九:再次在内部主机上测试到外网主机的连通性

PC>ping 200.1.1.10Pinging 200.1.1.10 with 32 bytes of data:Reply from 200.1.1.10: bytes=32 time=0ms TTL=126Reply from 200.1.1.10: bytes=32 time=1ms TTL=126Reply from 200.1.1.10: bytes=32 time=1ms TTL=126Reply from 200.1.1.10: bytes=32 time=0ms TTL=126Ping statistics for 200.1.1.10:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 0ms, Maximum = 1ms, Average = 0msPC>tracert 200.1.1.10Tracing route to 200.1.1.10 over a maximum of 30 hops: 1   1 ms      0 ms      0 ms      192.168.0.22   0 ms      0 ms      0 ms      192.168.2.23   0 ms      1 ms      0 ms      200.1.1.10Trace complete.PC>

根据tracert结果,路由器R2转发了PC机的数据包

步骤十:再次在内部主机上测试到外网主机的连通性

备份路由器成为活跃路由器后,原来的活跃路由器R1即使线路修复也不会重新成为进入活跃状态。

为了使路由器完全根据优先级来决定其状态,需要配置占先权。占先权保证了严格根据优先级来决定哪台设备进入活跃状态。

tarena-R1(config)#interface f0/0tarena-R1(config-if)#standby 1 preempttarena-R2(config)#interface f0/0tarena-R2(config-if)#standby 1 preempt

2 PVST+的配置

2.1 问题

二层网络中有可能出现因为线路故障而导致的通信故障,通过冗余线路可以消除因为某一线路故障而导致的网络中断。

但是因为冗余线路的存在,又可能会出现广播风暴、相同帧的不断复制和MAC地址表不稳定。

1)配置Switch1为vlan1的主根,Switch2为vlan1的次根

2.2 方案

为了保证在冗余环境下不会出广播风暴等问题,引入了生成树(STP)协议。通过生成树协议可以把冗余线路上的某一个端口置为阻塞(BLOCKING)状态,防止广播风暴的产生,当某一线路出现故障时,被阻塞的端口自动进入转发(FORWARDING)状态,保证网络的畅通性。

网络拓扑如图-2所示:

图-2

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将三台交换机相连的端口配置为中继端口

tarena-sw1(config)#interface range f0/12 -13tarena-sw1(config-if-range)#switchport mode trunktarena-sw2(config)#interface range f0/12, f0/23tarena-sw2(config-if-range)#switchport mode trunktarena-sw3(config)#interface range f0/13 ,f0/23tarena-sw3(config-if-range)#switchport mode trunk

步骤二:设置tarena-sw1为根网桥

根网桥唯一的依据是BID最小。BID分为两个部分:优先级+MAC地址。比较BID时,先比较优先级,如果优先级相同才比较MAC地址。

优先级取值范围是0到65535,默认值为32768。在查看优先级时,即使是默认值看到的也不是32768,因为交换机的优先级采用系统优先级+VLAN编号的方式,所以查看到的VLAN1默认优先级是32769(系统优先级32768+VLAN编号1)。

tarena-sw1(config)#spanning-tree vlan 1 root primarytarena-sw1(config)#exittarena-sw1#show spanning-treeVLAN0001Spanning tree enabled protocol ieeeRoot ID   Priority    24577   //默认优先级为32768Address     0060.478B.607BThis bridge is the rootHello Time  2 sec  Max Age 20 sec  Forward Delay 15 secBridge ID  Priority    24577  (priority 24576 sys-id-ext 1)Address     0060.478B.607BHello Time  2 sec  Max Age 20 sec  Forward Delay 15 secAging Time  20Interface        Role   Sts   Cost      Prio.Nbr   Type-----------    ------  --- --------   --------  ----------------------Fa0/13           Desg    FWD    19        128.13     P2pFa0/12           Desg    FWD    19        128.12     P2p

查看到的结果,Root ID部分指的是根网桥信息,Bridge ID部分是当前所操作的交换机信息,如果二者一致表示当前操作的交换机就是根网桥。

步骤三:设置tarena-sw2为次根,即BID值大小居中

tarena-sw2(config)#spanning-tree vlan 1 root secondarytarena-sw2#show spanning-treeVLAN0001Spanning tree enabled protocol ieeeRoot ID    Priority    24577  //此处虽然与tarena-sw1一样,但MAC地址更大Address     0060.478B.607BCost        19Port        12(FastEthernet0/12)Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 secBridge ID  Priority    28673  (priority 28672 sys-id-ext 1)Address     0090.0C77.8924Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 secAging Time  20Interface        Role Sts    Cost      Prio.Nbr    Type----------      ---- ----   -----      -------- ---------Fa0/12           Root FWD      19        128.12     P2pFa0/23           Desg FWD      19        128.23     P2p

步骤四:tarena-sw3不需要做改动,直接查看STP状态

tarena-sw3#show spanning-treeVLAN0001Spanning tree enabled protocol ieeeRoot ID    Priority    24577Address     0060.478B.607BCost        19Port        13(FastEthernet0/13)Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 secBridge ID  Priority    32769  (priority 32768 sys-id-ext 1)Address     0060.5C9E.2E75Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 secAging Time  20Interface        Role   Sts     Cost      Prio.Nbr     Type----------      ------ ----   ----- --------        ----------Fa0/13           Root    FWD      19        128.13       P2pFa0/23           Altn    BLK      19        128.23       P2p

观察Sts列(即状态status),Fa0/23端口当前是耳塞(BLK)状态,即该端口不能转发数据。

步骤五:模拟交换机间线缆故障。将tarena-sw2的Fa0/12口shutdown,再次检查tarena-sw3端口状态

tarena-sw2(config)#interface f0/12tarena-sw2(config-if)#shutdowntarena-sw3#show spanning-treeVLAN0001Spanning tree enabled protocol ieeeRoot ID    Priority    24577Address     0060.478B.607BCost        19Port        13(FastEthernet0/13)Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 secBridge ID  Priority    32769  (priority 32768 sys-id-ext 1)Address     0060.5C9E.2E75Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 secAging Time  20Interface        Role   Sts     Cost      Prio.Nbr     Type----------      ------ ----   ----- --------        ----------Fa0/13           Root    FWD      19        128.13       P2pFa0/23           Desg    FWD      19        128.23       P2p

从tarena-sw3的输出可以看到,Fa0/23端口已从阻塞状态切换到转发(FWD)状态,保证了网络的畅通。当线路恢复(在rarena-sw2的Fa0/12端口执行no shutdown)后,tarena-sw3的Fa0/23端口将重新进入阻塞状态以网止环路的产生。

在查看时,tarena-sw3的Fa0/23端口不是立即进入转发或是阻塞状态。生成树端口有阻塞,侦听,学习和转发四个状态,当拓扑变化时,端口状态改变要遵从这些状态的逐渐改变。