VPSs y mas.

jueves, 10 de diciembre de 2015

Retrospectiva: Acceso IPv6 en la region Latinoamerica y Caribe - Año 2015

Estimados amigos(as), un gusto saludarles,
  Primero, un pequeño comentario, el año pasado hice un Post con un título muy similar [1], este vendría a ser la versión 2015 :-)

  Segundo, este año para mí fue muy especial, entre otros a) dentro de Lacnic logramos obtener más estadísticas y set de datos relativos a IPv6 (abajo más información), b) 2015 marcó mi último año como moderador del foro de IPv6, c) por otro lado, hicimos dos "estrenos" de material para apoyar la difusión de v6 (canción [5] e historia animada [6]) el cual aparentemente a tenido muy buena acogida. 

   Vamos entonces a hacer un repaso del 2015, tener una pregunta siempre ayuda como kick-off. ¿Qué ha pasado este año con IPv6 en nuestra región?. Obtenemos los siguientes protagonistas:

Perú
  Capital gastronómica de Latinoamérica, un país con cerca de 1.3 mm de KM2 y una población de 31 mm de habitantes. Para la mayoría de nosotros no es un secreto saber que este país lidera para LAC el tráfico IPv6 en el usuario final. Perú tiene un tráfico superior a 15%, tanto así que se encuentra en el TOP 10 de los países con IPv6 en el mundo. Aún se mantiene como el único país con doble dígito en nuestra región. Tener hoy 15% representa un salto de 50% con la misma medición a finales del 2014. Mis felicitaciones!!

Ecuador
  Ecuador es famoso por sus tejidos de llama y alpaca, y ahora con IPv6 no nos deja de sorprender, este año comenzó con ~3.18% de penetración de IPv6 y hoy en día se encuentra sobre el 9%. Una característica muy interesante de Ecuador es la gran diversidad de ASs que están generando v6. Mantengan el ritmo!!

Bolivia
  Donde se encuentra el santuario de mariposas mas grande el mundo repite este año como protagonista. De hecho hace 12 meses estaba comenzando un despliegue que ya proyectaba que venía con cosas buenas. Al momento de este escrito el país tiene 3.14% de penetración de IPv6 en el usuario final. Un número que es 50% mayor que en Julio de 2015 y cerca del 1000% mayor que comenzando el año. Desde nuestro observatorio de IPv6 ha sido el país con mayor crecimiento en IPv6. Un fuerte aplauso!

Brasil
  Uhhh, las playas, los carnavales, el fútbol, muchas más cosas. Este país desde mi óptica es el gran ganador este año. Es un país que comenzó el 2015 con ~0.17% de penetración de IPv6 en el usuario final, hoy en día tiene 6.42%. Es un caso muy interesante porque existen gran cantidad de ISPs realizando el despliegue de IPv6. Mover la aguja del medidor de tráfico v6 para un país del tamaño de Brasil no es sencillo. Grandes!! 

Trinidad y Tobago
  TT es otro país famoso por su Carnaval, algunos dicen que la música se puede escuchar en el extremo de Venezuela si el viento colabora. TT parece ser el quién quiere liderar v6 en el caribe, al menos así lo dicen las estadísticas. Trinidad y Tobago comenzó el año con 0.01% de tráfico v6 en el usuario final y al día de hoy tiene más de 0.31%. Muchos pensarán que es un número chico pero muchos países comenzaron así y hoy en tienen 5-10-15-30%. Por algún punto hay que comenzar :-) Muy bien TT!!

Paraguay
  No quise pasar la oportunidad de hablar del país del Tereré porque este año un ISP (Copaco) hizo un anuncio buscando Beta testers [8], ójala este llamado aumente el tráfico de IPv6 en dicho país. El 2016 promote para PY!!

¿El resto de los países?
  Para quien escribe estas líneas _no_ es cómodo “pasar” sin mencionar a muchos países, lógicamente quiero mencionar a todos. Existen muchos otros donde sabemos que hubo algo de IPv6, por ejemplo en Costa Rica, Panamá y Venezuela [7]. Es importante recordar que lógicamente uno no escucha ni se entera de todo, es decir, deben haber muchas otras implementaciones de las cuales no estamos al tanto.

¿Y el promedio de LAC?
  Este número también ha aumentado significativamente, tuvo un crecimiento mayor al 100% durante el 2015. El número se incrementó de 0.51% a comienzos de Enero a 1.15% en Diciembre de 2015. Un crecimiento que no es malo pero aún es chico para nuestra región; recordemos que el tráfico a nivel mundial de IPv6 está cerca del 10%. Desde nuestra perspectiva tenemos grandes esperanzas para el 2016, creemos que el tráfico va a aumentar significativamente. IPv6 es el futuro.


Reciban un fuerte abrazo.

Alejandro Acosta,
[2] Histórico penetración de IPv6 (datos procesados de Google): 
[3] Historio de websites de LAC con AAAA en el TOP 1 millon mundial: 
[5] Datos abiertos de [3]: 
[6] La triste historia de un ISP sin IPv6: https://www.youtube.com/watch?v=3DOcc18Bj2U
[7] Canción: “v6 is the one for me”: https://www.youtube.com/watch?v=99Qw9cfpyEg

lunes, 7 de diciembre de 2015

Configurando una red con DHCPv6 Server (Cisco), DHCPv6 relay (Linux - ISC) y como CPE un Router Cisco

Introducción
  Este post es muy similar al encontrado en:  http://blog.acostasite.com/2015/11/configurando-una-red-con-dhcpv6-server.html
  La principal diferencia es que en esta oportunidad tendremos el DHCPv6 Server en Cisco y no en Linux
  En el presente post vamos a explicar e implementar como trabajar con DHCPv6 Server, Relay y Cliente.
  Favor leer la sección: "Explicación de la topología" la cual indica cada función


Topología




Explicación de la topología

En la topología de arriba va a ocurrir lo siguiente:

- El Cisco DHCPv6 Server está entregando prefijos v6
- El DHCPv6 Relay (Debian) va a escuchar por la interfaz ethernet1 (e1) por peticiones DHCPv6 de Prefix Delegation (PD). Las mismas serán reenviadas por la interfaz ethernet0 (e0) al servidor DHCPv6 Server
- El Cisco Router DHCPv6 Client va a hacer solicitudes DHCPv6 PD en su interfaz f1/0, del prefijo recibido va a configurar su interfaz f0/0 y enviar Router Advertisements por dicha interfaz permitiendo a los clientes auto-configurarse. En esta oportunidad también configuraremos otras interfaces pero solo a manera de ejemplo.
- Los clientes conectados a la interfaz f0/0 en el Cisco DHCPv6 Cliente van a autoconfigurarse vía SLAAC utilizando el prefijo recibido por RA

  Nótese que para el Router Cisco DHCPv6 Client le es transparente el DHCPv6 Relay Server


Que necesitamos:

- Del lado del Relay el software Relay de DHCPv6 de ISC (que es diferente al server)
- El Router tiene que ser un enrutador que haga DHCPv6 cliente PD

Instalando
En el Relay Server:
  #sudo apt-get install isc-dhcp-relay

  Durante la instalación del relay se van a realizar varias preguntas. Puedes decidir contestarlas o no. Para este post no es necesario responderlas.


Configuraciones:

Del lado del Cisco DHCPv6 Server:

ipv6 unicast-routing
interface FastEthernet0/0
 ipv6 address 2001:DB8::1/64
 ipv6 dhcp server DHCPv6-SERVER
end

ipv6 dhcp pool DHCPv6-SERVER
 prefix-delegation pool MY-PD-1

ipv6 local pool MY-PD-1 2001:DB8:ABCD::/48 56


Explicando la configuración:
Primero se le indica al equipo que puede enrutar paquetes IPv6. Luego se configura IPs estáticas entre el relay y la interfaz f0/0 (revisar la ethernet0 del relay).
Luego, se le indica que la interfaz sirve como DHCPv6 Server y se le asigna el pool DHCPv6-Server, aquí podemos escribir cualquier nombre.

Dentro del pool DHCPv6-Server se le dice que haga prefix-delegation (se le puede indicar más información pero para nuestro propósito hasta aquí es suficiente) y que utilice un pool local llamado MY-PD-1. Este pool va a utilizar prefijos dentro de 2001:DB8:ABCD::/48 y entregará bloques /56 a sus clientes. Aquí podemos indicar el tamaño de prefijo que queremos.


Del lado del relay:
Red:
  #ifconfig eth0 inet6 add 2001:db8::2/64
  #ifconfig eth1 inet6 add 2001:db8:1::2/64

  No hay configuraciones. El relay es levantado con este comando:
  #dhcrelay -I -l eth1 -u eth0

Explicación del comando para ejecutar el dhcp-relay:
Hay muchas maneras y opciones para dhcrelay, en el comando anterior se esta diciendo: que se utilice el DHCPv6 interface-id option, que escuche peticiones por eth1 y las mismas sean enviadas por eth0


Del lado del Cisco Router DHCPv6 Cliente:

ipv6 unicast-routing
interface FastEthernet1/0
 description Hacia DHCPv6 Relay Server
 ipv6 address 2001:DB8:1::1/64
 ipv6 dhcp client pd IP-FROM-DHCPv6-SERVER
end

interface FastEthernet0/0
 description Hacia LAN
 ipv6 address IP-FROM-DHCPv6-SERVER ::1/64
