获取KVM虚拟机DHCP的ip地址

获取KVM虚拟机DHCP的ip地址

一 基本思路

KVM虚拟机支持birdge网卡和nat模式网卡。本文只关注nat网卡。采用libvirt管理的虚拟机,会生成一个XML文件,文件内部保护具体的网卡配置,里面包含MAC地址。libvirt采用dnsmasq来提供dhcp服务,只需在dnsmasq里面找到mac和ip映射关系,即可找到虚拟机的ip.

二 具体操作过程

1 根据虚拟机命令获取虚拟机XML文件,并解析出MAC地址

virsh dumpxml vm-name | sed -n '/mac address/p'| awk -F "[']" '{print $2}'

2 根据mac查询ip

grep $mac -rn /var/lib/libvirt/dnsmasq | awk '{print $2,$3}'

3 一条命令搞定

for mac in `virsh dumpxml vm-name | sed -n '/mac address/p'| awk -F "[']" '{print $2}'`;  do grep $mac -rn ./| awk '{print $2,$3}' ; done

vm-name为虚拟机名字,自行修改。如果有多个nat网卡,可以获取到多个ip,要求虚拟机开机,且正确获取IP地址。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容