验证:Keepalived IP故障转移是否可以通过tcpdump命令运行

时间:2020-01-09 10:42:25  来源:igfitidea点击:

我安装了keepalived IP故障转移软件。
但是,如何验证它是否有效?
默认情况下,keepalived使用VRRP的224.0.0.18 IP地址(虚拟路由器冗余协议)在两个节点之间进行通信以进行运行状况检查。
您要做的就是在eth0(或者eth1)上按如下所示运行tcpdump以确保已建立通信:

tcpdump -v -i eth0 host 224.0.0.18
tcpdump -vvv -n -i eth0 host 224.0.0.18

输出示例:

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
16:54:01.743275 IP (tos 0x0, ttl 255, id 451, offset 0, flags [none], proto: VRRP (112), length: 96) 10.10.28.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 103, authtype simple, intvl 1s, length 76, addrs(15): 123.12.15.2,123.12.15.3[|vrrp]
16:54:02.744241 IP (tos 0x0, ttl 255, id 452, offset 0, flags [none], proto: VRRP (112), length: 96) 10.10.28.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 103, authtype simple, intvl 1s, length 76, addrs(15): 123.12.15.2,123.12.15.3[|vrrp]

其中:

  • 10.10.28.5您的eth0 ip。
  • 123.12.15.2和123.12.15.3虚拟IP通过keepalived进行管理。
  • 224.0.0.18多播请求。

如果看不到任何通信,请确保在两个节点上都启动了keepalived服务:

# service keepalived status
# service keepalived start

确保将防火墙配置为接受接受多播和vrrp协议(IP协议112):

# /sbin/iptables -I INPUT -i eth0 -d 224.0.0.0/8 -j ACCEPT
# /sbin/iptables -A INPUT -p 112 -i eth0 -j ACCEPT
# /sbin/iptables -A OUTPUT -p 112 -o eth0 -j ACCEPT
# /sbin/service iptables save

根据您的界面和其他要求调整上述规则。