Traducido con IA. Este artículo se escribió originalmente en francés y lo tradujo Claude, la IA de Anthropic. El original en francés sigue siendo la versión de referencia.

¿Por qué debería interesarme?

El split DNS (DNS dividido) es una estrategia ingeniosa que permite acceder a tus servicios autoalojados de la misma forma, tanto si estás en tu red local como en Internet.

En resumen, cuando estás en casa puedes acceder a tus servicios mediante su dirección IP y su número de puerto. Pero una dirección IP es más difícil de recordar que un nombre de dominio, y además así te ahorras los avisos de certificados no válidos.

Un último punto: el split DNS es simplemente imprescindible si quieres usar servicios cuya aplicación móvil te pide la dirección del servicio.

Tomemos como ejemplo la aplicación móvil de Nextcloud (Android/iOS). Desde casa conseguirás configurarla sin mucho problema con la dirección IP 192.168.x.y. En cambio, cuando estés fuera, dejará de funcionar (dejo a un lado a propósito el caso de una conexión VPN para este ejemplo).

Con una configuración por nombre de dominio y el split DNS en marcha, ¡se acabaron los problemas!

¿Qué necesitas?

En primer lugar, hay que entender que montar un split DNS impone ciertos requisitos, así que conviene revisar tu instalación.

Tu router permite cambiar los servidores DNSTu router no permite cambiar los servidores DNS :'(
- Poner en marcha uno (o dos) servidores DNS autoalojados (Unbound, Pi-hole) - Configurar el DNS para resolver los nombres de tu dominio con las direcciones IP locales- Comprar un nuevo router que permita configurar el DNS - Poner en marcha uno (o dos) servidores DNS autoalojados (Unbound, Pi-hole) - Configurar el DNS para resolver los nombres de tu dominio con las direcciones IP locales

Como cliente del operador francés Orange, estoy en el segundo caso, y fue uno de los motivos que me llevaron a comprar un segundo router, que coloco delante de mi Livebox.

Caso práctico: OPNsense y Unbound DNS

Con Unbound, un servidor DNS de alto rendimiento, podemos configurar el split DNS en unos pocos pasos sencillos. Te guiaré por el proceso paso a paso.

Primero, abre la interfaz web de OPNsense y ve a la sección Unbound DNS. Allí encontrarás los ajustes necesarios para configurar el split DNS en el menú Services > Unbound DNS > Overrides.

A continuación, identifica los dominios que quieres gestionar dentro y fuera de casa. Este paso es crucial para definir las reglas de enrutamiento DNS adecuadas.

Después solo tendrás que crear un «Override» para indicar a tu servidor DNS que redirija todas las peticiones del dominio o subdominio a la dirección IP que elijas.

Si has seguido mis artículos, sabrás que uso HAProxy como proxy inverso. Así que simplemente redirigí todas las peticiones a «liberix.net» hacia mi proxy inverso, que se encarga de dirigir el tráfico a la máquina correcta con el nivel de seguridad adecuado.

El caso de Pi-hole

Instalar Pi-hole es bastante sencillo y, una vez más, la relación entre el tiempo invertido y el beneficio diario es muy positiva.

¿Cómo instalarlo?

Tienes varias opciones:

Para este artículo opté por el primer método.

Al cabo de unos minutos, tu Pi-hole estará instalado y disponible en la dirección indicada al final del script.

Para cambiar la contraseña de la interfaz de administración, hay que ejecutar un comando en la máquina creada para Pi-hole:

sudo pihole -a -p

¡Y listo! 183 512 nombres de dominio filtrados por defecto con la lista de bloqueo predeterminada.

Configurar la resolución local de tu nombre de dominio

Para resolver tus nombres de dominio con su IP local, ve a «Local DNS > DNS Records».

Si tienes varios subdominios que quieres resolver localmente, te recomiendo declarar solo tu nombre de dominio como DNS record y referenciar los subdominios como «CNAME Records». Así evitarás editar 50 entradas si cambia la dirección IP de destino.

Añadir listas de bloqueo a Pi-hole

Te hablé del sitio OISD para las listas de bloqueo. En Pi-hole, añadirlo es muy sencillo.

Desde la interfaz de administración, ve al menú «Adlists» y añade una de las listas de OISD:

https://small.oisd.nlSe centra principalmente en bloquear la publicidad
https://big.oisd.nlBloquea publicidad, anuncios en aplicaciones (móviles), phishing, publicidad maliciosa, malware, spyware, ransomware, cryptojacking y estafas
https://nsfw.oisd.nlBloquea sitios pornográficos, impactantes o para adultos

Una vez añadida, hay que descargar la lista e integrarla en el motor de filtrado. Ve al menú «Tools > Update Gravity» y haz clic en «Update».

Tu lista de bloqueo contiene ahora 228 800 dominios.

Activar el nuevo DNS

Para activar este nuevo servidor DNS, basta con cambiar tu servidor DNS por la IP del servidor Pi-hole.

Puedes hacerlo en una sola máquina o a nivel de tu router.

¡Alojar tu propio servidor DNS tiene premio!

Sí: alojar tus propios servidores DNS también abre la puerta al filtrado de Internet por DNS. Ya no necesitas uBlock ni ninguna otra extensión para el navegador. Todo ocurre en la capa de red, y el tráfico no deseado (malware, publicidad, adware, telemetría, sitios para adultos) simplemente se descarta.

Los servidores DNS se alimentan de listas de bloqueo que encontrarás fácilmente en Internet. Una de las más populares es OISD, disponible en https://oisd.nl/.

¡En Unbound, configurar las listas de bloqueo es muy sencillo y guiado!

Puedes usar estas listas de bloqueo tanto en Pi-hole como en Unbound.