Open vSwitch

De Wiki doc

Open 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 :

# Création d'un switch ovs
allow-ovs br0
iface br0 inet manual
	ovs_type OVSBridge

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 :

# Ajouter un port virtuel au switch
allow-ovs vport0
iface vport0 inet manual
	ovs_bridge br0
	ovs_type OVSPort

Ajouter une ligne a la configuration du switch pour associer le port:

# Création d'un switch ovs
allow-ovs br0
iface br0 inet manual
	ovs_type OVSBridge
	ovs_ports vport0

Ajouter un port phisique au switch

Toujours dans le fichier /etc/network/interface ajouter :

# Ajouter un port virtuel au switch
allow-ovs eth0
iface eth0 inet manual
	ovs_bridge br0
	ovs_type OVSPort

Modifier une ligne a la configuration du switch pour associer le port:

# Création d'un switch ovs
allow-ovs br0
iface br0 inet manual
	ovs_type OVSBridge
	ovs_ports vport0 eth0

Si vous voulez avoir une ip pour votre machine :

DHCP:

# Création d'un switch ovs
allow-ovs br0
iface br0 inet dhcp
	ovs_type OVSBridge
	ovs_ports vport0 eth0

IP statique :

# 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

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