首先我们需要了解vrrp协议是用来干什么的?
主机将发送给外部网络的报文发送给网关,由网关传递给外部网络,从而实现主机与外部网络的通信。正常的情况下,主机可以完全信赖网关的工作,但是当网关坏掉时,主机与外部的通信就会中断。要解决网络中断的问题,可以依靠再添加网关的方式解决,不过由于大多数主机只允许配置一个默认网关,此时需要网络管理员进行手工干预网络配置,才能使得主机使用新的网关进行通信;有时,人们运用动态路由协议的方法来解决网络出现故障这一问题,如运行RIP、OSPF等,或者使用IRDP。然而,这些协议由于配置过于复杂,或者安全性能不好等原因都不能满足用户的需求。
为了更好地解决网络中断的问题,网络开发者提出了VRRP,它既不需要改变组网情况,也不需要在主机上做任何配置,只需要在相关路由器上配置极少的几条命令,就能实现下一跳网关的备份,并且不会给主机带来任何负担。和其他方法比较起来,VRRP更加能够满足用户的需求。
首先我们将R1 R2 R3化作一个区域使用ospf协议
R1的配置如下
sys sysname r1 in g0/0/1 ip add 192.168.1.1 24 in g0/0/0 ip add 172.16.13.1 24 int loopback 0 ip add 1.1.1.1 32
R2的配置如下
sys sysname r2 in g0/0/1 ip add 192.168.1.200 24 in g0/0/0 ip add 172.16.23.2 24 int loopback 0 ip add 2.2.2.2 32
R3的配置如下
sys sysname r3 in g0/0/0 ip add 172.16.13.2 24 in g0/0/1 ip add 172.16.23.1 24 int loopback 0 ip add 3.3.3.3 32
PC1 PC2的ip配置如下
接下来分别配置r1 r2 r3ospf
r1 ospf route-id 1.1.1.1 area 0 network 192.168.1.0 0.0.0.255 network 1.1.1.1 0.0.0.0 network 172.16.13.0 0.0.0.255 r2 ospf route-id 2.2.2.2 area 0 network 192.168.1.0 0.0.0.255 network 2.2.2.2 0.0.0.0 network 172.16.23.0 0.0.0.255 r3 ospf route-id 3.3.3.3 area 0 network 172.16.23.0 0.0.0.255 network 3.3.3.3 0.0.0.0 network 172.16.13.0 0.0.0.255
接下来分别在R1 R2的0/0/1 端口设置vrrp协议
r1 in g0/0/1 vrrp vrid 1 vitrual-id 192.168.1.254 vrrp vrid 1 priority 150 r2 in g0/0/1 vrrp vrid 1 vitrual-id 192.168.1.254 vrrp vrid 1 priority 200
此时我们在pc1上ping1.1.1.1
tracert追踪往哪到的1.1.1.1
我们可以很清楚的看到先去的1.200 才到的1.1.1.1
因为我们给R2设置的优先级为200 R1为150 优先级越高就先往哪走
假设R2坏了怎么办(我们将R2 g0/0/1端口shutdown掉)
结果如下
并没有影响到网络的通信
但是,此时我们发现只要R2没坏 R1就一直处于空闲的状态,并没有得到充分的利用
此时我们设置多备份组来实现负载分担
r1 in g0/0/1 vrrp vrid 2 vitrual-id 192.168.1.253 vrrp vrid 2 priority 200 r2 in g0/0/1 vrrp vrid 2 vitrual-id 192.168.1.253 vrrp vrid 2 preempt-mode disable(关闭自动抢占)
我们可以看到追踪到2.2.2.2时,实现到达了R1
但是这样的话其实R2并不在是master了 我们需要改变R2的地址保证R2始终是master 并且在vrid 2将R1的优先级设置为最大
r2
in g0/0/1 ip add 192.168.1.254 24
r1
in g0/0/1
vrrp vrid 2 priority 254
将pc网关改为192.168.1.253
此时ping3.3.3.3