2015-12-14 8 views
0

Я пытаюсь смоделировать небольшую сеть из 3 машин с использованием QEMU, где машина (deb1) напрямую связана с хостом и другими 2 машинами (deb2, deb3):qemu/kvm: невозможно подключить несколько компьютеров к одному сокету

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

deb1 подключен к 2-х различным сетям, один (ВЛС 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, on разница LY ​​их 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 

Здесь проблема: связь между deb1 и deb2 работает отлично, но не один между deb1 и deb3. Когда я отключился deb2, тогда соединение между deb1 и deb3 начнет работать. Похоже, deb1 не может прослушивать в то же время deb2 и deb3.

Что я делаю неправильно?

Я на самом деле следовал тому, что написано в this guide (посмотреть на раздел 4.2 посетителей только сети: «Если вы хотите использовать более трех гостевых операционных систем, достаточно подключить к одному Смените MacAddr..») и this article

ответ

0

-net socket,{listen|connect}=... подходит только для соединений 1: 1.

netstat -anp46|grep qemu показывает, что между qemu deb3 и deb1 нет связи.

Вместо этого использовать -net socket,mcast=....

 Смежные вопросы

  • Нет связанных вопросов^_^