You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

双节点Fedora 38环境下Keepalived负载均衡无法正常工作求助

解决Keepalived NAT模式负载均衡失效问题

根据你的配置,VIP已正常浮动但负载均衡不工作,核心问题出在NAT模式的路由转发、防火墙规则及网关设置上,按以下步骤排查修复:

1. 开启IP转发功能

NAT模式要求负载均衡节点具备IP转发能力,两台节点都需要配置:

  • 临时生效:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
  • 永久生效(重启后不丢失):
    编辑/etc/sysctl.d/99-ip-forward.conf文件,添加:
    net.ipv4.ip_forward = 1
    
    执行命令生效:
    sysctl -p /etc/sysctl.d/99-ip-forward.conf
    

2. 配置防火墙伪装(MASQUERADE)

Fedora默认使用firewalld,需要开启IP伪装以支持NAT转发,两台节点都执行:

firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

同时确保允许VRRP协议以维持VIP浮动:

firewall-cmd --add-protocol=vrrp --permanent
firewall-cmd --reload

3. 修正真实服务器的网关设置

NAT模式下,真实服务器的回包必须经过负载均衡节点,因此需将两台节点的默认网关设置为VIP(192.168.1.100):

nmcli connection modify ens18 ipv4.gateway 192.168.1.100
nmcli connection up ens18

注:根据你的实际网卡名调整命令中的ens18

4. 检查LVS规则加载状态

在MASTER节点执行以下命令,确认LVS规则是否生成:

ipvsadm -Ln

如果能看到192.168.1.100:80的虚拟服务条目及两台真实服务器信息,说明规则加载正常;若未生成,重启Keepalived服务:

systemctl restart keepalived

5. 验证真实服务器服务可用性

确保两台节点的80端口服务正常运行:

curl http://192.168.1.199
curl http://192.168.1.84

若能返回正常内容,说明健康检测可正常触发,负载均衡会按RR模式分发流量。

完成以上配置后,通过VIP(192.168.1.100)访问即可实现正常的负载均衡。

内容的提问来源于stack exchange,提问作者Yonoss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:26:25