Resolviendo DNSs internos y bloqueando anuncios

 

Quiero el acceder a mis servicios por nombre en vez de IP:port. Para ello montaré un reverse proxy. Pero antes, voy a configurar un servidor DNS interno para resolver la zona, porque no quiero exponer todos los nombres a Internet. Aquí es donde entra en juego Pi-hole. Además con él puedo configurar el bloqueo de anuncios en mi red.

Desplegar Pi-hole sobre un LXC

En mi entorno con Proxmox VE tengo la posiblidad de montar de manera nativa LXC Containers. No necesito montar una máquina virtual porque quiero consumo bajo de recursos, rendimiento decente, y no estoy pensando en escalar el sistema. Además, gracias a los Proxmox VE Helper-Scripts, puedo desplegar Pi-hole con un solo comando.

Pi-hole LXC
Pi-hole is a free, open-source network-level advertisement and Internet tracker blocking application. It runs on a Raspberry Pi or other Linux-based systems and acts as a DNS sinkhole, blocking unwanted traffic before it reaches a user’s device. Pi-hole can also function as a DHCP server, providing IP addresses and other network configuration information to devices on a network. The software is highly configurable and supports a wide range of customizations, such as allowing or blocking specific domains, setting up blocklists and whitelists, and customizing the appearance of the web-based interface. The main purpose of Pi-hole is to protect users’ privacy and security by blocking unwanted and potentially malicious content, such as ads, trackers, and malware. It is designed to be easy to set up and use, and can be configured through a web-based interface or through a terminal-based command-line interface.

To create a new Proxmox VE Pi-hole LXC, run the command below in the Proxmox VE Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pihole.sh)"

Configuración

DNS local

En Local DNS > DNS Records puedo gestionar las entradas DNS locales. Puedo asignarle un subdominio a una IP, como en el ejemplo, para acceder al servicio por nombre:port. Más adelante, cuando configure el proxy me podré saltar la parte del puerto y además, añadirle un certificado.

List of local DNS domains

Bloquear anuncios

Para bloquear anuncios estoy usando la lista por defecto, no descarto añadir alguna en un futuro. En Adlists.

List of adlists

Establecer Pi-hole en mi LAN

Por último, he puesto en mi DHCP Server, que es el router de mi ISP, como configuración de “DNS Server” la IP del host con Pi-hole.

Resultados

Ya puedo resolver servicios por nombre

Resolución por nombre

y se me bloquean anuncios en las webs en cualquier dispositivo de casa.

Antes y después


💭 Post scriptum

Antes de desplegar en “producción” Pi-hole, con el objetivo de usarlo como DNS local, había probado AdGuard Home como bloqueador de anuncios. También me he informado sobre Technitium DNS.

Pi-hole no es la mejor opción ni en cuanto a rendimiento ni en cuanto a características, pero lo he montado simplemente porque es el más popular y me hacía gracia tenerlo.

Ahora mismo no tengo HA de servidor DNS, por lo que en algún momento futuro posiblemente implemente alguna de las otras soluciones.