Ich installiere Avahi auf jeder VM, also werben sie ihre eigenen Adressen an. Dies ist jedoch nicht die einzige verfügbare Option (insbesondere, wenn Ihre VM etwas anderes als Linux enthält). Betreten Sie die magische Welt der Virsh Optionen!
*) Zuerst müssen Sie die MAC-Adressen Ihrer VM NICs erhalten:
[[email protected] ~]# virsh domiflist b2bua
Interface Type Source Model MAC
-------------------------------------------------------
vnet0 network default virtio 52:54:00:aa:bb:cc
vnet1 bridge br1 virtio 52:54:00:dd:ee:ff
[[email protected] ~]#
*) Lassen Sie uns jetzt an der ARP-Tabelle nun einen Blick
[[email protected] ~]# arp -e
Address HWtype HWaddress Flags Mask Iface
xx.xx.xx.xx ether xx:xx:xx:xx:xx:xx C br0
192.168.122.14 ether 52:54:00:xx:xx:xx C virbr0
192.168.122.51 ether 52:54:00:aa:bb:cc C virbr0
[[email protected] ~]#
*) des kleben lassen alles zusammen (und das Hinzufügen von ein wenig von Shell/regex Magie):
[[email protected] ~]# for mac in `virsh domiflist b2bua |grep -o -E "([0-9a-f]{2}:){5}([0-9a-f]{2})"` ; do arp -e |grep $mac |grep -o -P "^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" ; done
192.168.122.51
[[email protected] ~]#
das ist schöne Lösung, aber würde nicht genau in busybox arbeiten, --------> kvm # für mac in 'virsh domiflist yoc6 | grep -o -E„([0-9a- f] {2}:) {5} ([0-9a-f] {2}) "'; do arp -e | grep $ mac | grep -o -P "^ \ d {1,3} \. \ d {1,3} \. \ d {1,3} \. \ d {1,3} "; done grep: ungültige Option - 'P' arp: ungültige Option - 'e' BusyBox v1.22.1 (2015-11-04 15:02:18 PST) BusyBox v1.22.1 (2015-11-04 15 : 02: 18 PST) Multi-Call-Binär. Verwendung: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/CN] Muster/-e Muster .../- f-Datei [Datei] ... –
Beachten Sie, dass die Arp-Tabelle sein könnte veraltete oder fehlende Einträge. Vielleicht möchten Sie vor dem Aufruf des arp-Befehls das Subnetz pingen. –