Ever needed to find the IP address of a particular guest? Of course, the
answer is “yes”. For the most part I have either resorted to going in
through the console of the VM to find this information or used some
nifty little script like the one described
here
by Richard Jones. However, if you have qemu Guest
Agent set up ( I covered
this briefly in a previous
post ),
then you can just query this information using the
guest-network-get-interfaces
qemu-ga command:
\
[root@host ~]# virsh qemu-agent-command Fedora19 \
'{"execute":"guest-network-get-interfaces"}' | python -mjson.tool
{
"return": [
{
"hardware-address": "00:00:00:00:00:00",
"ip-addresses": [
{
"ip-address": "127.0.0.1",
"ip-address-type": "ipv4",
"prefix": 8
},
{
"ip-address": "::1",
"ip-address-type": "ipv6",
"prefix": 128
}
],
"name": "lo"
},
{
"hardware-address": "52:54:00:ba:4d:ef",
"ip-addresses": [
{
"ip-address": "192.168.100.136",
"ip-address-type": "ipv4",
"prefix": 24
},
{
"ip-address": "fe80::5054:ff:feba:4def",
"ip-address-type": "ipv6",
"prefix": 64
}
],
"name": "eth0"
}
]
}
This gives us all of the information related to each network interface
of the VM. Notice that I ran the output through a JSON formatter to make
it more readable.
Dusty