Vídeos y cursos online de redes

Los compañeros del CCIE Blog Initial Draft han decidido dar el salto y crear un sitio de formación en IT.

Como es natural (siendo gente de Networking) han comenzado con las certificaciones de Cisco (CCNP, CCNP SP, etc) y Juniper (JNCIA, JNCIS y JNCIP), aunque su intención es expandir a otros fabricantes y áreas como seguridad, voz, Linux, Windows, etc.

Los vídeos tienen un toque distinto a los de otros fabricantes que los hacen muy interesantes:

- Divididos en temas específicos
- Como están divididos por temas específicos son fáciles de referenciar.
- La parte teórica y la practica (configuración y verificación) están divididos en dos. Por lo que se hace muy fácil estudiar múltiples fabricantes/
- Cada vídeo tiene su propia sección para preguntas y respuestas.

Sin olvidar que han comenzado haciéndolos en Castellano. La versión en ingles también esta próxima a salir.

En el canal de youtube tienen algunos de ellos:

http://www.youtube.com/user/networkfaculty

Hoy en día los cursos que tienen son los siguientes:
Curso CCNP ROUTE
Curso CCNP SP SPROUTE
Curso CCNP SP SPCORE
Curso JNCIA
Curso JNCIS-SP
Curso de JNCIP-SP

Pero irán creciendo, están agregando nuevos vídeos constantemente.

Les dejo aquí su facebook y Twitter

Disfrutad!

Posted in Uncategorized | Tagged , , , | Leave a comment

JNCIS-SEC passed!!

Ayer aprobé el ultimo examen del 2011, in extremis jjj ;)

Se trata de la certificación de Juniper JNCIS-SEC, que esta dentro del programa Fast Track de Juinper, que ya os he hablado en otras ocasiones. Con este examen he terminado todos los examenes ofrecidos en el Fast Track :) .

Y porque in extremis ? Soy un poco especial con las fechas, y queria hacer este examen antes del inicio de 2012, ya que quiero que 2012 sea el año del CCIE. Es por eso que el tiempo total que he dedicado a esta certificación no ha llegado a 2 semanas, psycho_mode=on, eso si.

Como todos los examenes del programa Fast Track, he utilizado el temario proporcionado en la web del fabricante, pero ojo! este examen tiene dos partes. Lo advierto porque como un principiante, me di cuenta el dia anterior, ala una de la madrugada de que no me habia estudiado la segunda parte del temario (no muy grande, 70  hojas). Es por eso que al dia siguiente fui con algunas ojeras al trabajo, pero bueno, el examen no fue mal ;)

A la hora del estudio prestar especial atención a la sección de NAT (distintos tipos, modos de aplicarlo…), la parte de IPSEC y la famosa segunda parte del examen, dedicada a UTM.

Aqui os dejo los puntos tratados en el examen, bye!

Infrastructure Concepts

  • Security Zones
  • Configure security zones
  • Device Management
  • User accounts
  • System services

High Availability

  • HA Clustering
  • Active-active
  • Active-passive
  • Reth interfaces
  • Link aggregation
  • Control and data plane
  • Dual fabric links
  • Redundancy groups

Firewall Policies

  • Security Polices
  • Policy configuration
  • Advanced policy options
  • Schedulers
  • ALGs
  • Authorization
  • Bypass flow forwarding
  • Logging
  • Data and control plane logs
  • Forward logs to the RE
  • Send logs to external collectors
  • UTM
  • Anti-virus
  • Web filtering

IPSec VPNs

  • Implementation of IPSec VPNs
  • Multipoint tunnels
  • Policy and route-based VPNs
  • Traceoptions
  • Dual and backup tunnels
  • On-demand tunnels
  • DRP over a tunnel
  • Dynamic VPNs
  • Dialup VPNs
  • Certificate-based VPNs
  • PKI
  • Interoperability with 3rd party devices

NAT

  • Implementation of NAT
  • Source NAT
  • Destination NAT
  • Static NAT
  • Implementation of NAT with IPSec
  • Overlapping IPs between sites
  • IPS

Attack Prevention

  • IDP
  • Logs
  • Custom polices
  • Automatic updates
  • L3/L4/L7 DoS
  • Stateless filters
  • Screens
  • Flow options
  • App DDos

Extended Implementation Concepts

  • Transparent mode
  • Configure transparent mode

Posted in Uncategorized | Tagged , , | 2 Comments

QoS aprobado, CCIP done!!

El pasado viernes aprobé el último examen que me quedaba para terminar la certificacion CCIP, el QoS 642-642. Ueeeeeeeeeee !!

Siendo sincero me ha resultado un temario duro de estudiar, ya que en mi opinion era el examen menos interesante de los 4 que componen el CCIP. Muchos cálculos, números, tecnologías en ocasiones legacy… que al final pueden resultar un poco pesados, pero la verdad es que he aprendido bastantes cosas que realmente no tenia muy claras.

El material que he utilizado ha sido “Cisco QoS Exam Certification Guide (2nd edition)” de Wendell Odom, parte de Qos de Ipexpert CCIE VoD course y labs propios en GNS3.

De cara a los que estéis preparando el examen prestar especial atención a:

  • Tener muy claro la diferencia entre average y peak shaping
  • LFI y MLPP para Frame Relay y PPP respectivamente
  • Calculos de Bc/Be y Tc tanto para shaping como para policing
  • Equivalencias DSCP-IPPrec-ToS-CoS-Binario
  • DSCP/IPPrec/CoS aplicado segun las QoS Best Practices de Cisco

Con este examen he terminado todos los examenes de Cisco que pretendia hacer,de cara a la preparacion para LA CERTIFICACION.

PD: Acaso cambiarte de trabajo, país, ambiente y vida en general iba a suponer un descanso de estudio ? Nunca!! Hay mucho por aprender!

See you!

Posted in Uncategorized | Tagged , , | 6 Comments

A la nube Dublinesa!

Hoy hace poco mas de un año que llegué a Madrid, y hoy,  después de un año muy intenso, en unas horas cojo un avión para Dublin. Me mudo, nuevo país, nuevo trabajo, nuevo idioma, nuevas distancias de los seres queridos… pero con un proyecto apasionante!!

Y que me lleva a este país fresquito, nublado (nunca mejor dicho jjj) y verde ? Pues que va a ser… la pasión por lo que hago, el puñetero networking, que me encanta ;)

Después de un duro proceso y mucho esfuerzo durante todo este año, puedo decir que voy a poder tener la oportunidad de formar parte de los AS 39111 16509 y 14618 :) Voy con una ilusión que desborda cualquier buffer y siempre con el mismo objetivo, aprender, sonreír y hacer que los paquetes no dejen de fluir!

Quiero agradecer mucho el apoyo de mi familia y amigos, que creo que son los que mejor entienden este amor incondicional por esta mierda que nos engancha tanto.

En especial a @ioc32 por esta temporada con él en Madrid, por nuestra charlas y por ser tan buen amigo, a José y a Susana por su gran apoyo en esta aventura (y por lo que me van a aguantar de futuro compañero jj), a Oscar, por el apoyo y confianza este año en Madrid (gracias tío, ha sido un placer trabajar contigo), pero sobre todo a routing, por ser tan fuerte en esta época durilla para los dos pero que sabemos que todo irá bien, y sino ya sabes, haremos lo necesario para que así sea!! (Jose rulezzz)

Cada vez nos estamos esparciendo mas, pero la crew sigue unida, ya sea SIP, XMPP, SMTP o sucedáneos… we keep in touch!

Un abrazo gente!

Stay hungry, stay foolish

Posted in Uncategorized | Tagged , , | 7 Comments

IS-IS

No solo de OSPF y RIP vive el hombre en el mundo de los IGPs, así que hoy tocaba jugar un poco con IS-IS (Intermediate System – Intermediate System).

IS-IS es un protocolo de routing interior muy parecido a OSPF, que es utilizado principalmente por ISPs que manejan redes de un gran tamaño.

Algunas cosas en común entre OSPF e IS-IS:

  • Protocolo de estado enlace
  • Algoritmo SPF
  • Protocolo de routing jerárquico

Algunas diferencias:

  • OSPF es un protocolo de nivel IP, mientras que IS-IS funciona a nivel 2
  • El router-id de OSPF es un valor de 4 bytes, mientras que en IS-IS es una dirección OSI
  • La pertenencia  a una area en OSPF es por interfaz, en IS-IS es por router
  • En OSPF existe la figura de DR y BDR, mientras que en IS-IS solo la de DR, o mas concretamente la de DIS (Designated Intermediate System)
  • En IS-IS las adyacencias son full-mesh entre los vecinos, en OSPF solo se establecen adyacencias completas con el DR y BDR
  • En IS-IS el DIS puede hacer preempt de otro existente ya en la red
  • IS-IS es muy extensible mediante TLVs. Esto es importante por ejemplo para el soporte de IPv6. OSPFv2 tuvo que ser rescrito por complejo para crear OSPFv3 mientras que en IS-IS solamente hubo que definir un nuevo TLV.
  • En IS-IS solamente se manda un LSP por router, mientras que en OSPF existen numerosos tipos distintos de LSAs
  • En OSPF, IP se encarga de la fragmentación de las LSAs muy grandes, mientras que en IS-IS, es el propio protocolo el encargado en esto
  • y mas…

Para poner un poco en práctica el protocolo, os muestro el laboratorio propuesto:

  • Los routers R1, R2 y R3 pertenecen al area 49
  • Los routers R1 y R3 están configurados como Level-1 only
  • Los routers R4 y R5 pertenecen al area 48 y son de tipo Level 2-only
  • El router R2 es un router Level 1-2 y tiene interfaces en modo Level 1 only y otras en modo Level 2 only

Todos los routers anuncian sus interfaces directamente conectadas hacia el resto.

R1:
interface Loopback0
ip address 172.24.1.1 255.255.255.255
ip router isis
!
interface Loopback1
ip address 1.2.3.4 255.255.255.255
ip router isis
!
interface FastEthernet0/0
ip address 10.0.0.1 255.255.255.0
ip router isis
duplex half
isis password superpass
!
router isis
net 49.0000.0100.000b.00
is-type level-1

En OSPF el area Backbone o Area0 la componen los routers de dicha area, en IS-IS ese papel lo cumplen los routers configurados en Level-2. Recordad que al igual que OSPF, IS-IS tambien sigue una estructura jerárquica.

Los routers Level-1 (area 49) llegan a los routers del area 48 a tráves de R2 que es un router Level-1-2 (figura ABR en OSPF). Esto es así porque en IS-IS, un router Level1-2 que conecta 2 areas, manda un Level 1 LSP con el bit ATT  habilitado, anunciando así a los routers de este nivel, como su ruta por defecto.

R1#sh ip route
1.0.0.0/32 is subnetted, 1 subnets
C       1.2.3.4 is directly connected, Loopback1
172.24.0.0/32 is subnetted, 3 subnets
C       172.24.1.1 is directly connected, Loopback0
i L1    172.24.1.3 [115/20] via 10.0.0.3, FastEthernet0/0
i L1    172.24.1.2 [115/20] via 10.0.0.2, FastEthernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
i ia    10.10.0.2/32 [115/148] via 10.0.0.2, FastEthernet0/0
i ia    10.10.0.4/32 [115/158] via 10.0.0.2, FastEthernet0/0
i ia    10.10.0.5/32 [115/158] via 10.0.0.2, FastEthernet0/0
C       10.0.0.0/24 is directly connected, FastEthernet0/0
i L1 192.168.0.0/24 [115/20] via 10.0.0.2, FastEthernet0/0
i*L1 0.0.0.0/0 [115/10] via 10.0.0.2, FastEthernet0/0
R1#sh isis database
IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
R3.00-00              0x0000001A   0xCE3E        1021              0/0/0
R1.00-00            * 0x00000019   0x3CD6        1037              0/0/0
R2.00-00             0x0000001D  0xF8B2        600              1/0/0 
R2.03-00              0x00000013   0xD9AA        687               0/0/

Además, en R2 se realiza redistribución y sumarización para Level-1 y Level-2:

R2:
router isis
net 49.0000.0100.000c.00  ##
summary-address 172.24.1.0 255.255.255.0 metric 40
summary-address 9.9.9.8 255.255.255.254 metric 40
redistribute static ip metric 40
redistribute isis ip level-2 into level-1 distribute-list 100
!
ip route 9.9.9.8 255.255.255.255 Null0
ip route 9.9.9.9 255.255.255.255 Null0
!
!
access-list 100 permit ip host 10.10.0.4 host 255.255.255.255
access-list 100 permit ip host 10.10.0.5 host 255.255.255.255
access-list 100 permit ip host 10.10.0.2 host 255.255.255.255

Como podemos observar, se sumarizan las redes 172.24.1.0/24 (que se reciben en Level-1) anunciándolas en Level-2. Tambien anunciamos la red 9.9.9.8/31 que previamente tenemos en nuestra tabla de routing mediante rutas estáticas a Null0 y en IS-IS mediante redistribute static ip metric 40. Así es como quedaría la tabla de routing de R2.

R2#sh ip route
1.0.0.0/32 is subnetted, 1 subnets
i L1    1.2.3.4 [115/20] via 10.0.0.3, FastEthernet0/0
[115/20] via 10.0.0.1, FastEthernet0/0
172.24.0.0/16 is variably subnetted, 4 subnets, 2 masks
i L1    172.24.1.1/32 [115/20] via 10.0.0.1, FastEthernet0/0
i su    172.24.1.0/24 [115/40] via 0.0.0.0, Null0
i L1    172.24.1.3/32 [115/20] via 10.0.0.3, FastEthernet0/0
C       172.24.1.2/32 is directly connected, Loopback1
9.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
S       9.9.9.9/32 is directly connected, Null0
S       9.9.9.8/32 is directly connected, Null0
i su    9.9.9.8/31 [115/60] via 0.0.0.0, Null0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C       10.10.0.2/32 is directly connected, Loopback0
i L2    10.10.0.4/32 [115/20] via 192.168.0.4, FastEthernet0/1
i L2    10.10.0.5/32 [115/20] via 192.168.0.5, FastEthernet0/1
C       10.0.0.0/24 is directly connected, FastEthernet0/0
C    192.168.0.0/24 is directly connected, FastEthernet0/1

Fijaros que una cosa curiosa en IS-IS es que cuando se hace una sumarización en un router, en el propio router donde se configura la sumarización, se mete una ruta de tipo “su” apuntando a Null0, pero en los routers que aprenden esta ruta aparece como una ruta “normal“. Observad en R5 la red 9.9.9.8/31.

R5#sh ip route
1.0.0.0/32 is subnetted, 1 subnets
i L2    1.2.3.4 [115/30] via 192.168.0.2, FastEthernet0/0
172.24.0.0/24 is subnetted, 1 subnets
i L2    172.24.1.0 [115/50] via 192.168.0.2, FastEthernet0/0
9.0.0.0/31 is subnetted, 1 subnets
i L2    9.9.9.8 [115/70] via 192.168.0.2, FastEthernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
i L2    10.10.0.2/32 [115/20] via 192.168.0.2, FastEthernet0/0
i L2    10.10.0.4/32 [115/20] via 192.168.0.4, FastEthernet0/0
C       10.10.0.5/32 is directly connected, Loopback0
i L2    10.0.0.0/24 [115/20] via 192.168.0.2, FastEthernet0/0
C    192.168.0.0/24 is directly connected, FastEthernet0/0

Después, redistribuimos rutas Level-2 en Level-1 filtrando las redes a anunciar mediante un distribute list, que gestionamos desde la ACL extendida 100, injectando solamente las IPs de loopback de los routers R2, R4 y R5. Estas redes se ven reflejadas en R3 y R1, y se marcan como “ia” (ver tabla routing R1).

A continuación adjunto las configuracioens de todos los routers por  si quereís reporducir el entorno por vuestra cuenta.

R1 R2 R3 R4 R5 R6

Enjoy it!!

Posted in Uncategorized | Tagged , | 3 Comments

JNCIS-ENT aprobado!!

Ya que me quedé con ganas con el JNCIA, hoy he aprobado el siguinete nivel en la escala de certificaciones de Juniper, el JNCIS-ENT (Juniper Network Certificate Specialist – Enterprise Routing).

He seguido al igual que en el anterior examen de Juniper, el temario proporcionado en el programa Fast Track del propio Juniper. Con el temario que está disponible en la web (2 PDFs separados, uno para routing y otro para switching), un poco de Olive, y un poco de Google, es más que suficiente para superar el examen.

Ha habido alguna que otra pregunta enrevesada, pero en general no me ha parecido un examen demasiado complicado.

Ahora a preparar el examen de QOS para terminar el CCIP de Cisco y con la intención de presentarme en Septiembre.

A cuidarse!!

Posted in Certificaciones, Uncategorized | Tagged , , | 12 Comments

Belleza

…como una tabla de routing sumarizada, como la elegancia del triple handshake de TCP o la mágica máquina de estados de OSPF/BGP que eclosiona en una adyacencia perfecta… voy a enrutar los paquetes más bellos esta noche…   disfrutad :)

Pablo Neruda: Puedo escribir los versos más tristes esta noche

Puedo escribir los versos más tristes esta noche.

Escribir, por ejemplo: “La noche está estrellada,
y tiritan, azules, los astros, a lo lejos.”

El viento de la noche gira en el cielo y canta.

Puedo escribir los versos más tristes esta noche.
Yo la quise, y a veces ella también me quiso.

En las noches como esta la tuve entre mis brazos.
La besé tantas veces bajo el cielo infinito.

Ella me quiso, a veces yo también la quería.
Cómo no haber amado sus grandes ojos fijos.

Puedo escribir los versos más tristes esta noche.
Pensar que no la tengo. Sentir que la he perdido.

Oir la noche inmensa, más inmensa sin ella.
Y el verso cae al alma como al pasto el rocío.

Qué importa que mi amor no pudiera guardarla.
La noche esta estrellada y ella no está conmigo.

Eso es todo. A lo lejos alguien canta. A lo lejos.
Mi alma no se contenta con haberla perdido.

Como para acercarla mi mirada la busca.
Mi corazón la busca, y ella no está conmigo.

La misma noche que hace blanquear los mismos árboles.
Nosotros, los de entonces, ya no somos los mismos.

Ya no la quiero, es cierto, pero cuánto la quise.
Mi voz buscaba el viento para tocar su oído.

De otro. Será de otro. Como antes de mis besos.
Su voz, su cuerpo claro. Sus ojos infinitos.

Ya no la quiero, es cierto, pero tal vez la quiero.
Es tan corto el amor, y es tan largo el olvido.

Porque en noches como esta la tuve entre mis brazos,
mi alma no se contenta con haberla perdido.

Aunque este sea el ultimo dolor que ella me causa,
y estos sean los ultimos versos que yo le escribo.

Posted in Uncategorized | Tagged , | 3 Comments

CCIP MPLS passed!

Ayer aprobé el examen 642-611 de la certificación CCIP que como bien muestra la imagen de abajo trataba sobre MPLS.

Esta era una tecnología que tenía muy verde y la verdad es que mucho porcentaje de lo estudiado, lo desconocía. Es cuanto menos, un cambio en la hora de pensar, frente al típico routing “de toda la vida”, ya que hay que tener en cuenta que en el core de una red MPLS, el routing/switching se hace en base a etiquetas y en vez de en base a la cabecera IP.

El examen me pareció bastante duro, con un par de labs interesantes de VPNs MPLS con MP-BGP+EIGRP y LDP/TDP, pero asequibles. Hubo bastantes preguntas de MPLS TE que me pillaron un poco desprevenido ya que en el temario que utilicé no estaba incluido TE y tuve que estudiar en express_mode unas horas antes.

El material que utilicé para la preparación de este examen fue:

Ya solo queda el examen de QOS para terminar la certificación, pero me da que el JNCIS-ER de Juniper se va a interponer entre medias…

En verano, networking a tope!! (cuando no ? jjjj )

Posted in Uncategorized | Tagged , , , | 6 Comments

Molando en IPv6 ;)

El IPv6 World Day pasó, y los DNSs de Google, Facebook, Yahoo… de nuevo solo resolvían a un registro A, cuando durante 24 horas, el 8 de Junio, resolvieron A y AAAA (registro DNS host IPv6).

Aquí las muestras de ello:

mike@nwo:~$ host -t a www.google.com ns1.google.com
Using domain server:
Name: ns1.google.com
Address: 216.239.32.10#53
Aliases: 

www.google.com is an alias for www.l.google.com.
www.l.google.com has address 209.85.229.99
www.l.google.com has address 209.85.229.104
www.l.google.com has address 209.85.229.147
mike@nwo:~$ host -t aaaa www.google.com ns1.google.com
Using domain server:
Name: ns1.google.com
Address: 216.239.32.10#53
Aliases: 

www.google.com is an alias for www.l.google.com.
mike@nwo:~$ host -t aaaa  www.l.google.com
www.l.google.com has no AAAA record

Aún así me resisto a desistir (vaya aliteración me ha salido…) y ahora mikeljimenez.net resuelve tanto a un registro A como AAAA.

mike@nwo:~$ host -t a mikeljimenez.net
mikeljimenez.net has address 91.121.117.27
mike@nwo:~$ host -t aaaa mikeljimenez.net
mikeljimenez.net has IPv6 address 2001:470:1f12:286::2

También comentar que pertenezco a uno de los pocos LIRs en España que tienen 4 estrellas en el “IPv6 RIPEness” que se dan en base a distintos parametros basados en el despliegue de IPv6 por el propio LIR, y no voy a ocultar que me llena de orgullo y satisfacción!!

IPv6 RIPEness is a rating system under which Local Internet
Registries (LIRs)can get up to four “stars” for IPv6 services,
depending on the following criteria:
- IPv6 allocation
- Visibility in the Routing Information Service (RIS)
- Route6 object in the RIPE Database
- Reverse DNS delegation set up.

Aquí el link: http://ripeness.ripe.net/4star/ES.html (Extra_small)

Todo por potenciar IPv6. Go, go!!


Posted in Uncategorized | Tagged , | 3 Comments

IPv6 in da house!

Durante mi viaje espiritual a Amsterdan del verano pasado, Saghul y yo estuvimos jugando a lo que más nos gusta. Darle a la tecla, aka molar!.

Entre muchas otras cosas que hicimos esa semana, montamos un entorno de IPv6 que hemos publicado en el blog de Saul y que reproduzco a continuación:

Vamos a ver cómo conectar no solo un ordenador, sino toda la casa al mundo IPv6. Para ello vamos a suponer que no tenemos IPv6 de manera nativa, pero que disponemos de un servidor en algún datacenter (también sin IPv6 de manera nativa) y un router con GNU/Linux. También vamos a suponer que algo sabemos de OpenVPN y Quagga.

Dado que no disponemos de conectividad real IPv6 necesitaremos los servicios de un broker que nos provea de un túnel para la conexión al backbone de IPv6. Para este montaje utilizaremos el servicio proporcionado por el ISP Hurricane Electric. Para poder crear el túnel necesitamos que nuestro extremo disponga de una IP fija, pero como vamos a configurarlo en el host que tenemos en el datacenter esto no debería suponer un problema.

Al finalizar la solicitud través de la web obtendremos un rango /64 para nosotros. Suficiente, ¿no? pues no. Hemos dicho que queremos tener IPv6 en toda la casa, e IPv6 nos ofrece un mecanismo para asignar una dirección IP a cada dispositivo sin la necesidad de utilizar DHCP: Router Advertisement + EUI-64. Básicamente nuestro router tendrá una IP en este rango y se anunciará mediante paquetes RA y los dispositivos generarán una IP única en ese rango utilizando su MAC + FFFE.

Esto significa que necesitamos un rango más grande si queremos crear varias subredes /64  para cada cliente o sede y darles salida a la Internet IPv6. Hurricane nos da la posibilidad de obtener un rango /48, así que no hay problema :-)

A continuación podéis ver una captura de pantalla de los datos de la red IPv6 /64 que Hurricane nos ha dado y la /48 que nos enruta a través de ella:

Ya que hemos dicho que teníamos un servidor en un datacenter, lo utilizaremos para crear múltiples subredes IPv6 que saldrán al mundo real por un único túnel a través de Hurricane. Veamos una imagen con la estructura que queremos montar:

Como se aprecia en la imagen, todos los nodos (los routers de nuestras casas) están conectados mediante una VPN sobre IPv4 al servidor. Utilizaremos una subred que actuará como red de tránsito entre nuestro server y cada una de las subredes de los clientes que conectemos. Los clientes se conectarán mediante una VPN sobre IPv4. En éste túnel, implementaremos tanto IPv4 como IPv6, teniendo así soporte dual stack
en la VPN. Para publicar la red que nos ha sido asignada como cliente, usaremos OSPFv3 mediante Quagga para que el servidor conozca. ¡Vamos al lio!

Primero configuramos el tunel con Hurricane tal y como se nos indica en la web:

ip tunnel add he-ipv6 mode sit remote 216.66.84.42 local
91.121.117.27 ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:1f12:286::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr

Es una buena idea poner esto en un script y ejecutarlo en el post-up de la interfaz a través de la cual tiraremos el túnel, para no tener que lanzarlo manualmente al reiniciar.

Una vez tenemos el túnel levantado ya deberíamos poder hacer ping6 a ipv6.google.com y molar. Ahora elegiremos una subred (de la /48 que nos enrutan) que usaremos como red de tránsito. En nuestro caso, nos enrutan la siguiente subred:

2001:470:c846::/48

Y elegiremos la primera subred como red de transito:

2001:470:c846:1::/64

En el extremo de la VPN del servidor, nos pondremos la primera IP de la subred de transito, y cada cliente podrá elegir cualquier IP en su extremo. Con 2^64 posibilidades creo que no habrá muchas colisiones

;-)

2001:470:c846:1::1/64

Veamos la configuración de Quagga para el servidor:

interface tap0
 ipv6 address 2001:470:c846:1::1/64
 ipv6 nd suppress-ra
 ipv6 ospf6 cost 1
 ipv6 ospf6 dead-interval 40
 ipv6 ospf6 hello-interval 10
 ipv6 ospf6 instance-id 0
 ipv6 ospf6 priority 255
 ipv6 ospf6 retransmit-interval 5
 ipv6 ospf6 transmit-delay 1
 link-detect
!
router ospf6
 router-id 2.2.2.2
 redistribute kernel
 redistribute static
 interface tap0 area 0.0.0.0

Lo importante de todas opciones arriba listadas son:

  • IPv6 address: indica la IP del interfaz tap0
  • Router-id, nos lo podemos inventar
  • Area, necesiaremos que sea el mismo en el servidor y los clientes
  • Redistribute kernel: hará que se publique la IP del servidor por
    OSPF para que los clientes la usen como ruta por defecto para el
    tráfico IPv6

Ahora veamos la configuración en un cliente:

interface eth1
 ipv6 address 2001:470:c846:2::1/64
 ipv6 nd prefix 2001:470:c846:2::/64
 ipv6 nd ra-interval 30
 ipv6 nd ra-lifetime 600
 link-detect
 no ipv6 nd suppress-ra
!
interface tap0
 ipv6 address 2001:470:c846:1::666/64
 ipv6 nd suppress-ra
 ipv6 ospf6 cost 1
 ipv6 ospf6 dead-interval 40
 ipv6 ospf6 hello-interval 10
 ipv6 ospf6 instance-id 0
 ipv6 ospf6 priority 1
 ipv6 ospf6 retransmit-interval 5
 ipv6 ospf6 transmit-delay 1
 link-detect
!
router ospf6
 router-id 1.1.1.1
 redistribute connected
 interface tap0 area 0.0.0.0

Aquí tenemos varias cosas. Por un lado, tenemos que elegir una subred (al azar, la posibilidad de colisión es casi nula) que será la que usemos en ese cliente (nuestara casa):

  • IPv6 address (eth1): indica la IP que tendrá este router en la subred que hemos seleccionado para este cliente
  • IPv6 nd prefix (eth1): indica el prefijo por el cual se hará el neighbour discovery
  • “no ipv6 nd suppress-ra”: indica que se utilizará Router Advertisement para que los dispositivos que tengamos por casa de autoprovisionen. Podríamos haber utilizado radvd, pero ya que se usa Quagga para el OSPF…
  • IPv6 address (tap0): indica la IP del extremo del túnel del lado del cliente. Ha de pertenecer a la red de tránsito que hemos definido arriba.
  • Redistribute connected: indica que se publicarán las rutas directamente conectadas, para que el servidor llegar hasta ésta subred por OSPF. De esta manera el servidor sabrá cómo enrutar los paquetes que tengan como destino la subred que hemos elegido y habremos habilitado el enrutamiento entre clientes/casas de frikis y también desde/hacia Internet.

Los que entendáis algo del asunto estaréis pensando que hemos matado moscas a cañonazos. Y tenéis razón. ¿Entonces porqué hacerlo? Porque podemos y porque sabemos!

Happy routing!

Posted in Uncategorized | Tagged , , , , , , | 3 Comments