如何找到 LAN 范围内的虚拟机 IP 对应 物理机的 IP

2021 年 3 月 19 日
 sherlock1122
局域网虚拟机( 1000+)和物理机器( 100+)特别多,都是桥接模式,也就是虚拟机和物理机在一个子网内。
现在某些 VM 中毒了,知道 VM 的 ip,有办法找到对应的物理机吗?
3266 次点击
所在节点    程序员
29 条回复
crab
2021 年 3 月 19 日
MAC 地址不知道能不能?
learningman
2021 年 3 月 19 日
虚拟机多一跳吧,观察一下这个?
ouqihang
2021 年 3 月 19 日
虚拟机的 mac 应该有规律。
Tumblr
2021 年 3 月 19 日
找一下你们的管理员。。。
这种规模的,哪些虚拟机 host 在哪些主机上,应该是有规划有记录的。

一般划分子网的时候会用 24 位的掩码,你这应该起码用了 4 个 24 位了。
(如果直接用 10.0.0.0/8,那当上面的没说)
sherlock1122
2021 年 3 月 19 日
@Tumblr 没有规划,我也算半个管理员吧。所有的 ip 都是 192.168.0.0/16 网段的。
sherlock1122
2021 年 3 月 19 日
@learningman 桥接不会多一跳。
anubu
2021 年 3 月 19 日
可以试试通过 mac 地址匹配,假设简单场景,交换机连接所有物理机,那么物理机的 mac 和其上的虚拟机 mac 应该会通过同一个物理端口学习到,这个可以在交换机上做一个简单的归类。
killeder
2021 年 3 月 19 日
拔网线
mmtromsb456
2021 年 3 月 19 日
先用 arp 查询出 IP 对应的 mac 地址,再去交换机的 MFT 里面查询该 mac 的转发端口,这个转发端口就是物理机的接入端口
mmtromsb456
2021 年 3 月 19 日
或者如果物理机是 Linux 的话用 brctl 可以 show 出来 port 的 mac 地址,过滤一下即可
tankren
2021 年 3 月 19 日
gesse
2021 年 3 月 19 日
@mmtromsb456
我觉得这个靠谱, 还是从交换机端口入手, 但是万一机房的线是这样的呢?

systemcall
2021 年 3 月 19 日
管理 VM 的软件不能够看到虚拟机和实机的 MAC 地址吗?
查 MAC 地址,就可以找到电脑了
mingl0280
2021 年 3 月 19 日
vm host 可以查虚机 mac 地址的啊,你直接打个列表出来就知道了。例如 virtual box 跟 vmware ESXi 就可以用命令行直接批量打印出虚机 mac 地址。
dhcp 服务器一定记录了 mac 的,mac 再一匹配就行了。
smallfount
2021 年 3 月 19 日
在交换层面,知道虚拟机 IP 就会知道 MAC 地址。。
在知道 MAC 地址的时候就可以知道知道在同一个物理端口上连接的所有的 MAC 地址。。。
顺手就等于所有这个物理机上跑的 IP 都知道了。。。

但是问题有时候是...
1. 不同的链路聚合形态可能会有不同的情况
2. 有些物理机的管理 IP 是走专门的管理口不跟虚拟机一个物理链接

所以理论上最简单的还是 vCenter 里去找到那台机器就知道飘在哪里了。。。
des
2021 年 3 月 19 日
一千多虚拟机,不会是工作室吧?
Tumblr
2021 年 3 月 19 日
@sherlock1122 #5 这。。。有点出乎我的预料了。。。 不知道你们是什么环境,难提供有效建议。
v2020
2021 年 3 月 19 日
检索 Virtual Machines 目录下 vmware.txt 的日志里面有 IP
deorth
2021 年 3 月 19 日
桥接的话,不能
killva4624
2021 年 3 月 19 日
通过 ARP 一层层查交换机上 MAC 地址和端口对应关系最靠谱。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/763151

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX