Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vlans / bridges

12 réponses
Avatar
Pascal
Bonjour je me bat actuellement dans la configuration d'une machine hôte
(libvirt/kvm) avec des vlans et des bridges.
En fouillant sur le net, j'en arrive à une configuration comme celle-la :

---------------------------------------------------------------------
auto lo
iface lo inet loopback

auto eth0 eth0.2 eth0.3 eth1 eth1.2 eth1.3 eth1.99

iface eth0 inet manual
iface eth0.2 inet manual
iface eth0.3 inet manual
iface eth1 inet manual
iface eth1.2 inet manual
iface eth1.3 inet manual
iface eth1.99 inet manual

# -------------------------BRIDGES ----------------------------------
auto vmbr1 vmbr2 vmbr3 vmbr4 vmbr5 vmbr6 vmbr7

iface vmbr1 inet static
address 192.168.151.248
netmask 255.255.255.0
gateway 192.168.151.254
bridge_ports eth0
bridge_stp off
bridge_fd 0

iface vmbr2 inet manual
bridge_ports eth0.2
bridge_stp off
bridge_fd 0

iface vmbr3 inet manual
bridge_ports eth0.3
bridge_stp off
bridge_fd 0

iface vmbr4 inet manual
bridge_ports eth1
bridge_stp off
bridge_fd 0

iface vmbr5 inet manual
bridge_ports eth1.2
bridge_stp off
bridge_fd 0

iface vmbr6 inet manual
bridge_ports eth1.3
bridge_stp off
bridge_fd 0

iface vmbr7 inet manual
bridge_ports eth1.99
bridge_stp off
bridge_fd 0
---------------------------------------------------------------------

Je ne suis pas du tout sur de cette configuration.

Le problème que je rencontre est le suivant.
lors de la création d'une machine virtuelle, j'affecte à cette vm, 5 interfaces
réseau : une sur vmbr1, une sur vmbr4, une sur vmbr5, une sur vmbr6 et une sur
vmbr7.
je configure ensuite chaque interface de cette vm classiquement
(/etc/network/interfaces eth0 eth1 eth2 eth3 eth4)

Le problème que je rencontre est le suivant :
une fois la vm démarrée, l'interface mappée sur vmbr1 fonctionne correctement,
par contre toutes les autres ne fonctionnent pas, aucun ping possible.

Quelqu"'un pourait t'il me dire d'ou vient le problème ?


merci

10 réponses

1 2
Avatar
Eric Belhomme
Le Wed, 06 Apr 2011 11:16:16 +0200, Pascal a écrit :

Essaies ceci :

iface eth0.2 inet manual
up vconfig set_flag $IFACE 1 1
iface eth0.3 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.2 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.3 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.99 inet manual
up vconfig set_flag $IFACE 1 1

Cela force la suppression des tags de VLAN des entêtes, ce qui devrait
régler ton problème

--
Rico
Les grands hommes meurent deux fois :
une fois comme "homme" puis un fois comme "grand".
-+- Paul Valéry -+-
Avatar
Pascal
Le 06/04/2011 15:57, Eric Belhomme a écrit :
Le Wed, 06 Apr 2011 11:16:16 +0200, Pascal a écrit :

Essaies ceci :

iface eth0.2 inet manual
up vconfig set_flag $IFACE 1 1
iface eth0.3 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.2 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.3 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.99 inet manual
up vconfig set_flag $IFACE 1 1

Cela force la suppression des tags de VLAN des entêtes, ce qui devrait
régler ton problème



merci pour ta réponse , mais pourais tu m'expliquer ?
en fait je ne vois pas ce qui cloche dans ma config.
De ce fait je pige pas trop ta solution
Si je vire les tags comment sont différenciés les flux ?
ma connaissance des vlans est limité d'ou mes questions
merci encore
Avatar
Pascal Hambourg
Salut,

Pascal a écrit :
Bonjour je me bat actuellement dans la configuration d'une machine hôte
(libvirt/kvm) avec des vlans et des bridges.
En fouillant sur le net, j'en arrive à une configuration comme celle-la :


[...]
Si je comprends bien, tu associes à une même interface ethernet à la
fois un pont et des VLAN. A mon avis, ça ne marche pas : ponts et VLAN
vont se disputer les trames. Il faut soit associer l'interface ethernet
à un pont et créer des VLAN sur le pont, sont créer des VLAN sur
l'interface ethernet et les associer à des ponts.
Avatar
Pascal
Le 06/04/2011 23:20, Pascal Hambourg a écrit :
Salut,

Pascal a écrit :
Bonjour je me bat actuellement dans la configuration d'une machine hôte
(libvirt/kvm) avec des vlans et des bridges.
En fouillant sur le net, j'en arrive à une configuration comme celle-la :


[...]
Si je comprends bien, tu associes à une même interface ethernet à la
fois un pont et des VLAN. A mon avis, ça ne marche pas : ponts et VLAN
vont se disputer les trames. Il faut soit associer l'interface ethernet
à un pont et créer des VLAN sur le pont, sont créer des VLAN sur
l'interface ethernet et les associer à des ponts.


c'est bien ce que je fais pour une interface ethernet, plusieurs vlans
chacun associés à un bridge (du moins j'ai l'impression de faire ça ;-)

en fait il y a 2 interfaces physiques sur la machine hôte.

eth0 (e1000) sur laquelle est associé 3 vlans puis un bridge à chaque vlan.
Pour cette interface cela fonctionne bien

eth1 (DLink DFE-530TX) configurée de la même manière (à un vlan pret)

ensuite je crée une machine virtuelle qui comporte 5 interfaces :
une mappée sur le "bridge vlan1" de eth0
une mappée sur le "bridge vlan1" de eth1
une mappée sur le "bridge vlan2" de eth1
une mappée sur le "bridge vlan3" de eth1
une mappée sur le "bridge vlan99" de eth1

sur cette machine virtuelle toutes les interfaces mappées sur eth1 de la
machine hôte ne fonctionne pas, seule l'interface mappée sur eth0
fonctionne, d'autres machines virtuelles configurée sur eth0
fonctionnent bien aussi

est ce une erreur de ma part au niveau réseau, la carte dlink qui
merdouille ?

je ne comprend vraiment pas ce qu'il se passe
pour moi les bridges sous linux s'apparentent à de "bête" switch, j'ai
l'impression que c'est plus sioux que ça !! ;-)

merci pour vos réponses
Avatar
Stephane CHAZELAS
2011-04-06, 11:16(+02), Pascal:
Bonjour je me bat actuellement dans la configuration d'une machine hôte
(libvirt/kvm) avec des vlans et des bridges.


[...]

J'ai aussi eu des problemes avec les melanges vlan+bridge (voir
http://kerneltrap.org/mailarchive/linux-net/2010/9/22/6884661).

Du coup, j'utilise vde. Ca marche bien et c'est plus flexible
(qemy/kvm supporte vde natively). Pour libvirt, j'utilise un
wrapper autour de kvm

$ sudo virsh -c qemu:///system dumpxml d1 | grep wrap
<emulator>/home/stephane/fw-br-qemu-wrapper</emulator>

Et le wrapper script ressemble a:

#! /bin/sh
#: || : << '#E'
#exec 2>> /tmp/x; set -x
getname() {
name for i do
if [ "$i" = "-name" ]; then
name=$2
break
fi
shift
done
}
getname "$@"

case $name in
(d1)
set -- "$@" -device virtio-net-pci,vlan=0,id=net0,macR:54:00:bc:b9:23,bus=pci.0,addr=0x3
-net vde,vlan=0,sock=/var/run/vde/V_ctl,port
;;
esac
exec kvm "$@"

