首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vlan qemu:客人倾听其他客人的声音

vlan qemu:客人倾听其他客人的声音
EN

Server Fault用户
提问于 2015-12-14 15:32:33
回答 1查看 496关注 0票数 2

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

代码语言:javascript
复制
                      Host 
                       |
           -----------deb1-----------
           |                        |
          deb2                     deb3          

deb1连接到两个不同的网络,一个(vlan 1)将deb1与主机连接,另一个(vlan 2)将deb1连接到另外两台计算机,因此deb1必须从端口1234监听:

代码语言:javascript
复制
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:

代码语言:javascript
复制
 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:

代码语言:javascript
复制
 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:

代码语言:javascript
复制
ifconfig eth1 192.168.10.2

deb2:

代码语言:javascript
复制
ifconfig eth0 192.168.10.3

deb3:

代码语言:javascript
复制
ifconfig eth0 192.168.10.4

这里的问题是:deb1deb2之间的连接工作得很完美,但deb1deb3之间的连接却不起作用。当我关闭deb2时,deb1deb3之间的连接就开始工作了。看起来deb1不能同时收听deb2deb3

我做错了什么?

实际上,我遵循了用本指南编写的内容(请看4.2节中的客户专用网络:“当您想使用三个以上的来宾OSes时,只需连接到其中一个。使用不同的macaddr)。”和这篇文章

EN

回答 1

Server Fault用户

发布于 2016-03-21 07:08:13

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

netstat -anp46|grep qemu表明,deb3的qemu与deb1之间没有联系。

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

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/742926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档