keepalived配置单播模式

前言

什么是组播、单播

单播:在同一局域网内,两个设备点对点的通信就是单播通信。
组播:在同一网络可达范围内,一个网络设备与关心其数据的部分设备进行通信就是组播。
广播:在同一网络可达范围内,一个网络设备向本网络内所有设备进行通信就是广播。
简单地说,单播->组播->广播,是通信数量不断增加的通信方式。当然,通信数量的增多,带来的是通信设备的资源消耗更大,整体网络环境的复杂度更高。

在组播模式下,keepalived将全部的心跳包信息都会向默认的224.0.0.18的组播地址发送,这样会产生众多的无用信息,这对于有多个keepalived实例时甚至会产生干扰和冲突,因此须要将组播模式改成单播默认是一种安全的做法,可以避免局域网内有大量的keepalived形成虚拟路由id的冲突。

查看心跳包

#主节点确实使用了组播向224.0.0.18地址发送心跳包
[root@nginx keepalived]# /usr/sbin/tcpdump -i ens33 -nn -p vrrp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
21:17:57.446287 IP 192.168.118.129 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
21:17:58.446695 IP 192.168.118.129 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
21:17:59.447752 IP 192.168.118.129 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20

修改keepalived为单播模式

单薄模式须要关闭vrrp_strict,严格遵照vrrp协议这个选项
单播需要在VIP实例配置段加入单播的源地址和目标地址

下面配置单播,主要对配置单播进行讲解,其他参数含义不讲:

# MASTER主节点
! Configuration File for keepalived

global_defs {
   router_id LB1
   #vrrp_strict			#关闭这个参数或者不加这个参数
}

vrrp_script check_nginx {
    script  /etc/keepalived/check_nginx.sh
    interval 2
    timeout 2
    weight 0
    rise 2
    fall 2
    user root
    init_fail
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
           check_nginx
       }
	unicast_src_ip 192.168.118.129         #配置单薄的源地址,即本机地址
    unicast_peer { 
      192.168.118.132                      #配置单薄的目标地址,即对方备节点地址,备有多台就配置多个地址
    }
    virtual_ipaddress {
        192.168.118.100
    }
}
# BACKUP 备节点
[root@node1 keepalived]# cat keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id LB2
   #vrrp_strict			#关闭这个参数或者不加这个参数
}
vrrp_script check_nginx {
    script  /etc/keepalived/check_nginx.sh
    interval 2
    timeout 2
    weight 0
    rise 2
    fall 2
    user root
    init_fail
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {  
           check_nginx
       }
   unicast_src_ip 192.168.118.132		 #配置单薄的源地址,即本机地址
   unicast_peer {
      192.168.118.129					#配置单薄的目标地址,即对方节点地址,备有多台就配置多个地址
    }
   virtual_ipaddress {
        192.168.118.100
    }
}

[root@node1 keepalived]# 
[root@master keepalived]# systemctl  restart keepalived.service 	#重启主节点keepalived服务
[root@backup keepalived]# systemctl  restart keepalived.service 	#重启备节点keepalived服务
[root@master keepalived]# ip a| grep '192.168.118.100'				#vip依然在主节点上
    inet 192.168.118.100/32 scope global ens33
[root@master keepalived]# 

#现在就变成单播模式了,主节点只对备节点发送心跳包
[root@master keepalived]# tcpdump -i ens33 -nn -p vrrp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
21:29:13.033272 IP 192.168.118.129 > 192.168.118.132: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
21:29:14.034674 IP 192.168.118.129 > 192.168.118.132: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
21:29:15.034943 IP 192.168.118.129 > 192.168.118.132: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20

[root@master keepalived]# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值