局域网虚拟机( 1000+)和物理机器( 100+)特别多,都是桥接模式,也就是虚拟机和物理机在一个子网内。
现在某些 VM 中毒了,知道 V抗投诉服务器M 的 ip,有办法找到对应的物理机吗?
MAC 地址不知道能不能?
虚拟机多一跳吧,观察一下这个?
虚拟机的 mac 应该有规律。
找一下你们的管理员。。。
这种规模的,哪些虚拟机 host 在哪些主机上,应该是有规划有记录的。
一般划分子网的时候会用 24 位的掩码,你这应该起码用了 4 个 24 位了。
(如果直接用 10.0.0.0/8,那当上面的没说)
没有规划,我也算半个管理员吧。所有的 ip 都是 192.168.0.0/16 网段的。
桥接不会多一跳。
可以试试通过 mac 地址匹配,假设简单场景,交换机连接所有物理机,那么物理机的 mac 和其上的虚拟机 mac 应该会通过同一个物理端口学习到,这个可以在交换机上做一个简单的归类。
拔网线
先用 arp 查询出 IP 对应的 mac 地址,再去交换机的 MFT 里面查询该 mac 的转发端口,这个转发端口就是物理机的接入端口
或者如果物理机是 Linux 的话用 brctl 可以 show 出来 port 的 mac 地址,过滤一下即可
http://woshub.com/vmware-find-vm-ip-mac-address/
我觉得这个靠谱, 还是从交换机端口入手, 但是万一机房的线是这样的呢?

管理 VM 的软件不能够看到虚拟机和实机的 MAC 地址吗?
查 MAC 地址,就可以找到电脑了
vm host 可以查虚机 mac 地址的啊,你直接打个列表出来就知道了。例如 virtual box 跟 vmware ESXi 就可以用命令行直接批量打印出虚机 mac 地址。
dhcp 服务器一定记录了 mac 的,mac 再一匹配就行了。
在交换层面,知道虚拟机 IP 就会知道 MAC 地址。。
在知道 MAC 地址的时候就可以知道知道在同一个物理端口上连接的所有的 MAC 地址。。。
顺手就等于所有这个物理机上跑的 IP 都知道了。。。
但是问题有时候是...
1. 不同的链路聚合形态可能会有不同的情况
2. 有些物理机的管理 IP 是走专门的管理口不跟虚拟机一个物理链接
所以理论上最简单的还是 vCenter 里去找到那台机器就知道飘在哪里了。。。
一千多虚拟机,不会是工作室吧?
这。。。有点出乎我的预料了。。。 不知道你们是什么环境,难提供有效建议。
检索 Virtual Machines 目录下 vmware.txt 的日志里面有 IP
桥接的话,不能
通过 ARP 一层层查交换机上 MAC 地址和端口对应关系最靠谱。
与其等 6 个小时的答案,不如现在开始一个一个拔网线排查
桥接只能找物理端口。
当然要省事的话直接拔线测试就行。
只是找单个端口有个好办法,就是用 lldp 这种发现协议来找对端,Linux 上开 lldptool 可以找到很多关于端口的描述,但是这种情况要整理出那条网线就困难了(
哈哈,还是太业余了,线理的再好也没用,只要没有标签就 GG 了。
虚拟机 IP 有规律,先排除虚拟机 Mac,剩下的都是物理机
做私有云的,有很多虚拟化集群,以及测试集群,部分集群加入了类似 vCenter 类似的集群管理,其他的没有,乱的很。
任何人都可以随便创建一个 VM,每个 VM 都可以桥接访问互联网。
目前整个局域网中毒了,原因就是某个大厂搬来两台测试物理机机器,接入了局域网,然后疯狂的传播病毒,主要是挖矿。
导致整个网络(北京,上海,深圳)大局域网互访延迟特别大,ssh 被攻击,CPU 狂飙。
真是太可怕了。
目前没有什么好办法,找到了各种中毒的 IP,但是在公司群里群发,让人去认领自己的机器,目前收效胜微。
比这个好点,但是也不好搞,地方分布在多个地方。
虚拟机的 mac 地址好拿,如何从 虚拟机的 mac 地址找到物理机的 mac 地址呢?
你拿虚机物理地址的时候是从物理机( host )上拿的啊,我为啥还要多此一举倒着找地址?你拿到的时候顺便记录下我这个虚机的 mac 是哪个物理机 mac 不就完了?