使用网桥查找虚拟机或容器的 IP 地址

使用网桥查找虚拟机或容器的 IP 地址

我有一个虚拟机/LXC 容器,它正在使用网桥(在 br0 上)访问网络。

在托管虚拟机和桥接器的系统上,我希望能够知道分配了什么 IP 地址(dhcp)。

我不想进入虚拟机并使用 ifconfig...我希望能够从虚拟机的主机上分辨出来。

当我在主机系统上使用 ifconfig 时,我得到以下信息:

br0       Link encap:Ethernet  HWaddr 08:00:27:28:05:9e  
          inet addr:192.168.42.216  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe28:59e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1652 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2577 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:174997 (174.9 KB)  TX bytes:256212 (256.2 KB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:28:05:9e  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1729 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2580 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:206750 (206.7 KB)  TX bytes:256022 (256.0 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4239 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4239 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:758585 (758.5 KB)  TX bytes:758585 (758.5 KB)

vethUcRl21 Link encap:Ethernet  HWaddr 92:70:c3:64:6c:bc  
          inet6 addr: fe80::9070:c3ff:fe64:6cbc/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:546 (546.0 B)  TX bytes:3280 (3.2 KB)

vethUcRl21 是使用 br0 接口创建的虚拟接口。

答案1

我来这里是为了寻找相同问题的答案。在阅读 Fox 的回答后,我发现了arp表管理命令(现已过时)。尝试ip neigh这个与 相同arp。这将向您显示通过 DHCP 从共享同一链路(虚拟网桥)的主机传播的虚拟机 IP 地址。

答案2

如果没有查看 DHCP 日志...或捕获数据包并过滤 DHCP 数据包...您将没有运气。主机不关心为其托管的虚拟机分配了什么 IP 地址。桥接器只是从桥接器中的一个接口获取所有数据并将其广播到桥接器中的所有其他接口。主机本身对桥接器中的其他设备如何处理数据一无所知。

答案3

您可能可以使用 ARP 守护进程(即。ARPD) 来监控桥接接口。只要您知道虚拟机的 MAC 地址,就可以从其数据库中获取它。您可以在 中找到 MAC brctl showmacs br0

相关内容