Estoy intentando crear un mecanismo de bloqueo de publicidad del lado del servidor a través de dnsmasq, pero solo obtengo resultados en el servidor, no en las computadoras conectadas a mi red local.
En primer lugar, mi enrutador es el servidor DNS predeterminado, por lo que tengo que configurar todos mis dispositivos para usar el servidor dnsmasq como DNS principal. Puedo comprobar que funciona cuando intento acceder a uno de mis sitios web autohospedados: si puedo acceder a ellos localmente, entonces el dns dnsmasq funciona. En este sentido, todo está bien.
Luego la parte del bloqueo de anuncios. Compruebo si el bloqueo funciona ingresando este comando tanto en mi servidor como en mi computadora principal:
# nslookup doubleclick.net
En el servidor me sale:
Server: 192.168.1.51
Address: 192.168.1.51#53
Name: doubleclick.net
Address: 192.168.1.51
Entonces funciona allí.
En mi computadora me sale:
Server: 80.67.0.2
Address: 80.67.0.2#53
Non-authoritative answer:
Name: doubleclick.net
Address: 70.32.146.212
Entonces aquí no...
Mi configuración es la siguiente:
Configuré el directorio de configuración de dnsmasq:
conf-dir=/usr/local/etc/dnsmasq.d
Coloque el archivo dnsmasq.adlist.conf allí, poblado por un script que recupera una lista de servidores de anuncios de un sitio y los compila en entradas legibles de dnsmasq.
Para abreviar, los dominios bloqueados por dnsmasq se redirigen correctamente desde el servidor, pero no desde los otros dispositivos. Es como si dnsmasq no pudiera transmitir la lista de dominios recién agregada.
Puedo proporcionar cualquier información que desee para ayudarme a resolver este problema. También puede indicar una mala configuración anterior a este experimento de bloqueo de anuncios. De todos modos, espero que esto sea fácil de concretar...
Mi servidor está en FreeBSD 9.3
Respuesta1
El problema puede ocurrir si algo almacena en caché su solicitud y no vacía su caché de DNS.
A menudo, el sistema operativo almacena en caché las entradas de DNS, lo que hace que los cambios en DNS no se vean directamente.
Para Windows fe, puedes borrar tu caché de DNS con algo como.
ipconfig /flushdns
Respuesta2
No he usado nslookup desde hace algún tiempo, pero ¿ese resultado no significa que la resolución de nombres se realizó en 80.67.0.2 y no en 192.168.1.51 (que supongo que es su enrutador)?
Supongo que de alguna manera su computadora no está usando su instancia dnsmasq para resolver nombres.