Suite à la définition de topologie type donnée dans la section précédente, voici un schéma représentant la virtualisation de cette topologie. Il fait apparaître deux instances de machines virtuelles nommées Hub et Spoke ainsi que les commutateurs virtuels utilisés pour l'interconnexion entre réseaux.
Le routeur Hub joue le rôle de concentrateur des demandes d'accès émises par les routeurs distants : les Spokes. Dans la maquette présentée ci-dessus, on n'utilise qu'un seul routeur Spoke pour illustrer le dialogue PPP sur un seul lien WAN. En ajoutant, d'autres instances de machines virtuelles, il serait possible de multiplier les routeurs Spokes.
Note | |
---|---|
Dans l'architecture des connexions xDSL le routeur Hub est aussi appelé Broadband Remote Access Server ou BRAS. |
Paquets et droits d'accès
Avant de passer à la configuration de l'interconnexion, il faut préparer le système hôte : installer les paquets nécessaires à la virtualisation système et ouvrir les permissions d'accès.
-
On commence par l'installation des paquets utiles après avoir vérifié que le processeur du système hôte dispose bien des fonctions de virtualisation.
#
egrep '(vmx|svm)' /proc/cpuinfo#
aptitude install qemu-system-x86 openvswitch-switch -
On s'assure ensuite que l'utilisateur normal est bien membre des groupes système associés à la virtualisation. Dans notre cas, on se contente des groupes
sudo
etkvm
. L'ajout d'un utilisateur à un groupe système se fait à l'aide de la commande suivante.#
adduser etu kvm
Commutateurs et cordons de brassage
Sur le schéma ci-dessus, on compte 4 cordons de brassage. À
chacun de ces cordons correspond une interface de type tap
. Voici une copie du script de création de ces
cordons de brassage virtuels.
#!/bin/bash for intf in tap0 tap1 tap2 tap3 do if [ -z "$(ip addr ls | grep $intf)" ]; then echo setting $intf up sudo ip tuntap add mode tap dev $intf group kvm sudo ip link set dev $intf up else echo $intf is already there! fi done
Voici la syntaxe de création du commutateur wan-sw
. La création du commutateur dsw-host
utiliserait la même syntaxe. Ce dernier
commutateur fait partie de la configuration permanente du système
hôte puisqu'il est utilisé pour raccorder celui-ci à
l'Internet.
$
sudo ovs-vsctl add-br wan-sw
On passe maintenant au brassage des cordons sur les commutateurs.
-
Commutateur
dsw-host
$
sudo ovs-vsctl add-port dsw-host tap0 -- set port tap0 vlan_mode=access$
sudo ovs-vsctl add-port dsw-host tap2 -- set port tap2 vlan_mode=access -
Commutateur
wan-sw
$
sudo ovs-vsctl add-port wan-sw tap1 -- set port tap1 vlan_mode=access$
sudo ovs-vsctl add-port wan-sw tap3 -- set port tap3 vlan_mode=access
Instances de systèmes virtuels
Le guide Virtualisation système et enseignement fournit le script de lancement d'une machine virtuelle raccordée à un commutateur Open vSwitch qui sert au lancement des instances de systèmes virtuels. Ce script ne décrit qu'une interface réseau pour une instance de système virtuel. Il est donc nécessaire de le compléter avec la description des interfaces supplémentaires.
#!/bin/bash ../scripts/ovs-startup.sh hub.qed 1024 0 \ -device virtio-net,netdev=net2,mac=de:ad:be:ef:00:01 \ -netdev tap,ifname=tap1,id=net2,script=no ../scripts/ovs-startup.sh spoke.qed 1024 2 \ -device virtio-net,netdev=net2,mac=de:ad:be:ef:00:03 \ -netdev tap,ifname=tap3,id=net2,script=no
Il faut noter que sur la schéma proposé ci-dessus, l'interface
eth0
du routeur Spoke, raccordée via le cordon tap2
devient inutile dès que la configuration du
lien WAN est en place. Cette
interface est cependant nécessaire pour accéder à la console du
routeur Spoke et installer les paquets
manquants.