双节点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 = 1sysctl -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
相关产品推荐
相关产品推荐

