Filtrar el tráfico web con Pi-Hole y Orange Pi Zero

Categoría: Orange Pi Creado: Lunes, 26 Junio 2017 Publicado: Lunes, 26 Junio 2017 Escrito por Francisco Javier Sánchez Gragera

¿Harto de aguantar publicidad en portátiles, tablets y móviles? ¿Vas a leer un artículo del periódico y no puedes distinguir noticia de publicidad? ¿El perrito de Amazon ya no te da pena aunque esté cojo el pobrecico? Esto no puede seguir así, al menos no en nuestra casa.

Hoy os voy a hablar de uno de los usos más prácticos que he encontrado para nuestras pequeñas placas sbc, ya sean raspberry pi, orange pi u otro fabricante. Se trata de Pi-Hole, un bloqueador de publicidad que actúa a nivel de DNS, y que una vez instalado bloqueará la publicidad de cualquier dispositivo que se conecte a nuestra red.

 

Pi Hole

 

Lo que vamos a hacer en realidad es montar un pequeño servidor DNS en nuestro mini-pc, que deberá estar siempre encendido y conectado al router, filtrando así el tráfico que pueda transitar por nuestra red. El filtro de DNS se realiza contrastando las peticiones que se realizan en la red con una lista negra de publicidad, no dejando pasar las peticiones que se encuentran en dicha lista negra. Este servicio de DNS consume muy pocos recursos, por lo que priorizaremos en nuestro servidor el bajo consumo eléctrico a la potencia de procesamiento.

Las principales ventajas de Pi-Hole son:

  • Actúa de forma global en la red. Si tenemos instalado un dispositivo con Pi-Hole no será necesario instalar programas o complementos en cada ordenador, móvil y tableta de nuestra casa. Pi-Hole filtra el tráfico de todos los dispositivos conectados a nuestra wifi, incluso de los invitados.
  • Al filtrarse el tráfico desde nuestra Orange Pi, la publicidad no llega a pasar a nuestros móviles y pc's. Se reduce así el consumo de datos en móviles ya que no llegan a almacenarse en la caché, y las páginas funcionan así más rápido.
  • Podemos usar Pi-Hole para desplegar por nuestros dispositivos las DNS protegidas de Norton. De esta forma además de la publicidad filtrada por Pi-Hole, nos llegará el tráfico filtrado desde Norton eliminando fuentes de virus, malware, pornografía, casinos on line o descargas torrent. Esto sin duda es interesante si tenemos hijos pequeños, pero hay que tener en cuenta que las DNS de Norton son mas lentas que las de Google; y si las usamos veremos afectada la velocidad de resolución de páginas web.
  • Pi-Hole es ideal para uso también en empresas, pudiendo proteger nuestra red de publicidad y basura. Podemos usar las DNS de Norton igualmente.
  • Pi-Hole es personalizable. Si se corta el tráfico de alguna fuente que nos interese recibir podemos incluirla en una lista blanca de direcciones. Igualmente tenemos una lista negra personal dónde añadir sitios a bloquear.

Pensé de inmediato que sería un bueno uso para una vieja Raspberry Pi Model B+, ya que tiene un consumo eléctrico muy bajo debido a su modesto procesador. Como no tenía ninguna, elegí nuevamente la Orange Pi Zero en su versión de 256 MBytes de Ram, con capacidad de sobra para soportar Pi-Hole, de reducido tamaño y muy económica.

 

Orange Pi Zero

 

¿Y qué pasa con el consumo? Bueno, aunque las orange pi son económicas y potentes, también es verdad que consumen más que una raspberry pi b+ y se calientan mucho. Por suerte para nosostros el funcionamiento del procesador es escalable, y sistemas operativos como DietPi permite forzar un uso conservativo de la CPU reduciendo la frecuencia de funcionamiento y el voltaje. Forzando el modo "ahorro de energía" de la cpu se puede alimentar la orange pi zero con un adaptador de 1 amperio, y se mantiene a una temperatura correcta sin necesidad de ventilador.


Componentes necesarios:

Una vez tengamos todos los componentes ensamblarlos es muy fácil. Colocamos los disipadores de calor sobre la CPU y la memoria, montamos la placa en su caja, conectamos el cable ethernet de la orange pi al router, y enchufamos el transformador de corriente Micro-USB y la tarjeta MicroSD cuando estemos listos para comenzar.


Instalación del Software:


Instalación de DietPi

Este sistema operativo tiene una herramienta llamada "Dietpi-Software" que contiene scripts para instalar multitud de programas, entre los que podemos encontrar Pi-Hole. Cuenta además con un menú de configuración del sistema, que nos permite usar el modo de CPU "ahorro de energía" que antes comentamos. No obstante la instalación en otros sistemas, como Armbian o Ubuntu, es muy sencilla; tan sólo debemos ejecutar el comando curl -sSL https://install.pi-hole.net | bash, teniendo instalado de antemano curl y contando con permisos e administrador. Prosigamos con DietPi:

  1. Descargamos la imagen: En la sección de descargas buscamos nuestra placa y descargamos el archivo de imagen comprimido en 7z
  2. Escribimos la tarjeta microSD: Descomprimimos el archivo 7zip y obtenemos la imagen .img. Usando el programa win32diskimager seleccionamos el archivo de imagen, elegimos la unidad de la microSD y pulsamos "Write".
  3. Preconfiguramos la instalación de Dietpi: Dado que no tenemos salida de vídeo en nuestra Orange Pi Zero, debemos asegurarnos el acceso mediante ssh para poder continuar la instalación. Desde el pc encontraremos en la microSD un archivo llamado dietpi.txt. En él podemos configurar ciertos parámetros para que la instalación arranque de acuerdo a ellos. Estos son las direcciones y opciones que yo usé :
    • En el apartado #Enter your Static Network details below, if applicable configuraremos la red
      • Use_Static=1
      • Static_IP=192.168.1.2 (por ejemplo)
      • Static_Mask=255.255.255.0
      • Static_Gateway=192.168.1.1
      • Static_DNS=8.8.8.8
    • En el apartado #Hostname configuraremos el nombre del equipo en la red.
      • Hostname=pihole
    • En el apartado #Global Password to be applied for the system pondremos la contraseña que queramos, que se aplicará al root de dietpi y se establecerá por defecto en los scripts de instalación de software:
      • AUTO_Global_Password=******** (aquí ponemos la contraseña deseada)
  4. Arrancar la Orange Pi con la microSD: Extraemos la microSD con seguridad del PC y la introducimos en la Orange Pi Zero. Conectamos el transformador de corriente y observamos que la Orange Pi Zero arranca y se reinicia 2 veces, durante este proceso la imagen que grabamos en la microSD se expande para ocupar la totalidad de la capacidad.
  5. Conectamos vía SSH: Usando un cliente SSH para windows como Putty conectamos a nuestra Orange Pi, usando la dirección ip que indicamos en la preconfiguración. El nombre de usuario para acceder es "root", y la contraseña por defecto "dietpi". Si cambiamos la contraseña global en dietpi.txt, usaremos la contraseña que pusimos en ese momento. En el primer log-in Dietpi realizará una actualización automática a la última versión disponible.
  6. Configuración de Dietpi: Tras actualizarse se ejecutará el script dietpi-config, que nos guiará por la configuración de los distintos parámetros del sistema operativo, como son las opciones de red, opciones regionales, de fecha y hora, overclocking, etc. En este punto podemos configurar el perfil "ahorro de energía" para la CPU, entrando en Performance Options -> Change CPU Governor -> PowerSave. Hay una guía completa de Dietpi-Config en www.dietpi.com
  7. Instalación de software guiada: Resulta muy cómodo para las personas que no tenemos dominio de linux. Mediante el script dietpi-software se nos guiará en la instalación de multitud de programas disponibles, ordenados por categorías. Podemos consultar los programas disponibles en la ayuda de dietpi-software.

 

dietpi-software

 

Instalación de Pi-Hole:

