Distributed Network 42 con OpenWrt (Parte 3)

Una vez configurado OpenVPN como se indico en Distributed Network 42 con OpenWrt (Parte 1) y de haber establecido una sesion Border Gateway Protocol (BGP), para el intercambio de rutas (peering), como se explico en Distributed Network 42 con OpenWrt (Parte 2) ya tiene que haber conectividad con Distributed Network 42 (dn42) y el resto de redes que interconecta.

Lo siguiente es integrar todo lo anterior en los ficheros de configuración de OpenWrt y resolver el dominio .dn42. Si se quiere se puede resolver también el dominio .hack, que pertenece al Chaos Computer Club (CCC) de Hamburgo quien mantiene un sistema VPN (ChaosVPN) para conectar hackers.
El Chaos Computer Club es la mayor asociación de hackers de Europa. El CCC fue fundado en Berlín en 12 de septiembre de 1981 en la sede del periódico Die Tageszeitung, por Wau Holland y otros, anticipándose al rol que tendría la informática en la forma en que la gente vive y se comunica. Es ampliamente conocido por las demostraciones públicas de problemas de seguridad. El Chaos Computer Club se hizo famoso mundialmente cuando hackeó la red Alemana Bildschirmtext y consiguieron que un banco en Hamburgo transfiriera 134.000 Marcos (67.000 euros) a las cuentas del club. El dinero se devolvió al día siguiente ante la prensa.

Distributed Network 42 con OpenWrt (Parte 2)

En Distributed Network 42 con OpenWrt (Parte 1) se configuro un túnel OpenVPN punto a punto contra alguno de los miembros de dn42, ahora hay que establecer una sesión Border Gateway Protocol (BGP) a través del túnel para intercambiar rutas (peering).


Entre los paquetes disponibles en OpenWRT puedes encontrar dos demonios de routing que soportan BGP.
  • Bird: Usado por varios Internet Exchange Points (IXPs) por su gran escalabilidad pero, por lo menos a simple vista, bastante complicado de configurar.
  • Quagga: Según parece tiene algunos problemas de escalabilidad pero, al nivel que lo vamos a usar, no nos debería de preocupar.

Distributed Network 42 con OpenWrt (Parte 1)

Distributed Network 42 (dn42) se puede definir como una Darknet, una red oculta dentro de la red global que es Internet. Esta formada por túneles punto a punto (GRE, IPSec u OpenVPN) entre los usuarios, mediante los que se intercambian rutas (peering) usando Border Gateway Protocol (BGP).
Actualmente el término Darknet no tiene una definición universalmente aceptada. Sin embargo, basándose en las versiones actuales más populares, se puede decir que la Darknet es una colección de redes y tecnologías usadas para compartir información y contenidos digitales (ej. textos, software, canciones, imágenes, películas) que está "distribuida" entre los distintos nodos y que trata de preservar el anonimato de las identidades de quienes intercambian dicha información, es decir, persiguen el anonimato del origen y el destino cuando se produce la transferencia de información. En la definición anterior, cuando se habla de redes, no se refiere a redes físicas separadas de las redes actuales sino a redes superpuestas que pueden usar protocolos y puertos "no estándar" sobre la red subyacente.
En este caso la definición anterior no se ajusta del todo, la filosofía es distinta, el fin principal no es el anonimato sino ofrecer una oportunidad para explorar las tecnologías de routing usadas en Internet. A parte interconecta con otras Darknets, que quizás se ajusten mas a la definición.

Virtualización con Quick Emulator (QEMU)

Quick Emulator (QEMU) es un sistema de virtualización que puede usar Kernel-based Virtual Machine (KVM), para aprovechar las instrucciones de virtualización existentes en la mayoría del hardware actual (Intel VT o AMD-V).
QEMU es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del código binario de la arquitectura fuente en código entendible por la arquitectura huésped). QEMU también tiene capacidades de virtualización dentro de un sistema operativo, ya sea GNU/Linux, Windows, o cualquiera de los sistemas operativos admitidos, (de hecho es la forma más común de uso).
Kernel-based Virtual Machine o KVM, (en español, Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.

Optimizacion de MAKEOPTS en Gentoo

Traducción del articulo MAKEOPTS="-j${core} + 1" is NOT the best optimization publicado por Agostino Sarubbo (ago), que forma parte del Proyecto Gentoo/AMD64, participando tanto en su desarrollo como en la estabilización.

MAKEOPTS="-j${core} + 1" NO es la mejor optimización
Muchas veces, al ajustar el make.conf en sistemas con una arquitectura concreta, he dudado con que valor es el mejor para la opción -jobs. El manual de Gentoo sugiere usar ${core} + 1, pero por curiosidad quise comprobarlo por mi mismo para asegurarme de que es lo adecuado.

Para realizar correctamente la prueba necesitamos un paquete con un sistema de construcción consistente que respete la paralelización y tarde por lo menos unos minutos en compilarse. De otra forma, con paquetes que se compilen en unos segundos no podremos notar realmente la diferencia. kde-base/kdelibs es, en mi opinión, perfecto.

Si usas una arquitectura en la que no este disponible kde-base/kdelibs, simplemente reemplazalo por otro paquete basado en cmake.