Pruebas de estres en interfaces de red con Tcpreplay

Estándar

imagesHoy veremos como testear una interfaz de red para ver si funcionamiento es el correcto. Para ello utilizaremos tcpreplay, que es bastante facil de instalar y usar.

Le inyectaremos trafico previamente capturado en un .pcap

Así que vamos a ello con este pequeño lab:

# Instalamos los paquetes con sus dependencias necesarias

 yum install libpcap-devel
 1010  yum install gcc

# Descargamos y descomprimimos el tcpreplay

 wget https://github.com/appneta/tcpreplay/releases/download/v4.1.1/tcpreplay-4.1.1.tar.gz
 tar xvf tcpreplay-4.1.1.tar.gz
 cd tcpreplay-4.1.1/

# Compilamos

 ./configure
 make
 make test
 install

# Nos descargamos un .pcap (aunque podemos usar uno propio)

 wget https://s3.amazonaws.com/tcpreplay-pcap-files/bigFlows.pcap

# Si usas kernel 2.4.x o 2.6.x configura el buffer:

 echo 524287 >/proc/sys/net/core/wmem_default
 echo 524287 >/proc/sys/net/core/wmem_max
 echo 524287 >/proc/sys/net/core/rmem_max
 echo 524287 >/proc/sys/net/core/rmem_default

Por último lanza el test de estres

tcpreplay –topspeed –loop=200000 –intf1=eth5 bigFlows.pcap

Puedes comprobar como va funcionando a traves del nload para ello utiliza:

yum install nload
nload

Y poco más espero que os sirva.

Mostrar contenedores de Docker sin indicar sus puertos.

Estándar

docker-lego-whaleUn pequeño inconveniente a la hora de usar Docker es que las personas que quieran visualizar la aplicación (mediante navegador web) necesitan indicar el puerto haciendolo un poco “engorroso”.
Es por ello que vamos a ver como poder hacer esto usando VirtualHosts de Apache junto a ProxyPass.

Problema:

Suponemos que tenemos dos contenedores de docker corriendo un simple Apache, ambos contenedores localmente atienden en el puerto 80,
pero la maquina que se comunica con el exterior y la que nos atiende las peticiones está escuchando esos contenedores en el 20001 y 20002 es decir:

20001 –> 80 (ContainerApache1)
20002 –> 80 (ContainerApache2)

Nosotros para poder visualizar esos contenedores tendiamos que utilizar:

http://dominio.com:20001 y http://dominio.com:20002

Y para hacerlo más comodo podriamos hacer:

http://docker1.dominio.com y http://docker2.dominio.com
o
http://dominio1.com y http://dominio2.com

Solución:

Seguir leyendo

Instalación y gestión de Docker (I)

Estándar

docker-100388953-origLos  LXC o LinuX Containers se está poniendo de moda, y es un hecho que se refleja cada día mas.

Aunque hace ya tiempo que existe esta tecnología su gestión no era sencilla, y no ha sido hasta el proyecto opensource de Docker cuando de verdad ha salido a flote toda esta tecnología. Y  es  que es muy fácil con docker-engine poder virtualizar en cualquier sistema operativo cualquier aplicación que queramos desplegar.

Es por ello que a lo largo de estas semanas escriba unas pequeñas guiás de como usar e integrar Docker, como gestionar los contenedores, monitorización sobre el mismo y de la red junto con almacenamiento avanzado.

Así pues vamos manos a la obra:

1- Lo primero que haremos será comprobar nuestra versión del kernel, ya que puede haber incompatibilidades si usamos un kernel inferior a 3.10.

root@DockerNode:~# uname -r
3.13.0-24-generic

2- Importamos la clave GPG:

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 
--recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Seguir Leyendo.