Aunque podemos instalar Pi-Hole siguiendo las instrucciones del autor, existe en "Dietpi-Software" un script preparado para ello. Dietpi además se actualiza con mucha frecuencia, y si usamos los scritps de instalación de Dietpi-Software nos aseguraremos de que todo funciona correctamente cada vez que se recibe una de estas actualizaciones.

Comencemos con el proceso:

  1. Conectamos vía ssh: Utilizando putty, accedemos a la dirección de la Orange Pi Zero, puerto 22. El usuario es root y la contraseña la que pusimos en dietpi.txt
  2. Script dietpi-software: Una vez conectados por ssh, ejecutamos el script dietpi-software para instalar el programa.
    1. Entramos en el apartado Software Optimized.
    2. Nos desplazamos con los cursores hasta Pi-Hole, marcamos con la tecla espacio, y aceptamos con ok, saliendo así del listado de programas
    3. Seleccionamos ahora install y pulsaremos enter, comenzará la instalación.
      • Se nos pregunta durante el proceso de instalación si tenemos ip estática, y se nos da opción a ponerla si no es así.
      • Si se pide aprobación para instalar la interfaz web de Pi-Hole lo aceptaremos. La interfaz web hace que el uso de Pi-Hole sea mucho más sencillo.
      • También se pide las DNS a usar. Estas DNS son las que se usarán como fuente, después Pi-Hole actuará contrastando las peticiones DNS con la lista negra de publicidad, y dejará pasar al pc o móvil solo las que no se marquen cómo publicidad. Existen muchas DNS que podemos utilizar, entre las que destacaría:
        • DNS Google: 8.8.8.8 - 8.8.4.4
        • DNS Norton Nivel 1 Seguridad (malware, physing...): 199.85.126.10 - 199.85.127.10. Más lentas que Google, pero el tráfico viene filtrado desde Norton contra virus y malware.
        • DNS Norton Nivel 2 Seguridad + Pornografía: 199.85.126.20 - 199.85.127.20. Como el nivel 1 de Norton, filtrando además la pornografía.
        • DNS Norton Nivel 3 Seguridad + Pornografía: 199.85.126.30 - 199.85.127.30. El más seguro de todos, filtra virus, malware, pornografía, apuestas y descargas ilegales.
      • Como podemos observar, podemos aprovechar Pi-Hole para que nuestros hijos naveguen de forma segura por internet.
    4. Comprobamos la instación accediendo a la interfaz web, escribiendo la ip de la orange pi + "/admin". En mi caso: "http://192.168.1.2/admin". Se nos presenta una interfaz con las estadísticas más importantes, y tenemos la opción de identificarnos con la contraseña de root (si usamos el script de dietpi se asigna el root general del sistema). Una vez identificados tenemos además opciones de configuración de Pi-Hole.

 

Consola Pi Hole

 

Ya tenemos listo nuestra Orange Pi Zero con Pi-Hole, pero aún nos queda un último paso para que todo entre en funcionamiento. Debemos entrar en la configuración de nuestro router, y especificar que el servidor de DNS utilizados para las conexiones DHCP es la dirección ip interna de nuestra orange pi zero con pi-hole. Cada router es distinto, y deberemos consultar el manual del fabricante para ver cómo hacer esto. Puede ocurrir que nuestro router no permita alterar estas DNS, pero podemos deshabilitar el DHCP del router y dar el control de este protocolo a Pi-Hole desde la pantalla de configuración.

 

Pi Hole Configuración

 

A partir de este momento tendremos nuestra red protegida. Deberemos forzar la re-conexión de nuestros dispositivos para empezar a disfrutar de las ventajas que Pi-Hole nos ofrece. Desde el menú de configuración de la interfaz podemos acualizar las listas de bloqueos, cambiar dns, ver estadísticas, hacer copias de seguridad de la configuración.... Podemos consultar la sección de preguntas frecuentes en pi-hole.

Cómo vemos el uso de Pi-Hole es realmente provechoso, tan solo perjudica a las personas que usa publicidad para monetizar las web. Espero que os haya gustado el artículo, si tenéis alguna duda intentaré contestarla. ¡Hasta la próxima!

Visto: 870

Escribir un comentario


Código de seguridad
Refescar