Tutoriels vidéos
Recent Articles
Home » réseaux IP »
Simuler un réseau WAN entre deux réseaux LAN
Simuler un réseau WAN entre deux réseaux LAN
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:
1
|
sudo aptitude install bridge-utils
|
Il faut ensuite éditer le fichier de configuration /etc/network/interfaces de la manière suivante:
auto loiface lo inet loopbackiface eth0 inet manualiface eth1 inet manualauto br0iface br0 inet dhcpbridge_ports eth0 eth1
Puis on fait prendre en compte cette configuration par le système:
1
|
sudo /etc/init.d/networking restart
|
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.
wansimul.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#!/bin/bash
#
# simulwan-bridge.sh
# Nicolargo - 2012
#
##############################################################################
# Nom des interfaces ou l'on doit faire les simulations
# eth0 cote LAN local
# eth1 cote LAN distant
IF=eth1
# Liaison sortante (UPLOAD) a appliquer sur IF
# Debit sortant
BWU=8mbit
# Délai de transit sortant
DELAYU=15ms
# % de paquets perdus sortant
LOSSU=0.0001%
# Liaison entrante (DOWNLOAD) a appliquer sur IF
# Debit entrant
BWD=1mbit
# Délai de transit entrant
DELAYD=15ms
# % de paquets perdus entrant
LOSSD=0.00001%
##############################################################################
start() {
modprobe ifb
ip link set dev ifb0 up
tc qdisc add dev $IF ingress
tc filter add dev $IF parent ffff: \
protocol ip u32 match u32 0 0 flowid 1:1 \
action mirred egress redirect dev ifb0
# Liaison entrante
tc qdisc add dev ifb0 root handle 1:0 \
netem delay $DELAYD 10ms distribution normal \
loss $LOSSD 25%
tc qdisc add dev ifb0 parent 1:1 handle 10: \
tbf rate $BWD buffer 3200 limit 6000
# Liaison sortante
tc qdisc add dev $IF root handle 2:0 \
netem delay $DELAYU 10ms distribution normal \
loss $LOSSU 25%
tc qdisc add dev $IF parent 2:1 handle 10: \
tbf rate $BWU buffer 3200 limit 6000
}
stop() {
tc qdisc del dev ifb0 root
tc qdisc del dev $IF root
# ip link set dev ifb0 down
}
restart() {
stop
sleep 1
start
}
show() {
echo "Liaison entrante"
tc -s qdisc ls dev ifb0
echo "Liaison sortante"
tc -s qdisc ls dev $IF
}
case "$1" in
start)
echo -n "Starting WAN simul: "
start
echo "done"
;;
stop)
echo -n "Stopping WAN simul: "
stop
echo "done"
;;
restart)
echo -n "Restarting WAN simul: "
restart
echo "done"
;;
show)
echo "WAN simul status for $IF:"
show
echo ""
;;
*)
echo "Usage: $0 {start|stop|restart|show}"
;;
esac
exit 0
|
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:
1
2
|
sudo wget -O /etc/init.d/simulwan.sh https://raw.github.com/nicolargo/simulwan/master/simulwan-bridge.sh
sudo chmod a+x /etc/init.d/simulwan.sh
|
Pour lancer le simulateur WAN:
1
|
sudo /etc/init.d/simulwan.sh start
|
Pour arrêter le simulateur WAN:
1
|
sudo /etc/init.d/simulwan.sh stop
|
Pour avoir un état des interfaces:
1
|
sudo /etc/init.d/simulwan.sh show
|
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.
Posted in
linux
,
réseaux IP
Related posts:
Si vous avez apprécié cet article , abonnez-vous pour recevoir plus grand contenu tout comme il
Vidéos similaires
Messages populaires
-
Installation pas à pas de Nagios Trêve de blabla, entrons directement dans le vif du sujet avec l'installation d...
-
Si vous souhaitez scanner une plage d’adresse IP sur votre réseau afin de vérifier la disponibilité d’une ou plusieurs...
-
Installation de Cacti sous Debian Les systèmes informatiques d'entreprise associent une diversité de services proposés (rout...
-
C’est quoi le DFS ? I. Présentation Ce premier article a pour but d’expliquer ce qu’est le DFS, accessible dans u...
-
Qu’est-ce que le NAT ? Commençons par la signification du NAT, Network Address Translation (en Français Translation d’Adresse Réseau)...
-
Création d’une règle de pare-feu avec un Fortigate I. Présentation Après avoir découvert ce qu’est un Fortinet dans un premier ...
-
Active Directory I. L’Active Directory L’Active Directory est un annuaire LDAP pour les systèmes d’exploitation Windows, l...
-
IPerf: des exemples… Nous commençons l'année 2008 avec un billet regroupant des exemples d'utilisation d'IPerf, l'...
-
Comment exécuter un script PowerShell Dans l’article comment installer et vérifier le bon fonctionnement de PowerShell , nous av...
-
Routage RIP Définitions Avant de parler de routage RIP, il faut que j’explique qu’est-ce qu’un routeur et quel est son but. Le ...
pobular post
Fourni par Blogger.
Recent Stories
CONNECTER AVEC FACEBOOK
Sponsors
Chercher
Archives
Contactez Moi
Blog Archives
-
▼
2016
(73)
-
▼
mars
(29)
-
▼
mars 01
(8)
- Simuler un réseau WAN entre deux réseaux LAN
- Installation pas à pas de Xen sous Debian
- Configuration d'un serveur dédié de A à Z
- Serveur DHCP sous Linux
- la mise en place de MDT pour réaliser des déploiem...
- Windows Server 2012 : Activer l’interface graphiqu...
- Basculer entre les modes Graphique et Core sur Win...
- Configurer pas-à-pas un Windows 2008 en version CORE
-
▼
mars 01
(8)
-
▼
mars
(29)
Recent Comments
Contactez Moi
0 commentaires pour ce poste
Leave a reply