vlan qemu:来自其他客人的来宾

我试图模拟使用QEMU的机器(deb1)直接连接到主机和其他2台机器(deb2,deb3)的3台机器的一个小networking:

Host | -----------deb1----------- | | deb2 deb3 

deb1连接到两个不同的networking,一个(vlan 1)连接deb1与主机,另一个(vlan 2)连接deb1与另外两台机器,因此deb1必须侦听端口1234:

 kvm -hda deb1.img -m 256 \ -net nic,vlan=1 -net user,vlan=1 -net nic,vlan=2,macaddr=52:54:00:12:34:57 \ -net socket,vlan=2,listen=localhost:1234 

deb2和deb3都必须连接到deb1,唯一的区别是他们的mac地址:

DEB2:

  kvm -hda deb2.img -m 256 -net nic,vlan=2,macaddr=52:54:00:12:34:01 \ -net socket,vlan=2,connect=localhost:1234 

deb3:

  kvm -hda deb3.img -m 256 -net nic,vlan=2,macaddr=52:54:00:12:34:02 \ -net socket,vlan=2,connect=localhost:1234 

一旦这三台机器启动,我只是设置他们的IP地址:

DEB1:

 ifconfig eth1 192.168.10.2 

DEB2:

 ifconfig eth0 192.168.10.3 

deb3:

 ifconfig eth0 192.168.10.4 

这里的问题是: deb1deb2之间的连接完美,但不是deb1deb3之间的deb3 。 当我closuresdeb2deb1deb3之间的连接开始工作。 看起来deb1不能同时收听deb2deb3

我究竟做错了什么?

实际上,我遵循本指南中的内容 (请参阅4.2 Guest-onlynetworking:“当您要使用三个以上的客户操作系统,只需连接到一个。使用不同的macaddr”)和本文

-net socket,{listen|connect}=...仅适用于1:1连接。

netstat -anp46|grep qemu显示deb3和deb1的qemu之间没有连接。

使用-net socket,mcast=...来代替。