我是qemunetworking的新手,对以下情况非常困惑。 我推出了5台虚拟机。 每个通过一个水龙头设备连接到br0。 我也有一个dnsmasq侦听br0的DHCP。
问题是根据我指定的dhcp_host文件,dnsmasq不会将ip分配给VM。 dhcp_host文件具有如下项目:mac:ip。 我想,当我把mac地址在qemu中,dnsmasq应该从dhcp_host文件中查找ip。 但事实并非如此。 相反,它随机发出ip。
现在,当我检查与brctl。 它显示10个mac地址,而不是5! 我在这里search了很多来自谷歌的qemunetworking教程。 他们都没有回答我的问题。 有人可以解释一下情况吗?或者给我一些指点? 谢谢!
$ brctl show 网桥名称bridge id STP使能的接口 br0 8000.1ed7c974ed93 no tap0 TAP1 TAP2 TAP3 tap4
$ brctl showmacs br0 端口没有mac地址是本地的? 老化定时器 1 02:2f:ef:29:be:36 no 1.73 1 1e:d7:c9:74:ed:93是0.00 4 22:00:f4:a8:89:8a no 3.99 5 5a:e6:2a:d6:a0:50是0.00 3 5e:18:64:12:3d:ec是0.00 3 72:22:53:51:f4:fa no 3.08 4 7a:e4:22:89:59:9a是0.00 5 82:9f:d3:6d:54:17 no 0.69 2 c2:fb:2a:3a:81:e9 no 32.99 2 e6:a6:7a:a4:49:d4是0.00
更新:下面是ps aux一个样例qemu进程信息
用户15983 99.9 8.0 5673100 5296180? Sl 12:29 214:30 qemu-system-x86_64 -enable-kvm -snapshot -no-shutdown -m 5120 -smp 2 -pidfile / home / user / vm-workingdir / instance-2 / pid -monitor unix:/ home / htrc / user / instance-2 / monitor,server,nowait - 序列文件:/ home / user / vm-workingdir / instance-2 / release_mon -USB -net nic,vlan = 0,macaddr = c2:b3:04:4b:8c:c8 -net tap,vlan = 0,fd = 3 -hda /home/user/vm-workingdir/instance-2/image.img -vnc:105,密码
tap设备的mac和虚拟网卡在虚拟机中的实际mac是不同的,这就是为什么你看到输出中MAC数量增加一倍的原因。
你只应该看看虚拟机的内部MAC,你在-net nic,vlan=0,macaddr=XX:XX...参数中指定的MAC,tap dev MAC不重要。