Qemu-kvm две и более сетевые карты. [Решено]
NFS_Daemon 30 июня, 2011 - 14:22
Здравствуйте, немного не понимаю логику 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 ;)
так как я не указываю модель
так как я не указываю модель сетевой, то должна быть по-умолчанию, стало быть:
попробуй 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:
на гостевой наблюдаю следующее:
ifconfig -a
С 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:
и не смог достучаться ни до одной сети ни с 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 - действительно нужна для работы моей схемы, а именно:
Всем спасибо за отзывы.