У меня есть несколько виртуальных машин, работающих на Ubuntu 9.10 через KVM + libvirt. Я хочу иметь возможность узнать IP-адрес, который был назначен каждому хосту, не открывая физически «консоль» для каждой машины и не вызывая ее ifconfig
.
Рассматривать:
rascher @ localhost: ~ $ virsh -c qemu: /// системный список - все Подключение к системе uri: qemu: /// Id Name State ---------------------------------- 1 машина1 работает 2 машины2 работает - машина3 отключена
Моя конфигурация сети выглядит так:
<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 Flags Mask 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 ...
Но это не соответствует идентификатору виртуальной машины.
Есть ли какой-нибудь инструмент (через командную строку virsh
или virt-*
), я могу узнать эту информацию? Или мне нужен какой-нибудь причудливый скрипт, который запускается на каждой отдельной виртуальной машине, проверяет ее собственный IP и сообщает об этом обратно операционной системе хоста?