end

Explicación de la configuración del router Cisco:
Primero se habilita el routing IPv6 en el equipo.
Segundo, en la interfaz F1/0 se le esta diciendo al router que es DHCP cliente para prefijos y le asignamos el nombre: IP-FROM-DHCPv6-SERVER
Tercero, en la interfaz f0/0 le indica al router que utilice el prefijo recibido via DHCPv6 client y asigne el mismo a la interfaz como ::1/64. Es decir, el router toma el /56 del DHCPv6 y el mismo router va a crear una /64 para f0/0 (nota que puedes configurar otras interfaces utilizando el mismo prefijo recibido por el DHCP). 


Para revisar:
Del lado del DHCPv6 Server deberiamos ver algo como:

a) Con el DHCPv6 server corriendo en foreground puedes ver:

DHCP-Server#debug ipv6 dhcp detail

Se veran mensajes como:

*Dec  1 09:55:14.619: IPv6 DHCP: Received RELAY-FORWARD from 2001:DB8::2 on FastEthernet0/0
*Dec  1 09:55:14.623: IPv6 DHCP: detailed packet contents
*Dec  1 09:55:14.623:   src 2001:DB8::2 (FastEthernet0/0)
*Dec  1 09:55:14.627:   dst FF05::1:3
*Dec  1 09:55:14.627:   type RELAY-FORWARD(12), hop 0
*Dec  1 09:55:14.627:   link 2001:DB8:1::2
*Dec  1 09:55:14.631:   peer FE80::C801:24FF:FE20:1C
*Dec  1 09:55:14.631:   option INTERFACE-ID(18), len 4
*Dec  1 09:55:14.635:     0x01000000
*Dec  1 09:55:14.639:   option RELAY-MSG(9), len 50
*Dec  1 09:55:14.639:     type SOLICIT(1), xid 2389101
*Dec  1 09:55:14.643:     option ELAPSED-TIME(8), len 2
*Dec  1 09:55:14.643:       elapsed-time 0
*Dec  1 09:55:14.647:     option CLIENTID(1), len 10
*Dec  1 09:55:14.647:       00030001CA0124200000
*Dec  1 09:55:14.647:     option ORO(6), len 6
*Dec  1 09:55:14.651:       IA-PD,DNS-SERVERS,DOMAIN-LIST
*Dec  1 09:55:14.655:     option IA-PD(25), len 12
*Dec  1 09:55:14.659:
DHCP-Server# IAID 0x00040001, T1 0, T2 0
*Dec  1 09:55:14.663: IPv6 DHCP: Using interface pool DHCPv6-SERVER
*Dec  1 09:55:14.667: IPv6 DHCP: Source Address from SAS 2001:DB8::1


b) DHCP-Server#sh ipv6 dhcp binding
Client: FE80::C801:24FF:FE20:1C
  DUID: 00030001CA0124200000
  Username : unassigned
  Interface : relayed
  IA PD: IA ID 0x00040001, T1 302400, T2 483840
    Prefix: 2001:DB8:ABCD::/56
            preferred lifetime 604800, valid lifetime 2592000
            expires at Dec 31 2015 09:55 AM (2589331 seconds)


Del lado del Cliente DHCPv6 Cisco:
Para revisar si la interfaz f0/0 se autoconfiguró cone l prefijo recibido por el DHCPv6:
a) R1#show ipv6 interface f0/0

Vamos a ver algo como:

R1#sh ipv6 int f0/0
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::C801:24FF:FE20:0
  No Virtual link-local address(es):
  Description: Hacia LAN
  General-prefix in use for addressing
  Global unicast address(es):
    2001:DB8:ABCD::1, subnet is 2001:DB8:ABCD::/64 [CAL/PRE]


Nótese que 2001:DB8:ABCD::/64 corresponde al prefijo configurado en el DHCPv6 Server que es entregado vía PD


Algo muy importante es el comando:

b) R1#show ipv6 dhcp

El cual muestra el DUID (DHCPv6 Unique ID) del equipo (RFC3315):
This device's DHCPv6 unique identifier(DUID): 00030001CA0124200000


Podemos apreciar que este mismo número es que le llega al DHCPv6 Server


Del lado del cliente:
Depende de tu OS puedes hacer:
c:\ipconfig 

o

#ifconfig


¿Si hay más de una interfaz del lado del cliente?
En el ejemplo anterior el Cisco DHCPv6 Cliente está recibiendo un prefijo /56, esto quiere decir que tenemos hasta 8 redes /64 para crear. Hasta el momento solo hemos utilizado una en la f0/0.

De manera de ejemplo vamos a crear otras redes en las interfaces loopback0 y looback1 del router del lado del cliente.

