En entornos de laboratorio, muchas veces será necesario realizar pruebas en condiciones que reproducen las latencias de un entorno productivo y de sus sedes remotas.
Una herramienta utilizada para ello, solía ser Vyatta actualmente desaparecida tras ser comprada por Brocade y convertida en un producto comercial. Actualmente disponemos de VyOs un fork de Vyatta. Pero disponemos de otras opciones.
En mi caso, dispongo de un entorno de laboratorio en una subred y un enrutador basado en Debian que enlaza la red de producción y de laboratorio mediante IP Forwarding.
Teniendo en cuenta esto, como puedo añadir latencia a dicha red? La respuesta es muy sencilla: TC (http://lartc.org/manpages/tc.txt)
Nuestro enrutador dispone de dos patas, una a la red productiva y otra a la subred de laboratorio. Para añadir latencia sobre estas redes podemos ejecutar:
tc qdisc add dev eth0 root netem delay 1000ms
tc qdisc add dev eth1 root netem delay 1000ms
Para volver al estado incial, utilizaremos:
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root
Podemos también añadir ciertas variaciones de latencia, para ello ejecutaremos la primera sentencia con un segundo argumento de variación. Por ejemplo:
tc qdisc add dev eth0 root netem delay 1000ms 500ms
Alé, a disfrutar con las pruebas 😉
Leave a Reply