Qemu-kvm две и более сетевые карты. [Решено]

Здравствуйте, немного не понимаю логику qemu в плане сетевых карт (либо неправильно сам мыслю).
Хочу подключить две (или более) сетевые карты в ВМ. Для этого использую следующий набор ключей:
qemu-kvm ... -net nic -net tap,ifname=tap0 -net nic -net tap,ifname=tap1 ...
После запуска обнаруживаю две сетевые карты (в ВМ) но, они как бы подключены к свитчу - то есть я с первой могу пинговать хосты как сети за tap0, так и сети tap1, со второй так же. Может путаю что-то и неправильно указываю параметры.

emerge virt-manager

net-misc/ifenslave
Available versions: 1.1.0-r3 (~)1.1.0-r4 1.1.0-r5
Homepage: http://sf.net/projects/bonding/
Description: Attach and detach slave interfaces to a bonding device
объединяет более одной карты в один интерфейс.
http://www.gentoo-wiki.info/HOWTO_Setup_Bonded_ethernet_adapters
разумеется, в виртуалке.

P.S.: Linux - это красная таблетка :-) Windows - синяя...

и к сожалению не в тему, мне

и к сожалению не в тему, мне не нужно несколько интерфейсов в один, мне надо как раз их расклеить.

???

???

Офисная мебель, мебель для офиса, мебель для руководителей, офисные диваны, мягкая мебель, офисные кресла и стулья, стулья для бара, стойка ресепшн.

Если я правильно понял суть

Если я правильно понял суть проблемы. то можно
-net nic,vlan=0 -net tap,ifname=tap0 -net nic,vlan=1 -net tap,ifname=tap1
За синтаксис не ручаюсь, пишу по памяти.

в таком случае получу один но

в таком случае получу один но тегированный интерфейс? жаль с vlan'нами пока практики не имел..

Насколько помню,

Насколько помню, гарантировать не могу ибо давно делал, это не влан в общепринятом понимании слова.
Алсо, вопрос - какой драйвер сетевой используется ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

так как я не указываю модель

так как я не указываю модель сетевой, то должна быть по-умолчанию, стало быть:

...
The NIC is an e1000 by default on the PC target
...

попробуй virtio. Вообще то

попробуй virtio.
Вообще то virtio уже давно надо ставить для всех девайсов

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Нет, эффект тот же:привожу

Нет, эффект тот же:
привожу пример на практике
на хосте:
ifconfig
brctl show
br0 - брижд с физическим eth0 для возможности подключения ВМ напрямую в локальную сеть, brqwmu - бридж с tap'ами для подключения ВМ.
после запуска qemu:

kvm ... -net nic,model=virtio -net tap,ifname=tape0 -net nic,model=virtio -net tap,ifname=tapq0 ...

на гостевой наблюдаю следующее:
ifconfig -a

ifconfig eth1 192.168.0.9/24
ifconfig eth1 up
ping 192.168.0.6
PING 192.168.0.6 (192.168.0.6) 56(84) bytes of data.
64 bytes from 192.168.0.6: icmp_req=1 ttl=64 time=3.03 ms
64 bytes from 192.168.0.6: icmp_req=2 ttl=64 time=0.486 ms
^C
--- 192.168.0.6 ping statistics ---
2 packets transmitted, 2 received, 0% packtet loss, time 1001 ms
rtt min/avg/max/dev = 0.486/1.761/3.037/1.276 ms
ifconfig eth1 192.168.3.5/24
ping 192.168.3.1
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.
64 bytes from 192.168.3.1: icmp_req=1 ttl=64 time=3.03 ms
64 bytes from 192.168.3.1: icmp_req=2 ttl=64 time=0.486 ms
^C
--- 192.168.3.1 ping statistics ---
2 packets transmitted, 2 received, 0% packtet loss, time 1001 ms
rtt min/avg/max/dev = 0.486/1.761/3.037/1.276 ms
...

С eth2 тоже самое - можно пинговать сразу две подсети.
Такое впечатление что qemu просто создает две сетевые и подключает к ним (к обеим) два интерфейса, без выбора кто куда.
p.s: во флага видел VDE - популярная вещь? стоит собирать qemu с ней или без?
p.p.s: флаг vlan создает два тегированных интерфейса, проверить как они будут работать пока не могу, т.к. vlan'ы пока не настраивал.

забриджевать все на 1 сетевую

