Cómo configurar el servidor de DNS de Pi-hole para que los usuarios usen, de forma automática y obligatoria, la búsqueda segura de Google (Google SafeSearch) y otros buscadores (Youtube, Bing, etc.).

Requisitos, antecedentes, servidor DNS y bloqueador de ADS con Pi-hole

Requisitos

Únicamente necesitaremos disponer de un servidor de DNS y bloqueador de ADS con Linux y Pi-hole. En el siguiente artículo explicamos cómo montar un servidor DNS y bloqueador de publicidad con Pi-hole en Linux Debian 11:

Necesitaremos tener acceso al servidor Linux de Pi-hole con un usuario con permisos suficientes para escribir en la carpeta:

/etc/dnsmasq.d

Y, por supuesto, accederemos al servidor DNS Linux mediante SSH, por lo que tendremos acceso mediante este protocolo, salvo que tengamos acceso a la consola directamente.

Antecedentes, búsquedas «libres» antes de aplicar SafeSearch

Si realizamos una búsqueda en Google sin SafeSearch, por ejemplo de «xxx» obtendremos todos los sitios web categorizados e indexados con dicha palabra:

Antecedentes, búsquedas "libres" antes de aplicar SafeSearch

¿Qué es SafeSearch?

SafeSearch es una función del buscador de Google (tanto para búsqueda de texto como de imágenes), que actúa como un filtro automatizado contra contenido pornográfico o potencialmente ofensivo e inapropiado.

El 11 de noviembre de 2009, Google introdujo la posibilidad de que los usuarios con cuentas de Google bloqueen el nivel SafeSearch en las búsquedas web y de imágenes de Google. Una vez configurado, se requiere una contraseña para cambiar la configuración.

El 12 de diciembre de 2012, Google eliminó la opción de desactivar el filtro por completo, lo que requiere que los usuarios ingresen consultas de búsqueda más específicas para acceder a contenido para adultos.

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

Accederemos al servidor Pi-hole mediante SSH, por ejemplo con PuTTY:

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

Listaremos el contenido de la carpeta /etc/dnsmasq.d y veremos que, por defecto, contiene los ficheros:

01-pihole.conf
06-rfc6761.conf

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

En esta carpeta podremos añadir todos los ficheros de configuración DNS que queramos, colocando un número delante para indicar el orden en el que Pi-hole los cargará. Nosotros crearemos un nuevo fichero con el nombre 02-safesearch.conf:

El contenido del fichero será el siguiente, es un poco extenso porque incluimos todas las opciones para Google de cualquier país:

Copiaremos el contenido anterior y lo pegaremos en el fichero que crearemos. Guardamos los cambios pulsando Control + O y cerramos pulsando Control + X:

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

Para aplicar los cambios, desde la consola web de Pi-hole (por ejemplo), reiniciaremos el servicio DNS pulsando en «Settings»:

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

En «System» [1] y en «Restart DNS resolver» [2]:

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

Nos advertirá de que se va a reiniciar el servicio DNS, pulsaremos «Yes, restart DNS»:

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

Si no tenemos errores en el archivo de configuración DNS añadido, los clientes que usen este servidor DNS, al buscar en Google, directamente se les activará la Búsqueda Segura (SafeSearch):

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

Si hemos cometido algún error en el fichero de configuración DNS, al reiniciar el servicio, Pi-hole nos mostrará un aviso:

Configurar servidor DNS Pi-hole para obligar a usar Google SafeSearch en los equipos clientes

Cuando se produce un error de este tipo suele ser debido a que hemos introducido una configuración incorrecta en los ficheros de configuración de la carpeta /etc/dnsmasq.d.