Level:   Fortgeschrittene
 
Recht häufig möchte man in der Designphase eines WAN die „user experience“ testen anstatt den Versprechungen der Produkthersteller blind zu vertrauen.
Kommerzielle WAN-Emulatoren liegen selbst als Softwarelösung noch im Bereich von knapp 5000€.
 
Da wir mit der kommerziellen Software unter XP Schwierigkeiten bei der Installation hatten, griffen wir auf NETEM zurück.
Das klappte problemlos unter Knoppix auf einem PC mit zwei Netzwerkkarten.
Netem unterstützt keine Beschränkung der Bandbreite. Dies läßt sich recht einfach bewerkstelligen - siehe das LARTC Howto.
 
Im folgenden Beispiel wird der WAN Emulator als Bridge eingesetzt, also ohne Layer3 Routing. Grund dafür war, daß eine Rechenzentrumskopplung auf Layer2 simuliert werden sollte.
 
Die Simulation von Layer 2 Ethernet WAN Verbindungen hat seit den Ende 2006 von mir durchgeführten Test weitere Relevanz erhalten: Telco Provider wie Colt bieten mittlerweile nationale und internationale Ethernetverbindungen an. Diese können mit der beschriebenen Methode realistisch emuliert werden.
 
Script zum aktivieren unter Knoppix:
 
brctl addbr goldengate
brctl addif goldengate eth0
brctl addif goldengate eth1
ip link set up dev goldengate
ip link set up dev eth0
ip link set up dev eth1
ip link show
brctl showmacs goldengate
 
tc qdisc add dev eth0 root handle 1:0 netem delay 27ms
tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 1000kbit buffer 16000 limit 30000
 
tc qdisc add dev eth1 root handle 2:0 netem delay 27ms
tc qdisc add dev eth1 parent 2:1 handle 20: tbf rate 1000kbit buffer 16000 limit 30000
 
tc -s qdisc ls dev eth0
tc -s qdisc ls dev eth1
 
 
Ausschalten über:
 
 
tc qdisc del dev eth0 root handle 1:0
 
tc qdisc del dev eth1 root handle 2:0
 
tc -s qdisc ls dev eth0
tc -s qdisc ls dev eth1
 
 
Nachtrag: In der c‘t 13/2008 wurde mit „WANEM“ ein schönes Frontend zur WAN Emulation vorgestellt. In Artikel wurde der Emulator als Router betrieben.
 
Last revised Oct 15th 2008
27. April 2008
WAN-Emulation mit Linux
WAN Emulation mit Linux