我有几个通过 KVM+libvirt 在 Ubuntu 9.10 上运行的虚拟机。我希望能够找出已分配给每台主机的 IP 地址,而无需物理打开每台机器的物理“控制台”并调用ifconfig
.
考虑:
rascher@localhost:~$ virsh -c qemu:///system list --all 连接到 uri:qemu:///system Id 名称 状态 ---------------------------------- 1台机器1运行 2 机 2 运行 - machine3 关闭
我的网络配置如下:
<network>
<name>default</name>
<uuid>1be...</uuid>
<forward mode='route' dev="eth0"/>
<bridge name='virbr0' stp='on' forwardDelay='0' />
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254' />
</dhcp>
</ip>
</network>
那么我怎样才能得到一个清单,上面写着:
machine1 IP 地址 = 192.168.122.16 machine2 IP 地址 = 192.168.122.238 ...
我玩过arp
:
rascher@localhost:~$ arp 地址 HWtype HWaddress 标志 掩码 Iface 192.168.122.238 以太 00:16:36:00:61:b0 C virbr0 192.168.122.16 以太 00:16:36:52:e8:9c C virbr0 ...
但这不会映射到虚拟机的 ID。
是否有一些工具(通过命令行,virsh
或者virt-*
)我可以确定这些信息?或者我是否需要在每个单独的虚拟机上运行一些花哨的脚本,检查自己的 IP,并将其报告回主机操作系统?