Mon 30 Aug

CCDA passed!

Esta mañana he aprobado el examen de certificación CCDA (Cisco Certified Design Associate).

Yeah!! ;)

No ha sido un examen nada fácil. Preguntas muy rebuscadas y nada claras en ocasiones. Lo definiría como un examen incómodo.

No ha habido ningún lab, ni de troubleshooting ni de ningún otro tipo. La mayoría de preguntas eran referentes al tema principal de la certificación, el diseño y arquitectura de red, pero también se han tratado otros temas como de VoIp (codecs, QoS...), subnetting/summarizing, WiFi (WLC, LWAPP...) y sobre todo seguridad.

El material de estudio que he utilizado:

La verdad es que ha sido al certificación que menos me ha gustado de las que he hecho hasta ahora, demasiado teórica en mi opinión, con lo que se hace más dura de estudiar.

Pero bueno, otro examen aprobado, y esta certificación me abre las puertas para encarar el CCDP, que eso ya mola más!

Seguimos, y no paramos!!

;)


Fri 30 Jul

TSHOOT aprobado, CCNP done!

Buenas,

Hoy he aprobado el examen TSHOOT del CCNP. El último que me quedaba para terminar la certificación CCNP. Ya la tengo!!

Ha sido un examen eminentemente práctico, con solo 3 preguntas de tipo test y con 12 tickets de troubleshooting, que excepto alguno un poco rebuscado, han sido bastante asequibles.

Ahora ha descansar un poco, que también viene bien, y en breve a pensar con que seguir! ;-)

Gracias a todos por los ánimos y felicitaciones que he recibido.

Nos vemos!!


Mon 19 Jul

Lab CCNP TSHOOT - IPv6

Hoy veremos la simulación del entorno de routing IPv6 propuesto en el examen TSHHOT del nuevo CCNP.

He hecho algunas modificaciones al esquema "original" añadiendo BGP, para mostraros como configurar el peering entre 2 ASs distintos, sobre IPv6.

Como posteriormente veremos en los videos, la estructura que se plantea, es un entorno IPv6, en el que participan RIPng, OSPFv3 y BGP.

Como curiosidad, hay una parte de la red que solamente tiene soporte nativo de IPv4, y la redistribución de rutas IPv6, se realizará a través de un túnel GRE.

El esquema de red propuesto:

CCNP TSHOOT-IPv6

Primera parte:

Segunda parte:

Son bienvenidas las críticas a este primer screencast con tal de hacerlo mejor la próxima vez.

Yo me pongo el primer fallo: digo como 300 mil veces "vale". Me lo apunto ;-)

Saludos y comentad !!

Inicios en el screencasting

Siguiendo con las ganas de darle más vida al Blog, tengo intención de añadir una nuevo tipo de contenido en formato video, screencasts.

Mi intención es utilizar los screencasts para los casos en los que los posts quedarían muy largos si fuesen unicamente texto. Además de eso el video ofrece más flexibilidad que el lenguaje escrito y no olvidemos que a veces está bien sentarse y que nos cuenten algo interesante, y no tener que hacer "el esfuerzo" en un artículo largo y duro de leer.

Es la primera vez que hago esto así que se aceptan críticas por supuesto!

Principalmente serán labs de GNS3, en los que se tratarán topologías emulando entornos reales y que pueden resultar interesantes para la obtención de certificaciones de Cisco.

Nos vemos!


Mon 12 Jul

CCNP TSHOOT in progress

Vuelvo a la carga después de estar un tiempo offline por temas de la Uni y tal...

Ya solo me queda un examen para terminar la certificación CCNP de Cisco, el TSHOOT (troubleshooting).

Este examen corresponde a la nueva revisión del CCNP 6.0 que ya comentamos en posts anteriores. Este examen engloba los conocimientos adquiridos en las certificaciones ROUTE (BSCI) y SWITCH (BCMSN) sumando algo más.

En este caso no es un examen tan teórico como suelen ser los examens escritos de CIsco, que suelen ser muchos tests y 3 o 4 labs. En este caso solo hay un 10% de preguntas teóricas y un 90% de prácticas. De hecho, las práticas son tickets (incidencias) emulando una situación más  o menos real.

El material que estoy utilizando para estudiar es:


Eso si, por mucho que te meriendes 5 libros o 10, no lo apruebas memorizando comandos como un loro. En este examen se examina la soltura en resolver problemas de networking, en un corto periodo de tiempo y en un entorno un poco hostil (los que habéis hecho este tipo de examenes sabréis de lo que hablo).

A continuación os muestro el entorno en el que se trabajará en el examen. Es curioso que cisco lo haya liberado...

Lo componen 3 topologías:


Topolgía dedicada a routing IPv4, con BGP, OSPF, EIGRP, NAT, inter-vlan routing...


Topología IPv6 con OSPFv3, RIPng, GRE tunneling...

 

Y por último el esquema dedicado a switching. Mucho STP, HSRP, Etherchannel, inter-vlan routing...


Tiene pinta que será un examen bonito. Ya os contaré las experiencias.

Por cierto, si alguién está interesado en material de estudio en PDF que se ponga en contacto conmigo vía e-mail, y estaré encantado en ayudarle.

Happy networking!!!

;-)


Sat 20 Mar

Túneles Cisco-Linux

Esta vez veremos cómo tirar un tunel entre un equipo Linux y un router Cisco. En ocasiones nos encontramos en entornos heterogeneos en el que los dos extremos no son iguales (Cisco-Cisco, Linux-Linux).

En este caso veremos como establecer un túnel GRE y otro IPIP entre un router Cisco con Ip pública y un servidor Linux con Ip pública también. Posteriormente veremos el caso en el que el extremo Linux esté detrás de NAT. Recordad que estos 2 protocolos sólo ofrecen encapsulación, y no seguridad así que tenedlo en cuenta a la hora de utilizarlo y hacedlo únicamente en casos en que la seguridad no sea vital. Recordad también que estos protocolos son protocolos de nivel de red, nivel 3.

Túnel GRE Cisco-Linux

Para configurar un túnel GRE (Protocolo 47, RFC 2784), en la parte del router Cisco:

inteface tunnel 0
  ip address 192.168.11.1 255.255.255.0
  tunnel source vlan 1
  tunnel destination ip_publica_linux

Con esto:

  • Definimos la interfaz virtual tunnel 0
  • Configuramos la ip 192.168.11.1/24 en esa interfaz
  • Definimos desde qué interfaz se genera el túnel (ip origen del túnel)
  • Definimos el destino del túnel (otro extremo)

En la parte del servidor Linux:

ip tunnel add mygre mode gre remote ip_publica_cisco local ip_origen_tunel ttl 255
ifconfig mygre up
ifconfig mygre 192.168.11.2 netmask 255.255.255.0

Con esto:
  • Creamos la interfaz mygre, contra la Ip pública Cisco
  • Levantamos la interfaz
  • Seteamos la ip 192.168.11.2/24

Y listo, ya deberíamos poder pingar desde nuestro router Cisco, al servidor Linux vía el túnel, without NAT.

Vale, en este ejemplo los dos equipos tienen Ip pública pero, ¿Qué pasa si el equipo Linux está detrás de NAT?

El objetivo es natear el protocolo GRE en el gateway del equipo Linux hacia dentro, para que el router Cisco al lanzar el túnel hacía la Ip pública del equipo Linux, no se quede en el router y llegue hasta donde tiene que llegar.
Si tenemos un router usable, (más allá de un Zixel de Telefónica) lo podremos hacer facilmente. En nuestro caso lo haremos con Iptables, ya que es otro Linux el que da la cara a Internet.

Para ello:

iptables -t nat -A PREROUTING -p 47  -j DNAT --to 192.168.99.2
o
iptables -t nat -A PREROUTING -p GRE  -j DNAT --to 192.168.99.2

Con esto, nateamos el protocolo 47 o GRE hacia la IP 192.168.99.2.

En el equipo 192.168.99.2 seguiremos el mismo proceso para crear el túnel que se ha explicado más arriba.

Tunel IPIP Cisco-Linux

En el caso que deseamos un túnel IPIP (Protocolo 4, RFC 2003), en la parte del router Cisco:

inteface tunnel 0
  ip address 192.168.12.1 255.255.255.0
  tunnel source vlan 1
  tunnel destination ip_publica_linux
  tunnel mode ipip

Como podemos observar, lo único que cambia es el modo del túnel.

En la parte Linux:
ip tunnel add myipip mode ipip remote ip_publica_cisco local ip_origen_tunel ttl 255
ifconfig myipip up
ifconfig myipip 192.168.12.2 netmask 255.255.255.0


En el caso de estar detrás de nat, no he conseguido establecer el túnel en modo IPIP, pero debería ser tan sencillo como reenviar el protocolo 4 con iptables.

iptables -t nat -A PREROUTING -p 4  -j DNAT --to 192.168.99.2

Habrá algo que se me escapa. Si alguién sabe/lo ha intentado, que lo comente!!



Pués ya veís, super sencillo unir dos redes entre un Cisco y Linux en 5 mins!

A disfrutar!

Fri 12 Feb

Jugando con IPv6

Hoy veremos como dotar a nuestro equipo de capacidades IPv6, para por ejemplo, acceder a a la web http://ipv6.google.com, que no es más que la página del buscador Google, pero sobre IPv6 en vez de http://www.google.com, que está sobre IPv4. 

Para ello, primeramente configuraremos nuestro equipo, y posteriormente haremos que nuestra LAN también pueda acceder a IPv6, a través de nosotros.

Configurando tunel IPv6

Para poder acceder a un sitio sobre IPv6, deberemos servirnos de un broker, el cual está conectado, digamos al backbone de IPv6. Para llegar a él deberemos tirar un tunel contra él, y él nos enrrutará los paquetes hacia los destinos IPv6, para después devolvérnoslo de nuevo por el túnel.

Existen muchos brokers en Internet, pero en mi caso he utilizado http://tunnelbroker.net (Hurricane Electric). Los pasos son muy sencillos. Lo primero es registrarse y solicitar un túnel. Después nos mostrará configuraciones para diferentes SO y fabricantes.

En el caso de Linux:

modprobe ipv6
ip tunnel add tunelin mode sit remote 216.66.80.26 local 62.99.77.6 ttl 255
ip link set tunelin up
ip addr add 2001:470:1f08:798::2/64 dev tunelin
ip route add ::/0 dev tunelin
ip -f inet6 addr

 

  • Cargamos el módulo de IPv6 ( si es que no lo tenemos cargado, o integrado en el kernel)
  • Creamos la interfaz "tunelin", contra la ip 216.66.80.26 (dirección IPv4 broker) e indicamos nuestra ip, 62.99.77.6 (en caso de estár detrás de NAT, aquí pondremos nuestra ip privada, por ejemplo 10.10.0.5)
  • Levantamos la interfaz
  • Seteamos la ip 2001:470:1f08:798::2/64 a nuestro túnel, el otro extremo tendrá la 2001:470:1f08:798::1/64
  • Nuestra ruta por defecto para todo el tráfico IPv6, será la interfaz tunelin (en realidad, será el otro extremo del túnel)
Si hasta este punto hemos hecho todo correctamente, deberiamos ver lo siguiente:


miki:~# ifconfig tunelin
tunelin   Link encap:IPv6-in-IPv4  
          inet6 addr: 2001:470:1f08:798::2/64 Scope:Global
          inet6 addr: fe80::a0a:5/128 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
          RX packets:3636 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3823 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3023388 (2.8 MiB)  TX bytes:613205 (598.8 KiB)



Y si intentamos hacer ping a ipv6.google.com deberíamos ver:


miki:~# ping6 ipv6.google.com
PING ipv6.google.com(2a00:1450:8001::6a) 56 data bytes
64 bytes from 2a00:1450:8001::6a: icmp_seq=1 ttl=56 time=84.5 ms
64 bytes from 2a00:1450:8001::6a: icmp_seq=2 ttl=56 time=84.1 ms
64 bytes from 2a00:1450:8001::6a: icmp_seq=3 ttl=56 time=84.8 ms
64 bytes from 2a00:1450:8001::6a: icmp_seq=4 ttl=56 time=98.0 ms

--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 84.103/87.885/98.016/5.866 ms


Dar acceso IPv6 a nuestra LAN

IPv6 tiene la capacidad de autoconfiguración, esto es, es capaz de asignarse una IP en base a su MAC y un prefijo IPv6.

Para que nuestros equipos de la LAN, tienen que saber que prefijo IPv6 deben utilizar para auto-configurarse una ip.

En nuestro caso, el prefijo será  2001:470:1f09:798:: 

Para anunciar este prefijo a los clientes, utilizaremos el demonio RADVD (Router Advertisement Daemon) en un sistema Linux.

Instalamos el demonio con apt-get install radvd. El fichero de configuración es /etc/radvd.conf y quedaría de la siguiente manera:

interface eth0
{
   AdvSendAdvert on;
   prefix 2001:470:1f09:798::/64
   {
   };
}; 

 

Los clientes, al escuchar este prefijo, se auto-configurarán con una ip IPv6, concateanando el prefijo con  su MAC (en medio de la MAC se intercalaŕa FFFE).

Ejemplo: Mi interfaz ETH0 tiene la MAC 00:1d:7d:9f:13:cf y una dirección IPv6 2001:470:1f09:798:21d:7dff:fe9f:13cf/64 ya que radvd anuncia el prefijo  2001:470:1f09:798::

De nuevo, para verificar la conectividad, podemos verificarlo haciendo un ping a ipv6.google.com desde los clientes de nuestra LAN, o poniendo en un navegador http://ipv6.google.com. En el caso de que los clientes sean Linux con soporte nativo dew IPv6 y o sean Windows Vista, no hay que hacer nada más para que estos clientes slagan por IPv6, se configura automagicamente todo, gracias a los mensajes RA (Router Advertisement) de los que reciben el prefijo de nuestro bloque IPv6

Debemos de tener en cuenta, que para que haya comunicación desde el exterior, y si no tenemos la ip pública en el host que tira el túnel, debemos hacer un passthrough del protocol IP 41. Muchos routers domesticos no permiten esto, pero si tienen una opción de default server o DMZ host, al cual mandan todo el tarfico, y esa opción nos valdría. 

En el caso de querer lanzar un túnel que esté detras de un PfSense, existe una opción en "System/Advanced/NAT 41 IP protocol"  en la que podemos especificar la ip privada del equipo que está lanzando el túnel, posibilitando así la comunicación IPv6 desde l exterior, tanto a ese host como al resto de los hosts de la LAN que  tengan habilitado IPv6.

Para verificar la conectividad desde el exterior, podemos utilizar esta herramienta http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php desde la que podremos hacer un ping y confirmar que todo está OK.

Gracce mile!!   ;)

 


Wed 3 Feb

BCMSN aprobado!!!

Hoy he aprobado el segundo de examen del CCNP, el BCMSN dedicado a switching. Muchas preguntas de QOS (COS/DSCP) y Wirelles y un par de laboratorios, uno facilillo y otro bastante jodido IMHO de MST + HSRP.

Al venir el nuevo CCNP V.6, los examenes necesarios serán SWITCH, ROUTE y THSOOT. En mi caso el BSCI y BCMSN "convalidan" los examene ROUTE y SWITCH a si que solo me quedaría un examen para obtener al certificación. Este examen lo afrontaré en el mes de Agosto/Septiembre, esperemos que salga bien!! ;) Se podŕia decir que tengo 2/3 del CCNP.

En general me ha parecido un temario interesante, pero quizás menos "divertido" que el routing. Es que... el routing es routing...

Gracias!!! ;)

PD: Más contento que un pan!

PD2: Conclusión importante: Un switch es mucho más que un "roba-cables" de red xD

 


Mon 25 Jan

CCNP in progress...

Ultimamente no estoy escribiendo nada, ya que tengo el examen BCMSN apunto de caramelo, y la verdad es que ando bastante enfrascado en el tema.

A ver si me lo quito de encima ya y me queda uno menos hacia la certificación CCNP. Tengo preparados algunos posts interesantes...

Saludos!! 

 

;)


Tue 12 Jan

Publicada Beta Pfsense 2.0

PfSense, una distribución basada en FreeBSd para ser usada como firewall, ha liberado la versión Beta de su versión 2.0

Esta versión promete muchas mejoras, tanto de interface como de features, frente a la serie 1.2.x. 

La verdad es que personalmente, me parece una distribución realmente potente a nivel de networking, esas en las que realmente no tienes que bajar a la linea de comando si realmente no quieres, ya que desde la web se puede hacer prácticamente todo. Esto también se agradece a la hora de hacer los backups de la configuración (XML), que por cierto funciona muy bién su recuperación, ya que a la hora de volcar la configuración en una instalación base, tendremos nuestro firewall funcionando en pocos minutos (comprobado personalmente). Me dan rabia los frontends o interfaces gráficas en las que solo puedes hacer lo "básico", y luego tienes que hacer guarro-hacks para hacer cosas que se salen de lo común, y más aún para que los scripts de las interfaces graficas no lo sobrescriban los cambios que has hecho manualmente. 

Lo dicho, una distribución para firewalling (ademas de proxy Web, configurable en cluster HA, Load Balancing, VLAN, Qos...) muy recomendada, de la que esperemos que esta versión 2.0, siga en la linea de la estabilidad, usabilidad y funcionabilidad que caracterizaban a sus antcesores.

Thanks Pfsense´s team!!

Links de interés:
http://www.pfsense.com/screenshots/ (son de la versión 1.2.x)
http://blog.pfsense.org/
http://www.pfsense.org/
Next → Page 1 of 2