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

这篇具有很好参考价值的文章主要介绍了网络设备中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协议

相关实验拓扑如下:
网络设备中VRRP协议和Linux服务器中keepalived的两个区别
(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的协商情况
网络设备中VRRP协议和Linux服务器中keepalived的两个区别
网络设备中VRRP协议和Linux服务器中keepalived的两个区别
(3)各个路由交换节点进行互ping后(包括ping真实IP地址和虚拟IP地址),在锐捷路由器上通过“show arp”命令查看arp表,可发现虚拟IP地址对应一个虚拟mac地址,和真实IP地址对应的真实mac地址都不同,如下:
网络设备中VRRP协议和Linux服务器中keepalived的两个区别

2.1.2、在Linux服务器中的keepalived

相关实验拓扑如下:
网络设备中VRRP协议和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)
网络设备中VRRP协议和Linux服务器中keepalived的两个区别

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

如下图所示,keepalived通过/etc/keepalived/keepalived.conf配置文件中的vrrp_scripttrack_script字段,可以实现包括监控端口号,系统进程等实现冗余备份,例如,通过keepalived监控nginx进程,若nginx进程被杀死,即使服务器仍旧正常运行,相关服务仍旧可以通过自定义脚本切换到Backup节点上, 从而保障业务正常运行:
网络设备中VRRP协议和Linux服务器中keepalived的两个区别

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

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

到了这里,关于网络设备中VRRP协议和Linux服务器中keepalived的两个区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 网络设备驱动之报文接收

    从网络上接收报文比发送它要难一些, 因为必须分配一个 sk_buff 并从一个原子性上下 文中递交给上层. 网络驱动可以实现 2 种报文接收的模式: 中断驱动和查询. 大部分驱 动采用中断驱动技术, 这是我们首先要涉及的. 有些高带宽适配卡的驱动也可能采用查询 技术; 我们在\\\"接收

    2024年02月02日
    浏览(41)
  • linux 网络设备驱动之报文发送

    网络接口进行的最重要任务是数据发送和接收. 我们从发送开始, 因为它稍微易懂一些. 传送指的是通过一个网络连接发送一个报文的行为. 无论何时内核需要传送一个数据报文, 它调用驱动的 hard_start_stransmit 方法将数据放在外出队列上. 每个内核处理的报文 都包含在一个 soc

    2024年01月20日
    浏览(33)
  • 正点原子嵌入式linux驱动开发——Linux 网络设备驱动

    网络驱动是linux里面驱动三巨头之一 ,linux下的网络功能非常强大,嵌入式linux中也常常用到网络功能。前面已经讲过了字符设备驱动和块设备驱动,本章就来学习一下linux里面的 网络设备驱动 。 本次笔记中讨论的都是有线网络! 提起网络,一般想到的硬件就是“网卡”。在

    2024年01月17日
    浏览(50)
  • linux usb设备网络共享 usb/ip

    USB设备的网络共享可以通过USB/IP来实现, USB/IP把USB I/O信息封装成TCP/IP格式在网络端传输 ,可以实现usb的全部功能,且跨平台,是个透明的设备共享机制。 -b 后为上面列出的busid ip地址和端口号换成自已的 可以看出串口usb设备已经在客户端显示出来了

    2024年01月23日
    浏览(35)
  • 【IoT】嵌入式Linux开发:网络设备开发(测试题)

    目录 网络开发 选择题 1、路由器工作在哪一层(B)

    2024年02月06日
    浏览(42)
  • 「Linux系列」Linux网络通讯/系统管理/系统设置/备份压缩/设备管理命令

    Linux网络通讯命令是Linux系统中用于管理和调试网络功能的一系列工具。这些命令可以帮助用户查看网络状态、测试网络连接、查询DNS记录以及进行其他网络相关操作。以下是一些常用的Linux网络通讯命令及其案例: ping命令 功能 :用于检查与目标主机之间的连接是否正常,通

    2024年04月10日
    浏览(35)
  • 深入理解Linux网络技术内幕(八)——设备注册和初始化

    经过前面所学,我们已经知道内核如何验证NIC,以及内核所做的初始化,使得NIC得以和其他设备驱动程序对话。下面我们将讨论初始化的其他步骤: 网络设备何时以及如何在内核注册 网络设备如何利用网络设备数据库注册,并指派一个 net_device 结构的实例。 net_device 结构如

    2024年02月08日
    浏览(37)
  • Centos7 安装Graylog 5.0收集网络设备运行日志+卸载GrayLog服务

    对于日志监控业界常用的有ELK、Loki、Graylog等系统,最近在做技术选型时,对比了各个系统的情况,Graylog的一体化方案很符合现有需求。Graylog算是轻量级的ELK,也有很多企业在使用Graylog查看日志和监控业务日志。Graylog中文资料相对较少,在技术选型和开发过程中对资料进行

    2024年02月06日
    浏览(73)
  • 系统平台同一网络下不同设备及进程的话题通讯--DDS数据分发服务中间件

    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理

    2024年02月08日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包