interface Loopback0
 ipv6 address IP-FROM-DHCPv6-SERVER ::1:0:0:0:1/64
end

interface Loopback1
 ipv6 address IP-FROM-DHCPv6-SERVER ::2:0:0:0:1/64
end


La manera de construir los pseudo IPs (pe. ::1:0:0:0:1/64) colocados en la interfaz es la siguiente:
Imaginamos el prefijo recibido por DHCPv6, sabemos que es un /56. Lo que estamos haciendo es completando el resto del IP. 

Es decir: recibimos por DHCPv6 2001:db8:ABCD::/56. Al decirle a la loopback 1 ::1:0:0:0:1/64 construimos:  2001:db8:ABCD::1:0:0:0:1/64 (Prefijo recibido + la configuracion de la interfaz)


Vamos a revisar que IPs tienen entonces L0 y L1:

R1#sh ipv6 int l0
Loopback0 is up, line protocol is up
  Global unicast address(es):
    2001:DB8:ABCD:1::1, subnet is 2001:DB8:ABCD:1::/64 [CAL/PRE]


R1#sh ipv6 int l1
Loopback1 is up, line protocol is up
  Global unicast address(es):
    2001:DB8:ABCD:2::1, subnet is 2001:DB8:ABCD:2::/64 [CAL/PRE]


Proximos pasos
- Falta la parte de routing, hay muchas maneras de hacerlo, indiscutiblemente la intención es hacerlo con un protocolo de enrutamiento dinámico


Para más información:
https://tools.ietf.org/html/rfc6355
http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html
http://blog.acostasite.com/2014/04/instalar-isc-dhcp-43-en-linux-ubuntu.html
http://blog.acostasite.com/2014/04/solucion-tres-errores-cuando-queremos.html
http://blog.acostasite.com/2015/11/configurando-una-red-con-dhcpv6-server.html

lunes, 30 de noviembre de 2015

Configurando una red con DHCPv6 Server (ISC), DHCPv6 relay (ISC) y como CPE un Router Cisco

Introducción
  En el presente post vamos a explicar e implementar como trabajar con DHCPv6 Server, Relay y Cliente.
  Favor leer la sección: "Explicación de la topología" la cual indica cada función


Topología








Explicación de la topología

En la topología de arriba va a ocurrir lo siguiente:

- El Ubuntu DHCPv6 Server está entregando prefijos v6
- El DHCPv6 Relay va a escuchar por la interfaz ethernet1 (e1) por peticiones DHCPv6 de Prefix Delegation (PD). Las mismas serán reenviadas por la interfaz ethernet0 (e0) al servidor DHCPv6 Server
- El Cisco Router va a hacer solicitudes DHCPv6 PD en su interfaz f1/0, del prefijo recibido va a configurar su interfaz f0/0 y enviar Router Advertisements por dicha interfaz permitiendo a los clientes auto-configurarse
- El cliente se va a autoconfigurar utilizando el prefijo recibido por RA

  Nótese que para el Router Cisco le es transparente el DHCPv6 Relay Server


Que necesitamos:
- Del lado del server el servidor de ISC DHCPv6
- Del lado del ralay el relay de DHCPv6 de ISC (que es diferente al server)
- El Router tiene que ser un enrutador que haga DHCPv6 cliente PD

Instalando
En el Server Linux:
  #sudo apt-get install isc-dhcp-server
 
En el Relay Server:
  #sudo apt-get install isc-dhcp-relay

  Durante la instalación del relay se van a realizar varias preguntas. Puedes decidir contestarlas o no. Para este post no es necesario responderlas.


Configuraciones:

Del lado del Server:
Red:
#ifconfig eth1 ine6 add 2001:db8::2/64
#route -A inet6 add default gw 2001:db8::1

en /etc/dhcp/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8::/32 {

  #Prefix range for PD
  prefix6 2001:db8:1:100:: 2001:db8:1:f00 /56;

}


Explicacion de la configuracion dhcpd.conf:
La parte mas importante de la configuracion de arriba es la linea "prefix6" donde se indica el prefijo inicial y final /56 que los clientes van a recibir.

Para levantar el servicio de DHCPv6:
# /usr/sbin/dhcpd -6 -d -cf /etc/dhcp/dhcpd.conf eth0

Del lado del relay:
Red:
  #ifconfig eth0 inet6 add 2001:db8::2/64
  #ifconfig eth1 inet6 add 2001:db8:1::2/64

  No hay configuraciones. El relay es levantado con este comando:
  #dhcrelay -I -l eth1 -u eth0

Explicación del comando para ejecutar el dhcp-relay:
Hay muchas maneras y opciones para dhcrelay, en el comando anterior se esta diciendo: que se utilice el DHCPv6 interface-id option, que escuche peticiones por eth1 y las mismas sean enviadas por eth0


Del lado del Cisco Router:

ipv6 unicast-routing
interface FastEthernet1/0
 description Hacia DHCPv6 Relay Server
 ipv6 address 2001:DB8:1::1/64
 ipv6 dhcp client pd IP-FROM-DHCPv6-SERVER
end

interface FastEthernet0/0
 description Hacia LAN
 ipv6 address IP-FROM-DHCPv6-SERVER ::1/64
end

Explicación de la configuración del router Cisco:
Primero se habilita el routing IPv6 en el equipo.
Segundo, en la interfaz F1/0 se le esta diciendo al router que es DHCP cliente para prefijos y le asignamos el nombre: IP-FROM-DHCPv6-SERVER
Tercero, en la interfaz f0/0 le indica al router que utilice el prefijo recibido via DHCPv6 client y asigne el mismo a la interfaz como ::1/64. Es decir, el router toma el /56 del DHCPv6 y el mismo router va a crear una /64 para f0/0 (nota que puedes configurar otras interfaces utilizando el mismo prefijo recibido por el DHCP). 


Para revisar:
Del lado del DHCPv6 Server deberiamos ver algo como:

a) Con el DHCPv6 server corriendo en foreground puedes ver:

Relay-forward message from 2001:db8::2 port 547, link address 2001:db8:1::2, peer address fe80::c801:24ff:fe20:1c
Picking pool prefix 2001:db8:1:f00::/56
Advertise PD: address 2001:db8:1:f00::/56 to client with duid 00:03:00:01:ca:01:24:20:00:00 iaid = 262145 valid for 600 seconds
Wrote 0 NA, 0 TA, 1 PD leases to lease file.
Sending Relay-reply to 2001:db8::2 port 547
Relay-forward message from 2001:db8::2 port 547, link address 2001:db8:1::2, peer address fe80::c801:24ff:fe20:1c
Reply PD: address 2001:db8:1:f00::/56 to client with duid 00:03:00:01:ca:01:24:20:00:00 iaid = 262145 valid for 600 seconds
Sending Relay-reply to 2001:db8::2 port 547

b) Para revisar los leases:
# more /var/lib/dhcp/dhcpd6.leases


Del lado del router Cisco:
Para revisar si la interfaz f0/0 se autoconfiguró cone l prefijo recibido por el DHCPv6:
a) R1#show ipv6 interface f0/0


Vamos a ver algo como:

R1#sh ipv6 interface f0/0
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::C801:24FF:FE20:0
  No Virtual link-local address(es):
  Description: Hacia LAN
  General-prefix in use for addressing
  Global unicast address(es):
    2001:DB8:1:F00::1, subnet is 2001:DB8:1:F00::/64 [CAL/PRE]


Nótese que 2001:db8:1:f00/64 corresponde al prefijo configurado en el DHCPv6 Server que es entregado vía PD


Algo muy importante es el comando:

b) R1#show ipv6 dhcp

El cual muestra el DUID (DHCPv6 Unique ID) del equipo (RFC3315):
This device's DHCPv6 unique identifier(DUID): 00030001CA0124200000


Podemos apreciar que este mismo número es que le llega al DHCPv6 Server


Del lado del cliente:
Depende de tu OS puedes hacer:
c:\ipconfig 

o

#ifconfig


Proximos pasos
- Falta la parte de routing, hay muchas maneras de hacerlo, indiscutiblemente la intención es hacerlo con un protocolo de enrutamiento dinámico
- En el próximo Post haremos exactamente lo mismo pero con el DHCPv6 Server que sea una caja Cisco.


Para más información:
- https://tools.ietf.org/html/rfc6355
- http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html
http://blog.acostasite.com/2014/04/instalar-isc-dhcp-43-en-linux-ubuntu.html
http://blog.acostasite.com/2014/04/solucion-tres-errores-cuando-queremos.html



sábado, 28 de noviembre de 2015

Carta de Lacnic Labs a Papa Noel

Querido Papá Noel, alias Santa Claus,

  Quiero comenzar esta carta dándote un gran saludo,  ojalá también pudiese darte un fuerte abrazo. Hace mucho que no te escribía, siento una felicidad interna indescriptible e inesperada.
  Quizás te extrañe un poco que vuelva a aparecer luego de tantos años, dicen que nunca es tarde, te aseguro que el cariño es el mismo, perdón, hoy en día es mayor, he aprendido a comprenderte y admirar tu trabajo, mis felicitaciones a tú persona!! :-)
  Antes de continuar no puedo omitir indicarte que todo el año me he portado muy bien, he hecho mis tareas cabalmente, ayudo al prójimo, he intento ser parte de la solución y no del problema. Claro, tú lo sabes todo pero quería decírtelo para prevenir, alguna se te debe escapar.
  Ahora bien, vamos al grano, se que tienes mucho trabajo y sobre todo en estas fechas, tu tiempo es valioso así que no voy a extenderme mucho.
  Te escribo no por mí, desde chico me enseñaron a pedir para los demás, en esta ocasión voy a pedir por alrededor de 600 millones de latinoamericanos, suena mucho pero créeme que solo hay que enfocarse en una pequeña cúpula de personas.., el resto viene solo.
  ¿Qué voy a pedir para toda esta gente?…, cosas más sencillas que lo que parecen, me han dicho que no sabes mucho de tecnología y por ello voy a explicarte muy breve cada regalito.., ahh, tampoco voy a pedir mucho, me han enseñado a máximo tres regalos y sin garantía de que se cumpla…., pienso que mis padres repetían lo que tu le decías a ellos.
  Quiero para esta navidad o durante el 2016:

- Un Internet más seguro… Santa, puedes creer que existen muchas tecnologías de seguridad y aún no las implementan!, muchas gratis y sencillas, bueno Santa, esta no puede faltar. Pls!
- Mejores interconexiones… con esto quiero decir más IXPs, más conexiones entre ISPs y diferentes entidades. Esto trae ahorre de costos, mejor rendimiento, mayor uptime de servicios, facilidad de troubleshooting y muchas cosas más. Es una práctica mundialmente aplaudida y comprobada y aún hay gente que no esta convencida. ¿Me ayudas?
- Y por último…, más IPv6 en la región!. ¿Puedes creer que el promedio aún es ligeramente mayor al 1% en LAC?.., estamos hablando de un protocolo que va a ayudar a los países a ser más productivos, a mejorar la calidad de vida de la gente, a disminuir la rata de falla en las aplicaciones y aún así mucha gente no da el paso a implementarlo. ¿Cuento contigo?


  En estos tiempos tan difíciles de gusanos, backdoors, rootkits, troyanos, secuestro de redes e información creo que mi solicitud no es una cosa loca, se que no es fácil pero entre todos podemos :-)   Ahh, no debemos olvidar el otro casi 50% de la población que aun no cuenta con Internet, afortunadamente este indicador se mueve a favor de mí deseo pero me encantaría que fuese más rápido, no por mí, sino por ellos.

  Antes de finalizar la carta no quiero despedirme sin enviarle saludos a la señora Santa y a los renos -en especial a Rodolfo!!-, quienes han hecho pasar horas de infinita alegría a millones de niños.  Espero todos tengan su tablet y su conexión a Internet con IPv6, sino me avisas y vemos si podemos conectarte en el Polo Norte…, creo que no lo cubre Lacnic pero te extendemos nuestro apoyo.

  Recibe un gran saludo, ojalá pases por mí casa  y en vez de dejarte unas galletas  y leche, te daré un modem Wifi 802.11ac y un SSD.

Un fuerte abrazo con mucho amor

Lacnic Labs

sábado, 24 de octubre de 2015

Draytek Vigor 2920 y tunel IPv6 hacia Hurricane Electric

Introducción:
  En el presente post vamos a explicar como levantar un tunel IPv6 dentro de IPv4 hacia Hurricane Electric.

Pasos:

Del lado de he.net
1) Primero es necesario tener una cuenta tunnel en www.he.net.
2) Luego es necesario crear un tunel regular






3) Luego llenar los datos: correspondientes a la información del tunel



4) Posteriormente debes conseguir la información correspondiente a tu tunel aquí:


5) Y en la página siguiente después de hacer click sobre el nombre del tunel:





Nótese los números 1, 2, 3 que fueron añadidos. Esta misma información la necesitaremos más adelante.


Del lado del 2920/del equipo Draytek con Vigor:

6) Ir a: WAN --->  Internet Access --> IPv6


7)  En la siguiente panatalla debes llenar los siguientes datos. Necesitas la información tomada en el paso 5. He colocado los números para una fácil comprensión:




Puedes hacer otras cosas con la longitud prefijos pero colocando /64 es suficiente.


8) El router se va a reiniciar.


Para probar:
Linux:
  ping6 www.lacnic.net

Windows:
  ping -6 www.lacnic.net


Referencias:

Basado en experiencia propia y: http://kb.networksystemssolutions.info/index.php/IPv6


miércoles, 23 de septiembre de 2015

Monitoreando IPv4 e IPv6 con sFlow

Introducción
 
Este primer artículo tiene como objetivo presentar de manera práctica cómo monitorear tráfico de una interfaz de red con doble pila configurada (Dual-Stack), IPv6 e IPv4, a través de la tecnología sFlow.
 
sFlow es una tecnología de muestreo de paquetes que se puede implementar en una amplia gama de dispositivos desde equipos de capa 2 hasta equipos de alto desempeño como enrutadores de core. Debido a la incorporación de redes de alta velocidad, el muestreo de paquetes ha sido ampliamente reconocido como la solución más escalable, precisa y completa para el monitoreo de redes.
 
Si bien la metodología de muestreo de paquetes está incrustada dentro del elemento de red (por ejemplo, el enrutador o switch), el análisis de tráfico se realiza realmente en un equipo diferente, normalmente un servidor. Esto permite mayor escalabilidad y capacidad de respuesta en tiempo real sin afectar el desempeño de los enrutadores, especialmente a altas velocidades de tráfico.
 
Los diferentes componentes del sistema sFlow: son el generador sFlow, el agente sFlow, y el colector sFlow:
 
  • El generador de sFlow es el elemento de red que genera muestras de tráfico. La toma de muestras de paquetes se realiza típicamente en hardware para proporcionar un rendimiento a velocidad de cable (wire-speed).
  • El agente sFlow es un proceso de software que se ejecuta como parte del software de gestión de red dentro del elemento de red.  Los agentes sFlow en enrutadores y switches en toda la red envían continuamente un flujos de datagramas sFlow a un colector sFlow centralizado. Los contadores de interfaz y las muestras de flujo se combinan en datagramas sFlow, que requieren muy poco procesamiento. Los datos se empaqueta en datagramas sFlow, que se envían de inmediato en la red. Esto reduce al mínimo la carga en la memoria y procesador de los agentes sFlow .
  • El software colector de sFlow analiza los datagramas recibidos de cada agente sFlow y los presenta en tiempo real, permitiendo la vista de los flujos de tráfico de toda la red. Varias soluciones de colectores y software analizador de sFlow están disponibles comercialmente, así como en software libre.
 
La definición de flujos de tráfico a través de esta tecnología se puede realizar de numerosas maneras. Tradicional implica una clave en que el flujo se define como una secuencia unidireccional de tramas que comparten los siguientes valores:
 
  • Dirección MAC de origen
  • Dirección MAC de destino.
  • Tipo de Ethernet.
  • VLAN y prioridad.
  • Dirección IPv6 ó IPv4 de origen.
  • Dirección IPv6 ó IPv4 de destino.
  • Puerto UDP o TCP de origen.
  • Puerto UDP o TCP de destino.
  • Protocolo IP (IPv4), Next header (IPv6).
  • Interfaz (SNMP inputifindex, outputifindex).
  • Tipo de servicio IP.
  • Tipo de queries DNS.
  • Entre otras.
 
Cuáles son los beneficios
 
El establecimiento de sFlow nos permite contar con una visibilidad completa y en tiempo real de toda la infraestructura de red, coadyuvando entre muchas cosas:
 
  • Monitoreo de la red, servidores, servicios, ataques e intrusiones desde una sola consola.
  • Identificar fácilmente las redes, computadoras, servidores y puntos de almacenamiento.
  • Supervisar el rendimiento de la telefonía IP, videoconferencias, almacenamiento, cómputo , entre otros dispositivos de red.
  • Identificar la congestión y garantizar la calidad del servicio.
  • Identificar los recursos sobre utilizados y mejorar su eficiencia.
  • Analizar la distribución de contenidos por Multicast.
  • Analizar e implementar ingeniería de tráfico en redes MPLS.
  • Monitoreo de VLAN, QinQ, redes Metroethernet, etcétera.
  • Detectar asimetrías en el enrutamiento.
  • Analizar la conveniencia al momento de interconectar nuevos peers.
  • Asegurar cuotas de tráfico discriminado a través de la capa de aplicación.
  • Inspeccionar y dar seguimiento de usuarios.
 
Qué necesitamos
 
Como objeto de esta demostración se requerirá de los siguientes recursos:
 
  1. Equipo enrutador o switch con soporte de sFlow.
  2. Servidor Linux de la plataforma de su preferencia.
  3. La instalación de un colector de sFlow dentro del servidor Linux, en particular el colector llamado sFlow-RT, consulte:http://www.inmon.com/products/sFlow-RT.php
  4. Un equipo de cómputo con navegador web.
 
 
Para obtener una lista de colectores disponibles, consulte:
http://www.sflow.org/products/collectors.php
 
El estándar, de la industria, sFlow se encuentra actualmente en la versión 5. Para obtener más información, consulte:
http://www.sflow.org
 
 
Cuáles son los pasos que tenemos que seguir
 
  1. Como primer paso realizaremos la configuración del enrutador, para ello utilizaremos como ejemplo un enrutador MLXe-4 de la marca Brocade con la versión de sistema operativo  5.5.0T165.
     a. Desde línea de comando (CLI) ejecutaremos las siguientes instrucciones, en modo de configuración global :
       i. Habilitar sFlow en el equipo:
 
         R1(config)# sflow enable
       ii. Configurar la dirección IPv6 ó IPv4 del servidor que tendrá el rol de colector sFlow y a donde se enviará los      datagramas de sFlow:
