Virtual Switch & “Same Subnet but No Connectivity”(虚拟交换机与“同网段不通”:二层/三层边界)

1) 经典迷惑:明明同网段,为什么互相 ping 不通?

常见场景:

  • 两台虚拟机都显示 192.168.1.x/24
  • 但互 ping 不通,甚至 ARP 表不出对方
  • 或能 ping 网关,不能 ping 对方

这类问题通常不是 Kali "突然坏了",而是 二层(L2)没真正接在一起,或被策略隔离。


2) 一句话理解"二层/三层边界"

  • 二层(L2) :同一交换机/广播域里,靠 MAC/ARP 找对方
  • 三层(L3) :跨网段需要 路由器/网关 转发,靠路由表走

"同网段能互通"的前提是:两台机器真的在同一个二层广播域。

虚拟环境里,"看起来同网段"可能是错觉:

VM 网卡可能接到了不同的虚拟交换机 / 不同的 NAT / 不同的隔离网络。


3) 三步定位:到底卡在哪一层

3.1 两台机器先看 IP / 路由
bash 复制代码
ip a
ip r

重点看:

  • 掩码是否一致(/24、/20 很容易造成误判)
  • 默认网关是否一致、是否合理
3.2 看 ARP:二层是否能发现对方

在 A 机器上:

bash 复制代码
arp -n
# 或
ip neigh

然后 ping B:

bash 复制代码
ping -c 3 <B的IP>

再看 ARP 表是否出现 B:

  • 没出现 B 的 MAC:大概率 二层不通 / 被隔离 / 不在同一虚拟交换机
  • 出现了但 ping 不通:可能是防火墙/ICMP 被禁/策略限制
3.3 抓包确认 ARP(铁证)
bash 复制代码
sudo tcpdump -n -i eth0 arp

观察:

  • 是否有 ARP Request 发出
  • 是否收到对方 ARP Reply

4) "同网段不通"的高频原因(按概率排序)

  1. 两台 VM 实际连在不同网络模式

    (一台 NAT,一台 Bridged/Host-only)

  2. Host-only / NAT 的虚拟交换机隔离

    (你手动配的"同网段"不代表二层连通)

  3. 掩码/网关配错

    (一个 /24 一个 /20,看似同段实际不同)

  4. VMware 虚拟网络/交换机策略限制

    (特定 vmnet 可能限制 VM-VM 通信,依版本与配置而定)

  5. Kali 防火墙或安全工具拦截

    (ufw、iptables/nft、安全基线脚本)


5) 修复思路(按目标选)

目标 A:两台 VM 要互通、还能上网(最常见)
  • 选 Bridged(桥接):两台 VM 像两台真实机器在同一局域网
  • 或 NAT,但确保两台 VM 在 同一个 NAT 网络/同一虚拟交换机
目标 B:只想 VM 和 Mac 通,不想出网
  • 用 Host-only,并确认 DHCP/网段一致
目标 C:做实验要隔离(安全/靶场)
  • Host-only + 不做路由转发(天然隔离)

6) 最小验证清单(修完立刻确认)

两台 VM 都跑一遍:

bash 复制代码
ip a
ip r
ping -c 3 <对方IP>
arp -n

仍不通就抓 ARP:

bash 复制代码
sudo tcpdump -n -i eth0 arp
相关推荐
小羊没烦恼!3 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
小Ti客栈3 小时前
Netty 零拷贝原理与实战
运维·服务器·网络
国科安芯3 小时前
商业光学遥感载荷焦平面供电链的低噪声稳压器研究综述——以国科安芯ASP7A84AS型3A低压差线性稳压器为器件级参照
大数据·网络·嵌入式硬件·平面·卫星·商业航天·抗辐射
静以修身zzz3 小时前
计算云服务
运维·网络·云计算
星恒随风3 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
万联WANFLOW4 小时前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
jimmyleeee4 小时前
Agent安全之六:(ASI06)记忆与上下文投毒——当 AI 把“昨天的错误”当成“今天的真理”
网络·人工智能·安全
辰辰观影4 小时前
字幕导入教程:外挂字幕一键加载方法
网络·经验分享
无糖可乐没有灵魂4 小时前
Golang ❀ Netdiag 一个Go开源的网络排障信息收集工具
网络
叼烟扛炮5 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain