如何找到 LAN 范围内的虚拟机 IP 对应 物理机的 IP - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sherlock1122
V2EX    程序员

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

  •  
  •   sherlock1122 2021-03-19 11:57:42 +08:00 3112 次点击
    这是一个创建于 1681 天前的主题,其中的信息可能已经有所发展或是发生改变。
    局域网虚拟机( 1000+)和物理机器( 100+)特别多,都是桥接模式,也就是虚拟机和物理机在一个子网内。
    现在某些 VM 中毒了,知道 VM 的 ip,有办法找到对应的物理机吗?
    29 条回复    2021-03-23 04:19:08 +08:00
    crab
        1
    crab  
       2021-03-19 12:13:07 +08:00
    MAC 地址不知道能不能?
    learningman
        2
    learningman  
       2021-03-19 12:16:44 +08:00 via Android
    虚拟机多一跳吧,观察一下这个?
    ouqihang
        3
    ouqihang  
       2021-03-19 12:29:02 +08:00 via Android
    虚拟机的 mac 应该有规律。
    Tumblr
        4
    Tumblr  
       2021-03-19 12:35:12 +08:00
    找一下你们的管理员。。。
    这种规模的,哪些虚拟机 host 在哪些主机上,应该是有规划有记录的。

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

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

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

    所以理论上最简单的还是 vCenter 里去找到那台机器就知道飘在哪里了。。。
    des
        16
    des  
       2021-03-19 13:44:55 +08:00 via iPhone
    一千多虚拟机,不会是工作室吧?
    Tumblr
        17
    Tumblr  
       2021-03-19 14:02:33 +08:00
    @sherlock1122 #5 这。。。有点出乎我的预料了。。。 不知道你们是什么环境,难提供有效建议。
    v2020
        18
    v2020  
       2021-03-19 14:34:39 +08:00
    检索 Virtual Machines 目录下 vmware.txt 的日志里面有 IP
    deorth
        19
    deorth  
       2021-03-19 14:37:16 +08:00
    桥接的话,不能
    killva4624
        20
    killva4624  
       2021-03-19 17:53:31 +08:00
    通过 ARP 一层层查交换机上 MAC 地址和端口对应关系最靠谱。
    yujiang
        21
    yujiang  
       2021-03-19 20:50:00 +08:00 via Android
    与其等 6 个小时的答案,不如现在开始一个一个拔网线排查
    msg7086
        22
    msg7086  
       2021-03-20 09:05:59 +08:00
    桥接只能找物理端口。
    当然要省事的话直接拔线测试就行。
    mmtromsb456
        23
    mmtromsb456  
       2021-03-20 10:49:46 +08:00 via iPhone
    @gesse 只是找单个端口有个好办法,就是用 lldp 这种发现协议来找对端,Linux 上开 lldptool 可以找到很多关于端口的描述,但是这种情况要整理出那条网线就困难了(
    shequ2046
        24
    shequ2046  
       2021-03-21 11:53:32 +08:00
    @gesse 哈哈,还是太业余了,线理的再好也没用,只要没有标签就 GG 了。
    neowong2005
        25
    neowong2005  
       2021-03-22 09:08:28 +08:00 via Android
    虚拟机 IP 有规律,先排除虚拟机 Mac,剩下的都是物理机
    sherlock1122
        26
    sherlock1122  
    OP
       2021-03-22 19:01:20 +08:00
    @des 做私有云的,有很多虚拟化集群,以及测试集群,部分集群加入了类似 vCenter 类似的集群管理,其他的没有,乱的很。
    任何人都可以随便创建一个 VM,每个 VM 都可以桥接访问互联网。
    目前整个局域网中毒了,原因就是某个大厂搬来两台测试物理机机器,接入了局域网,然后疯狂的传播病毒,主要是挖矿。
    导致整个网络(北京,上海,深圳)大局域网互访延迟特别大,ssh 被攻击,CPU 狂飙。
    真是太可怕了。
    目前没有什么好办法,找到了各种中毒的 IP,但是在公司群里群发,让人去认领自己的机器,目前收效胜微。
    sherlock1122
        27
    sherlock1122  
    OP
       2021-03-22 19:02:16 +08:00
    @gesse 比这个好点,但是也不好搞,地方分布在多个地方。
    sherlock1122
        28
    sherlock1122  
    OP
       2021-03-22 19:03:25 +08:00
    @mingl0280 虚拟机的 mac 地址好拿,如何从 虚拟机的 mac 地址找到物理机的 mac 地址呢?
    mingl0280
        29
    mingl0280  
       2021-03-23 04:19:08 +08:00 via Android
    @sherlock1122 你拿虚机物理地址的时候是从物理机( host )上拿的啊,我为啥还要多此一举倒着找地址?你拿到的时候顺便记录下我这个虚机的 mac 是哪个物理机 mac 不就完了?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     866 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 230ms UTC 22:42 PVG 06:42 LAX 15:42 JFK 18:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86