(le switch vde ayant sa control socket dans /var/run/vde/V_ctl,
et le port 13 du switch est configuré comme etant dans tel ou
tel VLAN, taggé ou non..., on peut /plugger/ une interface du
host sur un port du switch virtuel avec vde_pcapplug par example
ou utiliser des interface tun/tap et des bridges (je crois que
j'ai eu des problemes avec ca aussi toutefois)). Il y a plein de
possibilités et des interfaces au switch qui permettent de
changer sa config au runtime...




--
Stephane
Avatar
Pascal
-------- Message original --------

Le Wed, 06 Apr 2011 11:16:16 +0200, Pascal a écrit :

Essaies ceci :

iface eth0.2 inet manual
up vconfig set_flag $IFACE 1 1
iface eth0.3 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.2 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.3 inet manual
up vconfig set_flag $IFACE 1 1
iface eth1.99 inet manual
up vconfig set_flag $IFACE 1 1

Cela force la suppression des tags de VLAN des entêtes, ce qui devrait
régler ton problème



j'ai bien fait ça mais ça ne change rien.
sur la machine hôte il s'agit de deux cartes réseaux différentes
e1000 qui fonctionne
dfe-530tx qui ne fonctionne pas
j'ai lu ça
https://lists.linux-foundation.org/pipermail/bridge/2006-November/005133.html
cela pourait t'il être en lien avec mon problème ?

merci encore
Avatar
Pascal
-------- Message original --------

2011-04-06, 11:16(+02), Pascal:
Bonjour je me bat actuellement dans la configuration d'une machine hôte
(libvirt/kvm) avec des vlans et des bridges.


[...]

J'ai aussi eu des problemes avec les melanges vlan+bridge (voir
http://kerneltrap.org/mailarchive/linux-net/2010/9/22/6884661).

Du coup, j'utilise vde. Ca marche bien et c'est plus flexible
(qemy/kvm supporte vde natively). Pour libvirt, j'utilise un
wrapper autour de kvm

$ sudo virsh -c qemu:///system dumpxml d1 | grep wrap
<emulator>/home/stephane/fw-br-qemu-wrapper</emulator>

Et le wrapper script ressemble a:

#! /bin/sh
#: || : << '#E'
#exec 2>> /tmp/x; set -x
getname() {
name > for i do
if [ "$i" = "-name" ]; then
name=$2
break
fi
shift
done
}
getname "$@"

case $name in
(d1)
set -- "$@" -device virtio-net-pci,vlan=0,id=net0,macR:54:00:bc:b9:23,bus=pci.0,addr=0x3
-net vde,vlan=0,sock=/var/run/vde/V_ctl,port
;;
esac
exec kvm "$@"

(le switch vde ayant sa control socket dans /var/run/vde/V_ctl,
et le port 13 du switch est configuré comme etant dans tel ou
tel VLAN, taggé ou non..., on peut /plugger/ une interface du
host sur un port du switch virtuel avec vde_pcapplug par example
ou utiliser des interface tun/tap et des bridges (je crois que
j'ai eu des problemes avec ca aussi toutefois)). Il y a plein de
possibilités et des interfaces au switch qui permettent de
changer sa config au runtime...






mon soucis est que tout fonctionne plutot bien avec une des cartes physique
et pas avec l'autre
à se demander si ça n'est pas la carte la fautive
merci
Avatar
Dominique ROUSSEAU
Le jeu., 07 avril 2011 at 05:43 GMT, Pascal a écrit :

eth1 (DLink DFE-530TX) configurée de la même manière (à un vlan pret)




du fin fond de ma mémoire, j'exhumerai bien le souvenir que le driver
via-rhine, qui va avec, a une mtu hard-codée à 1500, qui ne laisse donc pas
passer les trames avec étiquettes, qui font 1508 octets.
Avatar
Pascal
-------- Message original --------

2011-04-06, 11:16(+02), Pascal:
Bonjour je me bat actuellement dans la configuration d'une machine hôte
(libvirt/kvm) avec des vlans et des bridges.


[...]

J'ai aussi eu des problemes avec les melanges vlan+bridge (voir
http://kerneltrap.org/mailarchive/linux-net/2010/9/22/6884661).

Du coup, j'utilise vde. Ca marche bien et c'est plus flexible
(qemy/kvm supporte vde natively). Pour libvirt, j'utilise un
wrapper autour de kvm

$ sudo virsh -c qemu:///system dumpxml d1 | grep wrap
<emulator>/home/stephane/fw-br-qemu-wrapper</emulator>

Et le wrapper script ressemble a:

#! /bin/sh
#: || : << '#E'
#exec 2>> /tmp/x; set -x
getname() {
name > for i do
if [ "$i" = "-name" ]; then
name=$2
break
fi
shift
done
}
getname "$@"

case $name in
(d1)
set -- "$@" -device virtio-net-pci,vlan=0,id=net0,macR:54:00:bc:b9:23,bus=pci.0,addr=0x3
-net vde,vlan=0,sock=/var/run/vde/V_ctl,port
;;
esac
exec kvm "$@"

(le switch vde ayant sa control socket dans /var/run/vde/V_ctl,
et le port 13 du switch est configuré comme etant dans tel ou
tel VLAN, taggé ou non..., on peut /plugger/ une interface du
host sur un port du switch virtuel avec vde_pcapplug par example
ou utiliser des interface tun/tap et des bridges (je crois que
j'ai eu des problemes avec ca aussi toutefois)). Il y a plein de
possibilités et des interfaces au switch qui permettent de
changer sa config au runtime...






as tu de la doc sur vde, j'ai beaucoup de mal à en trouver
merci encore
Avatar
Pascal
-------- Message original --------

Salut,

Pascal a écrit :
Bonjour je me bat actuellement dans la configuration d'une machine hôte
(libvirt/kvm) avec des vlans et des bridges.
En fouillant sur le net, j'en arrive à une configuration comme celle-la :


[...]
Si je comprends bien, tu associes à une même interface ethernet à la
fois un pont et des VLAN. A mon avis, ça ne marche pas : ponts et VLAN
vont se disputer les trames. Il faut soit associer l'interface ethernet
à un pont et créer des VLAN sur le pont, sont créer des VLAN sur
l'interface ethernet et les associer à des ponts.


je pense maintenant que mon soucis vient de là, et de la mauvaise compréhension
que j'avais des bridges : je considérai un bridge comme un switch, or il s'agit
bien d'un pont.
j'envisage de passer plutot à l'utilisation de vde qui me semble plus adapté à
mon truc.
Par contre pas moyen de trouver une doc
Merci pour ton aide
1 2