Skip to content

Instalando Pi-hole para DNS Local y Bloqueo de Anuncios

En artículos anteriores, hemos recurrido a editar el archivo hosts de nuestra máquina para acceder a los servicios internos de nuestro clúster. Si bien esto funciona, es una solución manual y poco escalable. Hoy, implementaremos una solución mucho más robusta y profesional: Pi-hole.

En esta guía, instalaremos Pi-hole directamente en nuestro servidor Ubuntu.

  • Un servidor Ubuntu funcionando con una IP estática configurada. En nuestra serie, es la 192.168.0.10.
  1. Ejecutar el Script de Instalación Oficial Nos conectamos por SSH a nuestro servidor y ejecutamos el comando oficial de Pi-hole, que descarga y ejecuta el script de instalación automatizado.

    Terminal window
    wget -O - https://install.pi-hole.net | sudo bash
    Ejecutando el script de instalación de Pi-hole
  2. Navegando el Instalador Interactivo El script lanzará un instalador gráfico en la terminal. La mayoría de los pasos son informativos.

    • Pantallas de Bienvenida: Simplemente presiona “OK” en las primeras pantallas informativas.

      Pantalla de bienvenida del instalador de Pi-hole Pantalla de bienvenida del instalador de Pi-hole
    • IP Estática: El instalador nos recuerda que Pi-hole necesita una IP estática, algo que ya configuramos en nuestro servidor Ubuntu. Continuamos.

      Aviso de IP estática
    • Seleccionar Interfaz de Red: Elegimos la interfaz de red principal de nuestro servidor (normalmente eth0 o similar).

      Seleccionando la interfaz de red
    • Seleccionar Proveedor DNS “Upstream”: Aquí elegimos a qué servidor DNS público le preguntará Pi-hole cuando no conozca una dirección (ej. google.com). Google es una opción sólida y confiable.

      Seleccionando el proveedor de DNS upstream
    • Configuraciones por Defecto: Para las siguientes pantallas (listas de bloqueo, logging y modo de privacidad), simplemente aceptamos las opciones por defecto presionando “Yes” o “Continue”. Son excelentes para un uso general.

      Aceptando las listas de bloqueo por defecto Habilitando el registro de consultas Seleccionando el modo de privacidad
  3. ¡Instalación Completa y Contraseña! El instalador finalizará y nos mostrará una pantalla de resumen crucial.

    Resumen de la instalación con la contraseña de administrador

    El proceso finaliza y nos devuelve a la línea de comandos.

    Proceso de instalación finalizado en la terminal
  1. Iniciar Sesión en la Interfaz Web Abrimos un navegador y vamos a la dirección IP de nuestro servidor seguido de /admin (ej. http://192.168.0.10/admin). Usamos la contraseña que guardamos en el paso anterior para iniciar sesión.

    Pantalla de inicio de sesión de Pi-hole

    Una vez dentro, veremos el panel de control principal, que nos muestra estadísticas sobre las consultas DNS y los dominios bloqueados.

    Panel de control principal de Pi-hole
  2. Añadir Registros DNS Locales Este es el paso clave para nuestro entorno de desarrollo.

    • En el menú de la izquierda, navegamos a Local DNS > DNS Records.
    • Añadimos nuestros dominios internos (rabbitmq.codedesignplus.app, vault.codedesignplus.app, etc.) y los apuntamos a la IP de nuestro Ingress Gateway de Istio (192.168.0.30).
    Añadiendo registros DNS locales en Pi-hole
  3. Configurar tu Red para Usar Pi-hole Ahora, debemos decirle a nuestros dispositivos que usen Pi-hole como su servidor DNS. Hay dos maneras de hacerlo:

    • Método 1: A Nivel de Host (Recomendado para este tutorial) Configuramos el DNS directamente en la interfaz de red de nuestra máquina de desarrollo. En Windows, esto se hace en las propiedades de IPv4 del adaptador de red. Establecemos el “Preferred DNS server” a la IP de nuestro Pi-hole (192.168.0.10).

      Configurando el DNS en el adaptador de red de Windows
    • Método 2: A Nivel de Red (Opcional) Si quieres que todos los dispositivos de tu red (móviles, tablets, etc.) usen Pi-hole automáticamente, puedes configurarlo en los ajustes de DHCP de tu router, estableciendo la IP de Pi-hole como el DNS primario.

      Configurando el DNS primario en el router (opcional)
  4. Verificar que Todo Funciona Abrimos una terminal en nuestra máquina de desarrollo y usamos el comando nslookup para hacer una consulta DNS.

    Terminal window
    nslookup rabbitmq.codedesignplus.app
    nslookup vault.codedesignplus.app

    La respuesta es perfecta: nos muestra que el servidor DNS que respondió es nuestro Pi-hole (192.168.0.10) y que la dirección resuelta para nuestros dominios es la de nuestro Ingress Gateway (192.168.0.30).

    Verificando la resolución de DNS con nslookup

¡Felicidades! Has instalado y configurado con éxito Pi-hole, una de las herramientas más queridas en el mundo del homelab. Ahora tienes:

  • Un bloqueador de anuncios y rastreadores para toda tu red.
  • Un servidor DNS local centralizado que elimina la necesidad de gestionar archivos hosts y te prepara para un flujo de trabajo de desarrollo más profesional.

Con esta pieza final de nuestra infraestructura de red en su lugar, estamos listos para continuar con el despliegue de más componentes de nuestro ecosistema, sabiendo que la resolución de nombres interna está en buenas manos.