獲取KVM虛擬機(jī)DHCP的ip地址
一 基本思路
KVM虛擬機(jī)支持birdge網(wǎng)卡和nat模式網(wǎng)卡。本文只關(guān)注nat網(wǎng)卡。采用libvirt管理的虛擬機(jī)瘦癌,會生成一個XML文件,文件內(nèi)部保護(hù)具體的網(wǎng)卡配置,里面包含MAC地址梅桩。libvirt采用dnsmasq來提供dhcp服務(wù),只需在dnsmasq里面找到mac和ip映射關(guān)系拜隧,即可找到虛擬機(jī)的ip.
二 具體操作過程
1 根據(jù)虛擬機(jī)命令獲取虛擬機(jī)XML文件宿百,并解析出MAC地址
virsh dumpxml vm-name | sed -n '/mac address/p'| awk -F "[']" '{print $2}'
2 根據(jù)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為虛擬機(jī)名字,自行修改洪添。如果有多個nat網(wǎng)卡垦页,可以獲取到多個ip,要求虛擬機(jī)開機(jī)干奢,且正確獲取IP地址痊焊。