VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议
第一部分 概念介绍
1.概念
VRRP(Virtual Router Redundancy Protocol)协议协议是为消除在静态缺省路由环境下的缺省路由器单点故障引起的网络失效而设计的主备模式的协议,使得在发生故障而进行设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数。VRRP协议需要具有IP地址备份,优先路由选择,减少不必要的路由器间通信等功能。
2.方法原理
VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。
配置VRRP协议时需要配置每个路由器的虚拟路由器ID(VRID)和优先权值,使用VRID将路由器进行分组,具有相同VRID值的路由器为同一个组,VRID是一个0~255的正整数;同一组中的路由器通过使用优先权值来选举MASTER,优先权大者为MASTER,优先权也是一个0~255的正整数。
VRRP协议使用多播数据来传输VRRP数据,VRRP数据使用特殊的虚拟源MAC地址发送数据而不是自身网卡的MAC地址,VRRP运行时只有MASTER路由器定时发送VRRP通告信息,表示MASTER工作正常以及虚拟路由器IP(组),BACKUP只接收VRRP数据,不发送数据,如果一定时间内没有接收到MASTER的通告信息,各BACKUP将宣告自己成为MASTER,发送通告信息,重新进行MASTER选举状态。
3.MASTER选举
如果对外的虚拟路由器IP就是路由器本身配置的IP地址的话,该路由器始终都是MASTER;否则如果不具备虚拟IP的话,将进行MASTER选举,各路由器都宣告自己是MASTER,发送VRRP通告信息;如果收到其他机器的发来的通告信息的优先级比自己高,将转回BACKUP状态;如果优先级相等的话,将比较路由器的实际IP,IP值较大的优先权高;
不过如果对外的虚拟路由器IP就是路由器本身的IP的话,该路由器始终将是MASTER。
第二部分 试验案例
1)试验拓扑:
其中路由器由H3C防火墙模拟,交换机用quidway 2403-h-ei型交换机。
这是通常VRRP使用拓扑,两台路由器运行VRRP互为备份,路由器1作为VRID组1的MASTER,IP地址A,VRID组2的BACKUP,路由器2作为VRID组2的MASTER,IP地址B,VRID组1的BACKUP,内部网络中一部分机器的缺省网关地址是IP地址A,一部分是IP地址B,正常情况下以A为网关的数据将走路由器1,以B为网关的数据将走路由器2,如果一台路由器发生故障,所有数据将走另一台路由器。
各接口连接如图。
试验要求:
1.左右每台交换机下都有vlan10 和vlan20;
2.设置两个备份组分别为10,20;
3.路由器1作为VRID组10的MASTER,VRID组20的BACKUP;
路由器2作为VRID组20的MASTER,IP地址B,VRID组10的BACKUP;
4.使交换机1的vlan10内的主机能与交换机2的vlan20内主机通信。
5.使vlan10的数据走备份组10,vlan20的数据走备份组20,从而实现线路备份的高可用性。
2)具体配置:
Fw1配置:
1.接口和子接口配置:
[fw1]int Ethernet 0/0.1
[fw1-Ethernet0/0.1]vlan-type dot1q vid 10
[fw1-Ethernet0/0.1]ip add 192.168.10.1 24
[fw1-Ethernet0/0.1]int Ethernet 0/0.2
[fw1-Ethernet0/0.2]vlan-type dot1q vid 20
[fw1-Ethernet0/0.2]ip add 192.168.20.1 24
因为是防火墙,需要把接口加入区域:
[fw1]firewall zone trust
[fw1-zone-trust]add int eth0/0
[fw1-zone-trust]add int eth0/0.1
[fw1-zone-trust]add int eth0/0.2
2.必要配置:
[fw1]firewall packet-filter default permit防火墙默认允许包通过
[fw1]undo insulate 取消端口隔离
[fw1]vrrp ping-enable 开启vrrp的ping命令
3.配置vrrp:
[fw1]int eth0/0.1进入子接口
[fw1-Ethernet0/0.1]vrrp vrid 10 virtual-ip 192.168.10.254为备份组10建立虚拟地址
[fw1-Ethernet0/0.1]vrrp vrid 10 priority 120设置优先级为120
[fw1-Ethernet0/0.1]int eth0/0.2
[fw1-Ethernet0/0.2]vrrp vrid 20 virtual-ip 192.168.20.254为备份组20建立虚拟地址
查看备份组:
从图中看出,两个备份组10和20都有了虚拟地址,子接口0.1的优先级被设为了120,由于还没有与其他设备进行通信,则认为自己优先级最高,所以两个状态都为Master 。
Fw2上配置与fw1相对,只有个别地方不同,这里不再列出。
配置备份组:
[fw2]int eth0/0.1
[fw2-Ethernet0/0.1]vrrp vrid 10 virtual-ip 192.168.10.254
[fw2-Ethernet0/0.2]vrrp vrid 20 virtual-ip 192.168.20.254
[fw2-Ethernet0/0.2]vrrp vrid 20 priority 120把备份20的优先级设为120
配置完后,查看备份组:
结果与fw1基本一致。
对交换机进行配置:
Sw1配置:
1.vlan配置:
[sw1]vlan 10
[sw1-vlan10]port eth0/10
[sw1-vlan10]vlan 20
[sw1-vlan20]port eth0/20
2.trunk配置:
[sw1]int e0/1
[sw1-Ethernet0/1]port link-type trunk
[sw1-Ethernet0/1]port trunk permit vlan all
[sw1-Ethernet0/1]int e0/2
[sw1-Ethernet0/2]port link-type trunk
[sw1-Ethernet0/2]port trunk permit vlan all
Sw2配置同sw1基本一样,这里不再列出。
再次查看fw1上的vrrp:
发现由于在fw1上备份组20的优先级没有设置,即为默认的100,而低于fw2上面配置的备份组20优先级120,所以成为了Backup状态。
Fw2上的vrrp:
同上面的道理一样,fw2上的备份组10变为了Backup状态。
检查左边vlan10内主机与右边vlan20内主机的通信:
1.在sw1的端口10接入一台pc(这里用虚拟机模拟),设置ip地址和网关,如图:
在sw2的端口20下接入一台pc,设置ip为192.168.20.100。
2.查看结果:ping 虚拟网关:
Ping 交换机子接口地址:
平20.100主机;
试验结束。
结论
VRRP实现了对路由器IP地址的冗余功能,防止了单点故障造成的网络失效,VRRP本身是热备形式的,但可以通过互相热备实现路由器的均衡处理。