【HCIA】VRRP

前言

二层交换机为了破环 发明了堆叠,把几台实际的交换机视作一个虚拟的交换机,实现了链路的复用和环路的破坏。那么对应到三层的路由器,我们有 VRRP(Virtual Router Redundancy Protocol),它可以让路由器分主备,对外仍被视为一个虚拟的统一的路由器。

文章目录

  • 前言
  • [1. 整体拓扑](#1. 整体拓扑)
  • [配置 CoreSW1](#配置 CoreSW1)
  • [配置 CoreSW2](#配置 CoreSW2)
  • 配置VRRP
  • [配置 AR1 与 AR2](#配置 AR1 与 AR2)
  • [PC 要能 Ping 通 AR2](#PC 要能 Ping 通 AR2)
  • 后记
  • 修改记录

1. 整体拓扑

我们整体的拓扑图非常简单,最下面是接入层PC,中间是核心交换机,最上面是出口路由器。我们将首先配置接入交换机,让不同vlan的MAC帧可以被 AccessSW 接收。

我们可以看到拓扑图上,进入核心交换机这一块,都是vlan10,所以我们给连接PC的端口加一个默认vlan:

shell 复制代码
[AccessSW]undo info-center enable 
[AccessSW]vlan 10
[AccessSW-vlan10]quit
[AccessSW]interface GigabitEthernet 0/0/3
[AccessSW-GigabitEthernet0/0/3]port link-type access 
[AccessSW-GigabitEthernet0/0/3]port default vlan 10
[AccessSW-GigabitEthernet0/0/3]quit
[AccessSW]interface GigabitEthernet 0/0/1
[AccessSW-GigabitEthernet0/0/1]port link-type trunk 
[AccessSW-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[AccessSW-GigabitEthernet0/0/1]quit
[AccessSW]interface GigabitEthernet 0/0/2
[AccessSW-GigabitEthernet0/0/2]port link-type trunk 
[AccessSW-GigabitEthernet0/0/2]port trunk allow-pass vlan all

配置 CoreSW1

接下来我们配置 CoreSW1 ,这个三层交换机需要配置两个IP:一个IP负责和 CoreSW2 一起复合成虚拟路由;另一个IP则与出口路由器R1进行通讯。

shell 复制代码
[CoreSW1]undo info-center enable
[CoreSW1]vlan batch 10 100
[CoreSW1]interface Vlanif 10
[CoreSW1-Vlanif10]ip address 192.168.10.252 24
[CoreSW1-Vlanif10]q
[CoreSW1]interface Vlanif 100
[CoreSW1-Vlanif100]ip address 192.168.100.1 30
[CoreSW1-Vlanif100]q

我们需要把 vlan10 所覆盖的接口都配置成 trunk 类型,然后把2口直连到AR1.

shell 复制代码
[CoreSW1]interface GigabitEthernet 0/0/1
[CoreSW1-GigabitEthernet0/0/1]port link-type trunk 
[CoreSW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[CoreSW1-GigabitEthernet0/0/1]q
[CoreSW1]interface GigabitEthernet 0/0/3
[CoreSW1-GigabitEthernet0/0/3]port link-type trunk 
[CoreSW1-GigabitEthernet0/0/3]port trunk allow-pass vlan all
[CoreSW1-GigabitEthernet0/0/3]q
[CoreSW1]interface GigabitEthernet 0/0/2 
[CoreSW1-GigabitEthernet0/0/2]port link-type access 
[CoreSW1-GigabitEthernet0/0/2]port default vlan 100
[CoreSW1-GigabitEthernet0/0/2]q

配置 CoreSW2

同理,我们需要配置第二个核心交换机,我们同样是先配置vlan相关的内容,然后配置接口的帧转发:

shell 复制代码
[CoreSW2]vlan batch 10 200
[CoreSW2]interface Vlanif 10
[CoreSW2-Vlanif10]ip address 192.168.10.253 24
[CoreSW2-Vlanif10]q
[CoreSW2]interface Vlanif 200
[CoreSW2-Vlanif200]ip address 192.168.200.1 30
[CoreSW2-Vlanif200]q

配置直连口时要注意,默认的vlan是200了。

shell 复制代码
[CoreSW2]int GigabitEthernet 0/0/1
[CoreSW2-GigabitEthernet0/0/1]port link-type trunk 
[CoreSW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[CoreSW2-GigabitEthernet0/0/1]q
[CoreSW2]interface GigabitEthernet 0/0/3
[CoreSW2-GigabitEthernet0/0/3]port link-type trunk 
[CoreSW2-GigabitEthernet0/0/3]port trunk allow-pass vlan all
[CoreSW2-GigabitEthernet0/0/3]q
[CoreSW2]interface GigabitEthernet 0/0/2
[CoreSW2-GigabitEthernet0/0/2]port link-type access 
[CoreSW2-GigabitEthernet0/0/2]port default vlan 200
[CoreSW2-GigabitEthernet0/0/2]q

此时我们 ping CoreSW1 的IP地址应该是能通的:

shell 复制代码
[CoreSW2]ping 192.168.10.252
  PING 192.168.10.252: 56  data bytes, press CTRL_C to break
    Reply from 192.168.10.252: bytes=56 Sequence=1 ttl=255 time=70 ms
    Reply from 192.168.10.252: bytes=56 Sequence=2 ttl=255 time=60 ms
    Reply from 192.168.10.252: bytes=56 Sequence=3 ttl=255 time=50 ms
    Reply from 192.168.10.252: bytes=56 Sequence=4 ttl=255 time=80 ms
    Reply from 192.168.10.252: bytes=56 Sequence=5 ttl=255 time=60 ms

  --- 192.168.10.252 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 50/64/80 ms

配置VRRP

我们要先后在 CoreSW1CoreSW2 上配置 VRRP,让他们的优先级不同(优先级的值越高优先级越大),让1作为主,2作为备。我们首先配置 CoreSW1

shell 复制代码
[CoreSW1]interface Vlanif 10
[CoreSW1-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1
[CoreSW1-Vlanif10]vrrp vrid 1 priority 120
[CoreSW1-Vlanif10]vrrp vrid 1 preempt-mode timer delay 5

对于 CoreSW2 ,可以简化配置:

shell 复制代码
[CoreSW2]interface Vlanif 10
[CoreSW2-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1

如未给出 priority (优先级),默认为 100.

此时,我们可以查看vrrp:

shell 复制代码
[CoreSW2]display vrrp
  Vlanif10 | Virtual Router 1
    State : Backup
    Virtual IP : 192.168.10.1
    Master IP : 192.168.10.252
    PriorityRun : 100
    PriorityConfig : 100
    MasterPriority : 120
    Preempt : YES   Delay Time : 0 s
    TimerRun : 1 s
    TimerConfig : 1 s
    Auth type : NONE
    Virtual MAC : 0000-5e00-0101
    Check TTL : YES
    Config type : normal-vrrp
    Create time : 2025-04-29 14:17:33 UTC-08:00
    Last change time : 2025-04-29 14:17:33 UTC-08:00
<CoreSW1>display vrrp
  Vlanif10 | Virtual Router 1
    State : Master
    Virtual IP : 192.168.10.1
    Master IP : 192.168.10.252
    PriorityRun : 120
    PriorityConfig : 120
    MasterPriority : 120
    Preempt : YES   Delay Time : 5 s
    TimerRun : 1 s
    TimerConfig : 1 s
    Auth type : NONE
    Virtual MAC : 0000-5e00-0101
    Check TTL : YES
    Config type : normal-vrrp
    Create time : 2025-04-29 14:16:27 UTC-08:00
    Last change time : 2025-04-29 14:16:31 UTC-08:00

我们可以看到,此时1号交换机已经成为主,2号为备。

我们配置PC1的网关为该虚拟IP地址,此时也能通了:

此时与 VRRP 相关的配置就讲解完了,后续我还会配置NAT以及默认路由,感兴趣的可以继续看下去。

配置 AR1 与 AR2

现在我们配置 AR1AR2AR2 比较简单,只需要配置一个 IP 地址,我们可以敲击:

shell 复制代码
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 10.1.1.1 30

对于 AR1 ,我们先配置各接口 IP 地址:

shell 复制代码
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.100.2 30
[AR1]interface GigabitEthernet 0/0/2
[AR1-GigabitEthernet0/0/2]ip address 192.168.200.2 30
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 100.1.1.2 30

然后,我们用 《【HCIA】4种NAT的配置方式》 中提到的 EasyIP 的方式在出接口,也就是 GE 0/0/0 配置一个NAT:

shell 复制代码
[AR1]acl 2000
[AR1-acl-basic-2000]rule 5 permit source 192.168.10.0 0.0.0.255
[AR1-acl-basic-2000]rule permit source 192.168.100.0 0.0.0.255
[AR1-acl-basic-2000]rule permit source 192.168.200.0 0.0.0.255
[AR1-acl-basic-2000]quit
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000

ACL 中添加匹配规则时,如不指定序号,则序号默认加5,如下所示:

shell 复制代码
[AR1-acl-basic-2000]display this
[V200R003C00]
#
acl number 2000  
 rule 5 permit source 192.168.10.0 0.0.0.255 
 rule 10 permit source 192.168.100.0 0.0.0.255 
 rule 15 permit source 192.168.200.0 0.0.0.255 
#
return

PC 要能 Ping 通 AR2

在这个例子中,AR2 相当于公网上的路由器,我们现在尝试着 ping 通 AR2,此时发现超时!超时不要慌,我们跟踪一下链路,看看在哪里断开了?

cmd 复制代码
PC>tracert 100.1.1.1

traceroute to 100.1.1.1, 8 hops max
(ICMP), press Ctrl+C to stop
 1  192.168.10.252   47 ms  31 ms  47 ms
 2    *  *  *
 3    *  *  *
 4    *  *  *
 5    *  *  *
 6    *  *  *
 7    *  *  *
 8    *  *  *

发现是到达 PC1 配置的网关地址后,就无法再向前了,应该是被丢弃了。所以我们开始检查 CoreSW1 的路由表:

shell 复制代码
<CoreSW1>display ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 7        Routes : 7        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
   192.168.10.0/24  Direct  0    0           D   192.168.10.252  Vlanif10
   192.168.10.1/32  Direct  0    0           D   127.0.0.1       Vlanif10
 192.168.10.252/32  Direct  0    0           D   127.0.0.1       Vlanif10
  192.168.100.0/30  Direct  0    0           D   192.168.100.1   Vlanif100
  192.168.100.1/32  Direct  0    0           D   127.0.0.1       Vlanif100

发现去往 100.1.1.1 确实没有任何路由方式,此时我们可以给它配置静态路由:

shell 复制代码
<CoreSW1>system-view
[CoreSW1]ip route-static 0.0.0.0 0 192.168.100.2

此时实验完毕,一个更高可用的路由就配置完成了。

后记

老铁们,我们配置完一个设备后,记得ping一下临近的设备,不然有时候ensp模拟器会出奇怪的问题,导致实验失败,而你的配置无任何错误。还有的时候删了设备重新配置,就会得到正确的结果。

文中有任何错误、遗漏,烦请各位老铁在评论区指出,共同学习进步。

修改记录

更新日期 修改内容
2025年4月29日 完成初稿
相关推荐
caolib4 小时前
1.计算机网络概述
网络·计算机网络
tt55555555555517 小时前
计算机网络——HTTP/IP 协议通俗入门详解
计算机网络·https
caolib1 天前
7.计算机网络相关术语
服务器·计算机网络·asp.net
triticale1 天前
【计算机网络】常见名词解释
计算机网络
时迁2471 天前
【计算机网络】面试常考——GET 和 POST 的区别
计算机网络·http·get·post
caolib1 天前
5.运输层
计算机网络
满怀10152 天前
【数据链路层】网络通信的“桥梁建设者”
网络·网络协议·计算机网络
会讲英语的码农2 天前
[计算机网络]物理层
网络·计算机网络
南川琼语2 天前
计算机网络基础
计算机网络