Blog Archives

Consideraciones para implementar IPv6 en Linux

Fui invitado por Amanda Mafla y la gente del FLISOL en Ibarra (Ecuador) para participar en un evento en la Universidad Técnica del Norte en el que realicé una presentación introductoria sobre IPv6.

Es la segunda vez que participo en un evento de la UTN, y nunca han fallado en la convocatoria, muy por encima de las cien personas, en esta oportunidad para compartir sobre IPv6. Así que gracias de nuevo a las autoridades y los organizadores por la invitación.

Lo primero que quiero aclarar es que el estilo de la presentación está a medio camino entre Lessig y Matz. Por eso las láminas podrían no mostrar información de manera estructurada o como referencia y les invito a que revisen los enlaces complementarios si necesitan más información.

Esta presentación es la primera en una serie de actividades que tengo preparadas sobre IPv6 durante el año, y la realizo el día antes de que se inicie la reunión anual de LACNIC en Quito.

Revisiting IPv6 Web adoption in LATAM

This is a follow-up post of my older Stalking IPv6 adoption post.

I’ve recently revisited the issue of trying to measure IPv6 adoption from the Web perspective. Just as I did last time, I’m using Search Engine Results to find domains, that I’ll later massage with Unix tools to build hostnames and then try to resolve AAAA for them.

This time I’m using Bing. Bing has rapidly become a search engine of choice for developers in terms of their API and pretty fair usage terms. Yahoo! did some ugly moves with their BOSS platform and Google has always been quite crappy for developers. So this leaves Bing; no wonder the awesome DuckDuckGo search engine is built on top of it (and 50+ other sources, but no Google)

Bing::Search is also now available on CPAN which makes it easier for me as a Perl-er to write something real quick. So with that and with Domain::PublicSuffix I manage to build a pretty tool.

The issue relies on the algorithm. Search engines are, by nature, restricted to a number of results. Bing does the first 1000.

But then, a single domain can fill up 1000 results easily, so I’m using a neat trick: I’m scanning the domains in the first page, and using the – operator (yes, Bing continues to support – and + despite Google did that awful change to accommodate their Google+ platform) to remove results. Then I iterate until the query is too long for Bing to handle, and explore the 1000 results. My next step is to weigh first and remove only the heavier domains, but I predict this will not give me large differences (most likely about 30% of the Search Engine API limit)

This gives me a pretty large number of domains to hande, so I can build AAAA queries.

My results are:

Requests? Twitter: @bureado

Puntero Nulo – Episodio 5

Escúchalo:: PunteroNulo-Episodio5

La semana pasada me dijeron que el podcast era demasiado técnico. Gracias, aunque siempre intento digerir las noticias de tecnología algunos días después de que estén de moda (para no caer en la agenda) y de una forma que sea comprensible para la mayoría de la audiencia técnica.

Como siempre, sus comentarios y sugerencias son siempre bienvenidos en el correo j en bureado.com y en Twitter, @bureado.

De facto, el podcast ha estado saliendo quincenal así que mejor no engañaos. A continuación las fuentes de este episodio:

Enabling 6to4 with FireHOL

I use FireHOL as my iptables helper. FireHOL has proven very effective in managing complex set of rules, including multiple interfaces and protocols, “strong” protection against several types of attacks, and other stuff that would take me a huge amount of time to take care of. And, when it comes to security, analysis time is paralysis time.

However, FireHOL isn’t particularly aware of IPv6, rest alone tunneling techniques, such as Teredo or 6to4. 6to4 does encapsulate IPv6 traffic on top of IPv4 traffic to an anycast address (in most scenarios) and iptables does support protocol filtering using numeric code 41 which equals to ‘ipv6′.

A solution: create a new interface with matching rules to proto 41, and then set your restrictions accordingly:

interface eth0 6tunnel proto 41        # Example policy        policy accept        server all accept        client all accept

If you’re not using FireHOL, and rather some homebrew iptables script, you could always use -p 41

6to4 is a very effective way to start using IPv6 if you have an static, globally routeable IPv4 address. ifupdown provides a very elegant way of managing it, which is documented in Debian’s wiki.

Stalking IPv6 adoption in LatAm govements

Motivado por una reciente discusión en la lista de LACNOG, promovida por Carlos Martínez de Uruguay, escribí un pedazo de código en Perl que permitiera cosechar una lista de dominios de gobieo (gov.cc, gob.cc) sobre los cuales consultar un conjunto de prefijos que pudieran potencialmente reflejar el despliegue de uno o más servidores IPv6 de cara a Inteet.

Intenté realizar las búsquedas utilizando Google, pero las API de búsqueda de este servicio parecieran no ayudar devolviendo un número útil de resultados. Estoy usando Yahoo! aunque al no tener una aplicación registrada la API solo devuelve 1000 resultados. Mejor que nada.

Este script (unique-domain-builder) en Perl realiza una consulta genérica en el buscador y utiliza un módulo de Perl para obtener el dominio base de la URL retoada. El programa se encarga de manejar los casos repetidos, y de sacar en STDOUT una lista de dominios con los potenciales prefijos ya añadidos, como ipv6, www6, entre otros.

Pude haber agregado al programa en Perl alguna librería de resolución DNS para verificar la resolución de registros AAAA para estos dominios y subdominios generados, pero decidí por ahora reusar la popular herramienta host de Unix para la verificación, basta con correr host $dominio y hacer un grep por IPv6.

¿Resultados? Luego de buscar en 1666 registros para Venezuela, 2765 para Ecuador, 3871 para Argentina y 2009 para Brasil, solo obtengo resultados para corpoelec.gob.ve (donde, por cierto, trabajé hace unos años y desplegamos varios servicios en IPv6)

¿Inconvenientes? Muchos. En primer lugar, este no debería ser el mejor mecanismo para buscar información sobre la adopción de IPv6. Además, esto solo mide adopción, y no despliegue o aprovechamiento de IPv6 para algo más que alcanzar un hito. Para leer más rants, puedes unirte a la lista de LACNOG.

Follow

Get every new post delivered to your Inbox.

Join 1,800 other followers