Linux

為什麼 linux bridge 為一個 qemu vm 顯示 2 個 mac 地址?

  • November 18, 2014

我是 qemu 網路的新手,對以下情況非常困惑。我啟動了 5 個虛擬機。每個都通過一個 tap 設備連接到 br0。我還有一個 dnsmasq 在 br0 上監聽 DHCP。

問題是 dnsmasq 沒有根據我指定的 dhcp_host 文件將 ip 分配給 VM。dhcp_host 文件具有如下條目:mac:ip。我想當我將mac addr放入qemu時,dnsmasq應該從dhcp_host文件中查找ip。但它沒有。相反,它隨機分配 ip。

現在,當我檢查 brctl. 它顯示 10 個 MAC 地址而不是 5 個!?在來這裡問之前,我從Google搜尋了很多 qemu 網路教程。他們都沒有回答我的問題。有人可以解釋一下情況或給我一些指示嗎?謝謝!

$ brctl 顯示
網橋名稱 網橋 ID 啟用 STP 的介面
br0 8000.1ed7c974ed93 沒有水龍頭0
水龍頭1
水龍頭2
水龍頭3
水龍頭4
$ brctl showmacs br0
埠沒有mac地址是本地的?老化計時器
1 02:2f:ef:29:be:36 沒有 1.73
1 1e:d7:c9:74:ed:93 是 0.00
4 22:00:f4:a8:89:8a 沒有 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: 前沒有 3.08
4 7a:e4:22:89:59:9a 是 0.00
5 82:9f:d3:6d:54:17 沒有 0.69
2 c2:fb:2a:3a:81:e9 沒有 32.99
2 e6:a6:7a:a4:49:d4 是 0.00

更新: 以下是來自的一個範例 qemu 程序資訊ps aux

使用者 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 和 VM 中虛擬 NIC 的實際 mac 不同,這就是為什麼您會在輸出中看到雙倍 MAC 數量的原因。

您應該只查看 VM 的內部 MAC,即您在 -net nic,vlan=0,macaddr=XX:XX...參數中指定的那些,tap dev MAC 並不重要。

引用自:https://serverfault.com/questions/645007