• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

内网环境下使用华三云服务器,keepalived vip无法ping通

12小时前提问
  • 0关注
  • 0收藏,34浏览
E 零段
粉丝:0人 关注:0人

问题描述:

请教各位大佬!!!在A、B两台机器上部署了nginx+keepalived,此时vip在A机器的网卡下, 但是B或者其他服务器都ping不通vip!!当vip漂移到B服务器时A或者其他服务器也ping不通,是否要在云平台做些配置

3 个回答
粉丝:15人 关注:2人

华三云(H3Cloud CAS)虚拟机里用 Keepalived,VIP 不通基本都是 3 类问题:①云平台没开 “允许 VIP / 广播 / ARP”;②keepalived 开了 vrrp_strict;③VRRP 组播被云网络拦截。下面按顺序排查 + 配置。

一、先在云平台(CAS)做这 3 件事(必做)

1)虚拟网络 / 端口组开启 “允许虚拟 IP/ARP 广播”

H3Cloud CAS 环境,虚拟机网卡默认会拦截 VRRP 组播(224.0.0.18)和 VIP ARP 通告,这是最常见原因。
  • 登录 CAS 管理平台 → 网络 → 虚拟交换机 / 端口组
  • 找到这两台虚拟机所在端口组 / 网络
  • 勾选 / 开启:
    • 允许虚拟 IP(VIP)
    • 允许 ARP 广播 / 免费 ARP
    • 允许组播(224.0.0.0/24)
  • 保存,重启两台虚拟机网卡(或重启虚机)

2)关闭虚拟机所在安全组 / 防火墙

  • CAS 安全组:入 / 出方向全开(临时测试)
  • 虚机内部:
bash
运行
systemctl stop firewalld systemctl disable firewalld setenforce 0

3)确认虚机网卡是 “高性能 / 直通” 模式

不要用 “兼容模式”,会丢组播包。

二、Keepalived 配置必须改(重点)

1)注释掉 vrrp_strict(90% 问题在这里)

从 v2.0 起默认开启,会导致VIP 不响应 ICMP、不回 ARP
bash
运行
vim /etc/keepalived/keepalived.conf
删掉或注释:
plaintext
# vrrp_strict # 必须注释!

2)改用单播(推荐,云环境组播易被拦)

云平台经常拦截 224.0.0.18 组播,直接改用 unicast
主节点(A):
plaintext
vrrp_instance VI_1 { state MASTER interface eth0 # 你的网卡 virtual_router_id 51 priority 100 advert_int 1 unicast_src_ip 10.0.0.10 # A 真实IP unicast_peer { 10.0.0.11 # B 真实IP } authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.99/24 # VIP } }
备节点(B):
plaintext
vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 advert_int 1 unicast_src_ip 10.0.0.11 # B 真实IP unicast_peer { 10.0.0.10 # A 真实IP } authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.99/24 } }

3)重启 keepalived

bash
运行
systemctl restart keepalived

三、验证步骤(一步步来)

1)看 VIP 是否在网卡上

bash
运行
ip addr
能看到 10.0.0.99eth0 上,正常。

2)在本机 ping VIP

bash
运行
ping 10.0.0.99 # 本机能通,说明绑定没问题

3)在另一台虚机 ping VIP

bash
运行
ping 10.0.0.99
不通 → 云平台网络 / 安全组没开对。

4)抓包看是否发 ARP/VRRP

bash
运行
# 在 Master 抓 VRRP tcpdump -i eth0 host 224.0.0.18 -nn # 抓 VIP 的 ARP tcpdump -i eth0 arp | grep 10.0.0.99
有包 → 云平台拦截;无包 → keepalived 配置错。

四、常见坑

  1. VIP 与物理主机同网段,但物理交换机没开 IGMP
    云环境不用管,用单播即可。
  2. 虚机网卡是 NAT 模式
    必须是 桥接 / 共享网络,NAT 无法飘 VIP。
  3. virtual_router_id 全网重复
    同网段不能有相同 VRID(0–255)。

五、最简总结(按顺序做)

  1. CAS 平台:端口组开启 VIP/ARP/ 组播,安全组放行。
  2. keepalived.conf:注释 vrrp_strict,改用 unicast 单播
  3. 关防火墙 + SELinux,重启 keepalived。
  4. 验证:ip addr 看 VIP,跨机 ping。

暂无评论

粉丝:10人 关注:9人

排查步骤:
1. 云平台侧:检查安全组,添加入方向规则(ICMP协议、源内网段、目的VIP);确认浮动IP(VIP)已正确绑定到A/B实例,云平台vSwitch未限制该VIP的ARP广播。
2. 节点侧:执行ip addr确认VIP绑定到网卡;执行arping -I eth0 VIP测试ARP可达;检查keepalived配置的VRID是否一致,临时开启网卡promisc模式(ip link set eth0 promisc on)测试。
3. 若临时开启后通,需在keepalived配置中添加vrrp_garp_master_delay 1,发送免费ARP通知云平台更新ARP表。

暂无评论

粉丝:19人 关注:1人

在云环境(如阿里云、腾讯云或华三 H3Cloud 等)中部署 Keepalived + Nginx 高可用架构时,VIP 无法被其他服务器 Ping 通是一个非常典型的“云上网络限制”问题。这通常是因为底层虚拟网络不支持自由发送 ARP 报文,或者云平台的安全机制拦截了非绑定 IP 的流量。
针对您的场景,建议按照以下几个核心维度进行排查和配置:

1. 禁用云网卡的源/目标检查(最关键)

这是云服务器上 VIP 不通的最常见原因。默认情况下,云平台会校验经过网卡的数据包,如果数据包的目标地址不是该网卡绑定的物理 IP,就会被直接丢弃。
  • 解决方案:您需要在云平台的控制台找到 A、B 两台 ECS 实例对应的弹性网卡,禁用“源/目标检查(Source/Dest Check)”功能。这样云平台才会允许并转发目标地址为 VIP 的流量。

2. 调整 Keepalived 内核 ARP 参数

当主节点接管 VIP 后,若下游交换机未及时更新 ARP 表项,仍缓存旧主机的 MAC 地址,会导致流量被错误转发形成“黑洞”。由于云环境可能限制了免费 ARP 的学习,您需要手动干预服务器的 ARP 响应策略。
  • 解决方案:在 A、B 两台服务器上修改 /etc/sysctl.conf 文件,添加以下参数以优化 ARP 行为,确保 VIP 切换后网络层可达:
    net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.default.arp_ignore = 1 net.ipv4.conf.default.arp_announce = 2 # 将 eth0 替换为您实际的网卡名称 net.ipv4.conf.eth0.arp_ignore = 1 net.ipv4.conf.eth0.arp_announce = 2
    保存后执行 sysctl -p 使配置生效。

3. 增强免费 ARP 广播频率

为了让网络设备更快地刷新对 VIP 的 MAC 地址映射,可以通过调整 Keepalived 的配置让其更积极地发送免费 ARP 报文。
  • 解决方案:在 keepalived.conf 的 vrrp_instance 块中增加以下参数:
    garp_master_refresh 5 # 接管 VIP 后,每隔 5 秒发送一次免费 ARP garp_master_repeat 2 # 每次连续发送 2 个免费 ARP 包

4. 检查安全组与防火墙规则

  • 云平台安全组:务必检查 A、B 两台云服务器绑定的安全组入站规则,确认已经放行了 VIP 相关的端口以及 ICMP 协议(Ping 依赖此协议)。
  • 操作系统内部防火墙:检查服务器内部的 firewalld 或 iptables 是否拦截了请求源 IP 的相关流量。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明