Instalar Pihole
La instalación de Pihole es muy sencilla, y no requiere de grandes requisitos para funcionar, ya que en si, el software es muy liviano.
Se puede instalar en casi cualquier cosa desde un servidor virtual mínimo, una Raspberry Pi o junto con otra instancia de cualquier cosa que no tenga configurado un listener en el puerto 53 (DNS)
Requisitos
Mín. 2 GB de espacio libre, se recomiendan 4 GB
512 MB de RAM
Como podemos ver, "cabe" en casi cualquier cosa que montemos.
A pesar del nombre, no está limitado a ejecutar Pi-hole en una Raspberry Pi. Cualquier hardware que ejecute uno de los sistemas operativos compatibles servirá. Pi-hole es compatible con distribuciones que utilizan systemd o sysvinit
Sistemas operativos compatibles
Distribución | Versión | Arquitectura |
---|---|---|
Raspberry Pi OS (formerly Raspbian) |
Buster / Bullseye | ARM |
Armbian OS | Cualquiera | ARM / x86_64 / riscv64 |
Ubuntu | 20.x / 22.x / 23.x | ARM / x86_64 |
Debian | 10 / 11 / 12 | ARM / x86_64 / i386 |
Fedora | 36 / 37 / 38 | ARM / x86_64 |
CentOS Stream | 8 / 9 | x86_64 |
Direccionamiento IP
Pi-hole necesita una dirección IP estática para funcionar correctamente (valdría también con una reserva DHCP).
Puertos
Servicio | Puerto | Protocolo | Notas |
---|---|---|---|
pihole-FTL | 53 (DNS) | TCP/UDP | Si tienes otro servidor DNS en ejecución, como BIND, deberás desactivarlo para que Pi-hole responda a las consultas de DNS. |
pihole-FTL | 67 (DHCP) | IPv4 UDP | El servidor DHCP es una característica opcional que requiere puertos adicionales. |
pihole-FTL | 547 (DHCPv6) | IPv6 UDP | El servidor DHCP v6 es una característica opcional que requiere puertos adicionales. |
lighttpd | 80 (HTTP) | TCP | Si ya tienes otro servidor web ejecutándose, como Apache, el servidor web de Pi-hole no funcionará. Puedes desactivar el otro servidor web o cambiar el puerto en el que escucha lighttpd, lo que le permite mantener ambos servidores web en funcionamiento. |
pihole-FTL | 4711 | TCP | FTL es el puerto del motor API y utiliza el puerto 4711 en la interfaz localhost. No se debe poder acceder a este puerto desde ninguna otra interfaz. |
Ahora vamos a ver como instalarlo en un servidor del panel de Neodigit o en cualquier máquina con Debian
Instalación
La instalación es muy sencilla y bastará con ejecutar un simple comando
curl -sSL https://install.pi-hole.net | bash
O bien descargar el ejecutable y ejecutarlo
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
También se puede instalar mediante un clon de su repositorio de git
git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
cd "Pi-hole/automated install/"
sudo bash basic-install.sh
Instalación en Docker
También se puede instalar en docker, la forma más sencilla con docker copose creando un fichero docker-compose.yml:
version: "3"
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp" # Only required if you are using Pi-hole as your DHCP server
- "80:80/tcp"
environment:
TZ: 'Europe/Madrid'
WEBPASSWORD: 'TecnocraticaMola' #'set a secure password here or it will be random'
# Volumes store your data between container upgrades
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
restart: unless-stopped
Configurar equipos
El siguiente paso es configurar como DNS en nuestros equipos de red, para que usen nuestro Pihole cono servidor DNS de nuestra red.