私は、各VM上のavahiをインストールしていますので、彼らは自分のアドレスをアドバタイズします。しかし、これは唯一の選択肢ではありません(VMにLinuxとは異なるものがあれば特にそうです)。だから、virshのオプションの魔法の世界に入ってください!
*)まず、あなたのVMのNICのMACアドレスを取得する必要があります:
は
[[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] ~]#
*)今度は、ARPテーブルを見てみましょう
[[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] ~]#
*)今度は一緒にすべてのものを接着しましょう(シェル/正規表現の魔法のビットを追加する):
[[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] ~]#
素敵なソリューションのthatsが、busyboxの中で正確に動作しwouldntの、 --------> virshをdomiflist yoc6 'でMac用 のkvm#|はgrep -o -E「([0-9a- f] {2}:){5}([0-9a-f] {2}) "; DO ARP -e | grepの$マック|はgrep -o -P「^ \ dの{1,3} \ \ D {1,3} \ \ D {1,3} \ \ D {1,3}。。。 ";行わ はgrep:無効なオプション - 'P' ARP:無効なオプション - 'E' BusyBoxのをv1.22.1(2015年11月4日午前15時02分18秒PST)BusyBoxのをv1.22.1(2015年11月4日15 :02:18 PST)マルチコールバイナリ。 使用法:grep [-HhnlLoqvsriwFE] [-m N] [-A/B/CN]パターン/ -eパターン.../-fファイル[FILE] ... –
arpテーブルは陳腐化しているか、不足しているエントリarpコマンドを呼び出す前にサブネットをpingすることができます。 –