网络设备中VRRP协议和Linux服务器中keepalived的两个区别

1、什么是VRRP?keepalived又是什么?

VRRP全称是Virtual Router Redundancy Protocol,即虚拟路由冗余协议。它的主要目的是在一个网络中提供冗余的路由。当一个三层网络设备或服务器出现故障时,VRRP可以确保网络仍能正常工作。VRRP通过在这些设备之间使用IP组播或单播通信来实现冗余。它可以确保在网络中有多个物理节点时,且在某些节点发生故障时仍能保持服务。
Keepalived是一个维护IP网络稳定性的重要软件。它是Linux内核中的一个组件,用于实现虚拟路由冗余协议(VRRP)。Keepalived负责监控和维护一个VRRP集群,以确保所有VRRP实例都在线并能相互通信。如果VRRP集群中的任何一个实例出现故障,Keepalived将自动从故障实例中选择一个健康实例来接管故障实例的工作。
VRRP和Keepalived都是保证网络稳定性和可靠性的重要组件,它们在不同的方面发挥着重要作用。

2、网络设备中VRRP协议和服务器中keepalived的两个区别

2.1、网络设备中VRRP协议的虚拟IP地址对应一个虚拟的mac地址,而keepalived的虚拟IP地址对应Master节点的物理IP地址

以下是通过一个实验来验证两者在有关mac地址上的区别。

2.1.1、在网络设备中配置VRRP协议

相关实验拓扑如下:
在这里插入图片描述
(1)针对实验中,锐捷路由和交换设备的配置脚本如下:

!Ruijie-Switch-1配置(设置VRRP优先级为120,从而协商为Master节点)
!
vlan range 1,100
!
interface GigabitEthernet 0/0
 switchport access vlan 100
!
interface VLAN 100
 ip address 172.16.100.11 255.255.255.0
 vrrp 1 ip 172.16.100.10
 vrrp 1 priority 120
 vrrp 1 timers advertise 3
!
end

!Ruijie-Switch-2配置(设置VRRP优先级为100,从而协商为BACKUP节点)
!
vlan range 1,100
!
interface GigabitEthernet 0/0
 switchport access vlan 100
!
interface VLAN 100
 ip address 172.16.100.12 255.255.255.0
 vrrp 1 ip 172.16.100.10
 vrrp 1 priority 100
 vrrp 1 timers advertise 3
!
End

!Ruijie-vRouter配置
!
interface GigabitEthernet 0/0
 no switchport
 ip address 172.16.100.5 255.255.255.0
!

(2)刷入脚本后,分别在两台运行VRRP的锐捷交换机上,通过“show vrrp”命令查看VRRP的协商情况
在这里插入图片描述
在这里插入图片描述
(3)各个路由交换节点进行互ping后(包括ping真实IP地址和虚拟IP地址),在锐捷路由器上通过“show arp”命令查看arp表,可发现虚拟IP地址对应一个虚拟mac地址,和真实IP地址对应的真实mac地址都不同,如下:
在这里插入图片描述

2.1.2、在Linux服务器中的keepalived

相关实验拓扑如下:
在这里插入图片描述
(1)针对本实验中,分别在debian系统和OpenEuler系统中执行“apt install keepalived -y”和“yum install keepalived -y”安装keepalived
(2)将debian系统/etc/keepalived目录下的keepalived.conf文件修改为以下内容(debian的VRRP优先级为100,为Master):

global_defs {
   notification_email {
                11202@qq.com
   }
   notification_email_from keepalived@showjoy.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
   state MASTER
   interface ens33
   virtual_router_id 51
   priority 100
   advert_int 1
   authentication {
   auth_type PASS
   auth_pass 1111
  }
   virtual_ipaddress {
     192.168.26.100
  }
}

(3)将OpenEuler系统/etc/keepalived目录下的keepalived.conf文件修改为以下内容(OpenEuler的VRRP优先级为50,为BACKUP):

global_defs {
   notification_email {
                11202@qq.com
   }
   notification_email_from keepalived@showjoy.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
   state BACKUP
   interface ens160
   virtual_router_id 51
   priority 50
   advert_int 1
   authentication {
   auth_type PASS
   auth_pass 1111
  }
   virtual_ipaddress {
     192.168.26.100
  }
}

(4)分别在两个系统中执行命令“systemctl restart keepalived”,使得keepalived的配置生效
(5)验证keepalived冗余效果是否生效
(6)若确定keepalived配置无误,将所有节点进行互ping后,在WinServer服务器上,通过命令“arp -a”查看arp表,可发现keepalived的虚拟IP地址始终和Master保持一致(若Master出现宕机,Backup升级为Master,此时虚拟IP地址对应的mac地址将变为新的Master)
在这里插入图片描述

2.2、keepalived可以通过自定义shell脚本实现应用层进程级别等的冗余备份,而网络设备的VRRP只能实现网络层面冗余备份

如下图所示,keepalived通过/etc/keepalived/keepalived.conf配置文件中的vrrp_scripttrack_script字段,可以实现包括监控端口号,系统进程等实现冗余备份,例如,通过keepalived监控nginx进程,若nginx进程被杀死,即使服务器仍旧正常运行,相关服务仍旧可以通过自定义脚本切换到Backup节点上, 从而保障业务正常运行:
在这里插入图片描述

3、两者因使用场景差异,造成以上两个区别

首先针对与keepalived和网络设备VRRP在mac地址机制上的差别,个人认为网络设备之所以会针对虚拟IP地址去虚拟一个虚拟mac出来,主要是为了降低当网络中有mac地址绑定场景时的维护难度,当网关需要配置mac地址绑定时,只需要将虚拟mac地址和网络接口或IP地址绑定起来就可以了,此时无论真实的物理设备的mac如何改变,都不会因为mac地址绑定的原因而造成网络中断,这是网络设备VRRP针对网络层面上的优化,在这一点上,keepalived就需要维护单独维护真实的mac地址绑定。
而针对于keepalived,因为keepalived通常是部署在服务器上,所以会涉及到应用层面上的冗余需求,因此keepalived可以通过自定义shell脚本实现应用进程层面上的冗余,而不单单只是硬件和网络层面上的冗余。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值