R1(config)# sflow destination 192.168.105.33
ó
R1(config)# sflow destination ipv6 FE80::AA8E:F8FF:FE73:B700
iii. Es importante configurar los intervalos o frecuencia en la que se enviarán los datagramas de sFlow (definida en segundos):
R1(config)# sflow polling-interval 10
iv. Otro parámetro importante de la configuración es el denominador de muestreo, que es de 1/N, es decir, por cada N número de tramas que pasan por una interfaz se tomará una sola, esta muestra será registrada y enviada al colector de sFlow. Este valor dependerá de la velocidad del puerto al que será configurado (para más información consultar las recomendaciones del fabricante):
R1(config)# sflow sample 512
 
b. Desde CLI ejecutaremos el siguiente comando, en modo de configuración dentro de la interfaz de red que nos interesa monitorear:
R1(config-if-e10000-4/4)# sflow forwarding
 
La configuración final quedará de la siguiente manera:
 
sflow enable
sflow destination 192.168.105.33
sflow polling-interval 10
sflow sample 512
!
interface ethernet 4/4
port-name ISP1
enable
sflow forwarding
!
 
2. Una vez realizado el paso 1, el enrutador comenzará enviar los datagramas de sFlow al colector de flujos. El siguiente paso es configurar el software sFlow-RT para que pueda analizar el tráfico, por lo que será necesario entrar al siguiente URI (servidor en que instalamos el colector):
 
http://192.168.105.33:8008/flow/html


    1. Para comenzar a obtener los valores de download y upload que pasan por nuestra interfaz troncal recién habilitada con sFlow, configuraremos los siguientes parámetros dentro de la interfaz web del colector de flujos, particularmente dentro del apartado Flows, llenando el siguiente formulario web:
      i. Name: IPv6stack
      ii. Keys: stack
      iii. Value: bytes
      iv. Filter: stack=eth.ip6.tcp|stack=eth.ip6.udp|stack=eth.ip6.icmp6
    2.  
      Presionamos el botón Submit.
       
    3. De la misma manera agregaremos otro registro en el formulario para el stack IPv4:
      i. Name: IPv4stack
      ii. Keys: stack
      iii. Value: bytes
      iv. Filter: stack=eth.ip.tcp|stack=eth.ip.udp|stack=eth.ip.icmp
    4.  
      y finalmente presionamos el botón Submit.
       
      Nota:
      El parámetro value puede ser configurado con cualquier de los siguientes atributos: frames (frames per second), bytes (Bytes per second), requests, duration.
       
      El resultado final quedará de la siguiente manera:



    1. Una vez configurado los flujos, podemos dar un click al registro IPv6stack o IPv4stack y comenzaremos observar en tiempo real los Bytes por segundo que están pasando por la interfaz de acuerdo al stack seleccionado, mostrando los siguientes resultados:
 
Para poder observar gráficas en tiempo real a través del sFlow-RT, en nuestro navegador deberemos colocar los siguientes URI:
 

http://192.168.105.33:8008/metric/ALL/sum:IPv6stack/html
 



http://192.168.105.33:8008/metric/ALL/sum:IPv4stack/html


Con esto concluimos la configuración básica de sFlow, ahora podemos identificar cuántos Bytes por segundo están pasando por la interfaz de red, de la misma manera podemos configurar más flujos con diferentes value por ejemplo frames, para obtener las tramas por segundo que pasan por la misma. Por último, si nos interesa conocer los top senders de las direcciones IPv6 ó IPv4, podemos configurar más flujos en el colector, por ejemplo:
 
Name: IPv6topsender
Keys: ip6source,ip6destination,ip6nexthdr
Value: bytes
 
finalmente presionamos el botón Submit. Con el cual obtendremos la lista de las direcciones que más descargan o suben información en IPv6 ó IPv4, en este caso por ejemplo el protocolo IPv6:




En posteriores artículos se compartirá cómo:
Generar históricos de la información, así como gráficas personalizadas a través de CACTI, InfluxDB o programación con Python y RRDTools; en base a valores obtenidos por las open northbound APIs del colector sFlow-RT.  
Desarrollar aplicaciones SDN con Python, sFlow-RT y OpenFlow 1.3, para detener, redireccionar o dar calidad de servicio al tráfico que pasa por switches y/o enrutadores mediante una controladora SDN, a partir de eventos detectados por un colector de sFlow.
 

Autor: Jaime Olmos
Revisado: Alejandro Acosta, Azael Fernández y José Luis Gaspoz.