забриджевать все на 1 сетевую и потом жаловатся ? :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

но ведь это два разных

но ведь это два разных бриджа, или я уже и это не правильно понял?

> p.p.s: флаг vlan создает

> p.p.s: флаг vlan создает два тегированных интерфейса, проверить как они будут работать пока не могу, т.к. vlan'ы пока не настраивал.

Их не надо настраивать, достаточно только прописать в запуске qemu. Минимум телодвижений:)

Про VDE - это на любителя. Лично я с него ушел.

я пробовал следующие ключи

я пробовал следующие ключи запуска qemu:

kvn ... -net nic,vlan=0 -net tap,ifname=tape0 -net nic,vlan=1 -net tap,ifname=tapq0

и не смог достучаться ни до одной сети ни с eth1, ни с eth2. настраивал на госте без vlan, ifconfig eth1 ip/mask
Если не указывать vlan в опции -net nic - то этих настроек достаточно, но тогда (из-за этого тему и создал) оба интерфейса "как бы к одному свитчу подключены".

Я, кстати не написал что же

Я, кстати не написал что же мне надо - мне нужно чтобы две сетевые карты находились в отдельных подсетях, то есть убрать этот фантомный свитч.
Кстати проверил - это именно прикол qemu: пробовал гасить tap0/tap1 - пинги до перекрестных сетей прекращались.

посмотрите на route -n и вы

посмотрите на
route -n
и вы поймете, что никаких "перекрестных пингов" нет. если оба интерфейса в разных подсетях - то все правильно у вас работает. надо так
ping -i eth0 <узел_в_подсети_eth1>
и наоборот.
и то, если, net.ipv4.ip_forward=1, пинги пойдут в любую сторону, иначе не пойдут.

P.S.: Linux - это красная таблетка :-) Windows - синяя...

согласен что не точно описал

согласен что не точно описал проблему.
в посте выше привел пример, который (по тому как я понимаю логику сети) я объяснить не могу.
проверку осуществлял, когда второй интерфейс находился в состоянии down.
В догонку - на хосте, маршрутизация между brqemu и br0 разрешена, но в госте я маршруты не указывал, и когда пытался пинговать сеть 192.168.0.*/24 с отключенным интерфейсом (который в эту сеть глядел) получал network is unrichable.
Так что маршруты тут ну не могут играть роли - нет их, не прописаны они, и default gateway тоже нет, и dhcp - не применял, только ручками ip да маску выставлял.

когда вы делаетеifconfig

когда вы делаете
ifconfig eth0 192.168.0.3
то автоматически выполняется
route add -net 192.168.0.0/24 gw dev eth0

upd: по вашему описанию, что вы делали, так и должно работать. или какую-то деталь упустили. :)

P.S.: Linux - это красная таблетка :-) Windows - синяя...

верно, маршруты на локальную

верно, маршруты на локальную сеть я как-то за маршруты считать не привык - какой же это маршрут без маршрутизатора (может неправ, скорее всего не прав, поэтому не до поняли друг друга).
И ответ: нет так быть не должно - это все-равно что к одной сетевой подключить свитч с сетью 192.168.1.0/24, а к другой -//- 192.168.2.0/24. Отключить вторую сетевую (ifconfig eth2 down), и наблюдать как назначая первой адреса из первой подсети получить доступ к ней (это нормально), но потом поменяв его на адрес из второй тоже получить к ней доступ - она должна быть недоступна, т.к. интерфейс отключен, пусть и программно, но отключен.
У меня есть большие подозрения что "-net nic" "-net tap" нужно как-то связывать друг с другом, не то qemu кашу делает, но вот как связывать в примерах и в man не нашел, пока что.

Поставьте libvirt и

Поставьте libvirt и virt-manager и не мучайтейсь. я в этой связке уже более года qemu-kvm юзаю. даже под это дело комп обновил (камень с KVM).

P.S.: Linux - это красная таблетка :-) Windows - синяя...

простите, для чего мне

простите, для чего мне строительная бригада, если мне надо выкопать яму полметра на полметра?
Может я и сам управлюсь, только знать бы как..

Невнимательно просмотрел

Невнимательно просмотрел пример, опция vlan - действительно нужна для работы моей схемы, а именно:

kvm ... -net nic,vlan=0 -net tap,vlan=0,ifname=tape0 -net nic,vlan=1 -net tap,vlan=1,ifname=tape0

Всем спасибо за отзывы.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".