Open vSwitch
ATTENTION
L'article est en cours de rédaction et d’expérimentationOpen vSwitch, dont son abbreviation est OVS, permet de créer des switchs vituels au sein du systeme d'exploitation. Celui-ci gère les VLANs et les port Trucks. Ce programme est utils dans plusieurs cas:
- Créer un switch suportant les VLANs a moindre coût (un raspberry Pi avec des ports ethernet USB)
- Gérer le reseau de chaque VMs ou conteneurs comme des machines phisiques
Mon projet personel consiste a gérer mon reseau de machine vituel après un pare-feu qui lui-même est vitualisé.
ATTENTION
Lors de la redaction (17/02/2017), Open vSwitch n'est pas stable sur Debian Stretch.Installation
Open vSwitch est disponible dans les depots Debian
# apt install openvswitch-switch
Configuration
Nous allons enregister la configuration actuel des interfaces reseaux
# cp /etc/network/interface /etc/network/interface.old
ASTUCE
Effacer le contenu du fichier /etc/network/interface pour eviter toutes confusions.Créer un switch virtuel
Dans le fichier /etc/network/interface ajouter :
<source lang="bash">
- Création d'un switch ovs
allow-ovs br0 iface br0 inet manual ovs_type OVSBridge </source>
Pour appliquer les changements, il faut redémarer le PC.
ATTENTION
Si vous redémarrez votre machine vous perdez la connexion!Ajouter un port vituel au switch
Toujours dans le fichier /etc/network/interface ajouter :
<source lang="bash">
- Ajouter un port virtuel au switch
allow-ovs vport0 iface vport0 inet manual ovs_bridge br0 ovs_type OVSPort </source>
Ajouter une ligne a la configuration du switch pour associer le port:
<source lang="bash">
- Création d'un switch ovs
allow-ovs br0 iface br0 inet manual ovs_type OVSBridge ovs_ports vport0 </source>
Ajouter un port phisique au switch
Toujours dans le fichier /etc/network/interface ajouter :
<source lang="bash">
- Ajouter un port virtuel au switch
allow-ovs eth0 iface eth0 inet manual ovs_bridge br0 ovs_type OVSPort </source>
Modifier une ligne a la configuration du switch pour associer le port:
<source lang="bash">
- Création d'un switch ovs
allow-ovs br0 iface br0 inet manual ovs_type OVSBridge ovs_ports vport0 eth0 </source>
Si vous voulez avoir une ip pour votre machine :
DHCP: <source lang="bash">
- Création d'un switch ovs
allow-ovs br0 iface br0 inet dhcp ovs_type OVSBridge ovs_ports vport0 eth0 </source>
IP statique : <source lang="bash">
- Création d'un switch ovs
allow-ovs br0 iface br0 inet static ovs_type OVSBridge ovs_ports vport0 eth0 address 10.50.10.44 netmask 255.255.255.0 gateway 10.50.10.1 </source>
Dans ce cas vous pouvez redemarrer votre machine sans perdre la connexion.
État du switch
Pour connaître l’état du switch :
# ovs-vsctl show