Simuler un réseau WAN entre deux réseaux LAN

Date: 20/06/2012 | Catégories: Open-source,Planet-libre,Reseau | Tags: ,,,

A partir de sa version 2.6, le noyau Linux dispose d'une fonction permettant de simuler certaines caractéristiques comme un délais de transit, une perte de paquets ou même un débit maximal sur une simple interface réseau locale. J'avais déjà parlé de ce sujet il y a quelques temps pour simuler une liaison WAN entre une machine et son réseau. Suite à une question d'un lecteur, voici un billet dans lequel nous allons mettre en place un simulateur de liaison WAN entre deux réseaux LAN. Cette infrastructure pourra être utile à toutes personnes devant valider sur table une architecture inter-site.

De quoi avons nous besoin ?

Pour bâtir cette infrastructure, nous avons besoins de deux réseaux LAN (mais deux PC peuvent suffirent) et d'une machine GNU/Linux disposant de deux interfaces réseaux permettant de faire un pont entre ces deux LAN. Le choix d'une architecture en pont (bridgé) permet d'insérer facilement le simulateur dans une architecture réseau existante.

 

Configuration du bridge

Personnellement, j'ai utilisé une distribution GNU/Linux Debian Squeeze pour mettre en place le simulateur. Mais toutes les distributions GNU/Linux avec une version de Kernel >= 2.6 peuvent faire l'affaire.

Après une installation standard du système d'exploitation Debian, il faut ajouter le paquet bridge-utils pour permettre à ce dernier de créer le pont entre les deux interfaces réseaux:

Il faut ensuite éditer le fichier de configuration /etc/network/interfaces de la manière suivante:

auto lo

iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

auto br0

iface br0 inet dhcp

bridge_ports eth0 eth1

Puis on fait prendre en compte cette configuration par le système:

Note: il faut attendre une trentaine de seconde lors de l'initialisation.

On vient donc de créer une nouvelle interface virtuelle (br0) qui fait un pont entre les deux interfaces physiques (eth0 et eth1).

Si vous connectez en l'état le simulateur entre vos deux LAN, tout le trafic transitera de manière transparente à la vitesse maximale de vos interfaces eth0 et eth1.

Configuration du simulateur

On passe maintenant à la partie intéressante de ce billet: comment simuler un lien WAN à partir de notre simulateur.

Vous allez voir que c'est relativement simple. Nous allons utiliser un script de configuration automatique qui va activer / désactiver le simulateur à la demande. Les caractéristiques du WAN à simuler seront codées en dur dans la section configuration du script. A vous de l'adapter à vos besoins.

Voici le script en question (également disponible sur mon GitHub):

Par défaut, le script simule une liaison WAN de type ADSL (8 Mbps en download et 1 Mbps en upload avec un délais de transit de 30ms en aller/retour et un taux de perte de 10^-4).

Pour l'installer, il suffit de saisir les commandes suivantes:

Pour lancer le simulateur WAN:

Pour arrêter le simulateur WAN:

Pour avoir un état des interfaces:

Conclusion

Vous venez donc à moindre coût de mettre en place une architecture permettant de simuler des liaisons WAN. Le PC sur lequel se base votre simulateur n'a pas besoin d'être une bête de course et vous pouvez donc facilement récupérer du vieux matériel pour mettre en place ce système.

 

 

 

  • Vraiment sympa comme tuto,
    Je vais m’en servir pour faire des simu avec snort 😉

    • Dakiri

      De mon côté on l’utilise pour évaluer les SLA cisco par contre connais tu une piste pour simuler la gigue ?

      • Si tu lis bien le premier article que j’avais écrit sur le sujet, tu trouveras une option pour simuler une variation du délais de transit des paquets (donc une gigue).

        Sur un réseau non chargé la gigue doit être nulle (ou proche de 0 selon les infrastructures traversées). Le plus représentatif pour simuler une gigue est souvent de limiter le débit et de mettre un délais de transit avec le simulateur et de charger cette liaison avec un utilitaire comme Iperf puis enfin de tester ton application en parallèle.

        L’article en question:
        http://blog.nicolargo.com/2009/03/simuler-un-lien-wan-sous-linux.html

  • Bonjour,

    C’est complètement HS (désolé), mais quel logiciel utilisez vous pour Dessiner le schéma réseau de cette article ?
    Et utilisez vous un pack d’objet particulier ?

    Car je cherche un logiciel gratuit qui puisse faire des schémas avec des éléments informatique dans un look actuel.

    J’ai essayé DIA qui permet pas mal de chose mais qui a une bibliothèque d’élément assez vieillot et je ne trouve pas de bibliothèque qui donne un rendu satisfaisant.

    Cordialement,

    • Ce n’est pas du tout hors sujet 🙂

      J’utilise un service en ligne qui s’appelle Lovely Charts (http://my.lovelycharts.com/). J’ai vraiment essayé de me mettre à Dia mais mes habitudes prises sous Visio (que je continue d’utiliser à mon boulot) sont dures à oublier…

      • Merci beaucoup,

        Se service en ligne et vraiment sympa.
        Dommage qu’il en existe pas une version utilisable OFF line. 🙂

  • Pingback: Simuler un réseau WAN entre deux réseaux LAN | Actualités de l'open source | Scoop.it()

  • Bonjour,

    Merci pour cet article, j’avais justement besoin de simuler ce genre de chose 🙂
    Par contre ton syntax highlighter ne semble pas bien gérer les retours à la ligne ;).

    Bye.

    • Effectivement… 🙂 (c’est corrigé)

  • Nekikoul

    Très intéressant, merci.

    J’ai longtemps cherché à simuler un WAN et j’avais utilisé WANem (http://wanem.sourceforge.net/) une distrib live permettant de modifier une foule de paramètre.

  • Trackin64

    Personnellement pour faire ce genre de choses, j’utilise trickle http://linux.die.net/man/1/trickle.

  • Article bien sympa, ayant l’habitude de bosser plutôt sous gns3 pour simuler des architectures je trouve cette solution intéressante et moins bouffe ressource pour certains tests, merci ^^

  • DrGkill

    Une distro linux est faite pour ce genre de chose: WANEM. Elle embarque des interfaces préconfigurées pour le bridge et permet de simuler de la bande passante, du jitter et autres phénomènes des réseaux WAN.

    Juste super : http://wanem.sourceforge.net/download.html