虚拟机配LVS为何连不上物理机?

虚拟机配置LVS后物理机无法访问,通常由LVS虚拟服务器配置错误、真实服务器状态异常、网络路由问题或防火墙规则阻止导致,需检查相关配置与连通性。

问题现象

在虚拟化环境中配置LVS(Linux Virtual Server)的DR(Direct Routing)模式时,物理客户端无法访问VIP(Virtual IP),但同网段虚拟机可正常访问,核心矛盾在于 ARP响应冲突路由路径异常

虚拟机配LVS为何连不上物理机?


根本原因分析

  1. ARP屏蔽失效
    物理机未正确丢弃对VIP的ARP请求,导致交换机将VIP错误映射到物理机MAC而非LVS调度器。

  2. VIP绑定错误
    物理机的VIP未配置在lo回环接口,或子网掩码设置异常(必须为/32)。

  3. 路由策略冲突
    物理机响应客户端请求时,未通过LVS调度器返回数据,触发 ARP Flux 问题。


解决方案(分步操作)

步骤1:配置物理机ARP抑制

# 修改物理机内核参数(临时生效)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# 永久生效(CentOS/RHEL)
echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.arp_announce = 2" >> /etc/sysctl.conf
sysctl -p

步骤2:正确绑定VIP到回环接口

# 物理机执行(掩码必须为/32)
ip addr add 192.168.1.100/32 dev lo label lo:0
# 验证绑定
ip addr show lo

步骤3:强制物理机通过LVS路由返回流量

# 添加策略路由(VIP替换为实际值)
ip route add 192.168.1.100/32 dev lo src 192.168.1.100 table 100
ip rule add from 192.168.1.100 lookup 100

步骤4:验证关键配置项

组件 检查要点 命令示例
LVS调度器 VIP是否绑定物理网卡 ip addr show eth0
物理机 arp_ignore/arp_announce值 sysctl -a | grep arp
网络设备 交换机MAC表VIP映射对象 show arp | include VIP

深度避坑指南

  1. 防火墙拦截
    物理机需放行VIP相关流量:

    虚拟机配LVS为何连不上物理机?

    iptables -I INPUT -d 192.168.1.100 -j ACCEPT
  2. 虚拟化网络模式
    桥接模式必要配置

    • VMware:关闭网卡MAC欺骗过滤
    • KVM:禁用vnet_hdr驱动
      <!-- KVM虚拟机XML配置 -->
      <interface type='bridge'>
      <model type='virtio'/>
      <driver name='vhost' queues='4'/>
      <filterref filter='no-mac-spoofing'/> <!-- 必须移除此过滤 -->
      </interface>
  3. 内核转发状态
    确保LVS调度器开启IP转发:

    echo 1 > /proc/sys/net/ipv4/ip_forward

故障树排查流程图

graph TD
    A[物理机无法访问VIP] --> B{同网段虚拟机是否可访问?}
    B -->|是| C[检查物理机ARP配置]
    B -->|否| D[检查LVS调度器VIP状态]
    C --> E[验证arp_ignore=1/arp_announce=2]
    E --> F[确认VIP绑定在lo接口]
    F --> G[检查策略路由规则]
    G --> H[关闭物理机VIP防火墙]

关键原理说明

DR模式数据流
客户端请求 → LVS调度器(MAC改写) → 物理机(处理请求)
返回路径:物理机直接通过交换机 → 客户端(不经过LVS)
冲突点:物理机暴露VIP导致交换机ARP缓存污染,需通过ARP抑制隔离VIP。


引用文档

  1. Linux内核网络参数文档 – kernel.org/doc/Documentation/networking/ip-sysctl.txt
  2. LVS DR模式架构规范 – RFC 3768
  3. Red Hat虚拟化网络配置指南 – access.redhat.com/documentation

最后校验点:在物理机执行 tcpdump -i eth0 'arp and host <VIP>' ,正常应仅看到LVS调度器的ARP响应。

虚拟机配LVS为何连不上物理机?


通过精确控制ARP响应策略、隔离VIP绑定、强化路由路径,可彻底解决虚拟机LVS环境下物理机的访问故障,建议按步骤操作后使用ipvsadm -Ln验证连接状态。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/19952.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月11日 19:05
下一篇 2025年6月11日 19:14

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN