Estou tentando criar um mecanismo de adblocking do lado do servidor por meio do dnsmasq, mas só obtenho resultados no próprio servidor, não nos computadores conectados à minha rede local.
Primeiro, meu roteador é o servidor DNS padrão, por isso preciso configurar todos os meus dispositivos para usar o servidor dnsmasq como DNS primário. Eu posso verificar se funciona quando tento acessar um dos meus sites auto-hospedados: se eu posso acessá-los localmente, então o dnsmasq dns funciona. A este respeito, tudo está OK.
Em seguida, a parte de bloqueio de anúncios. Eu verifico se o bloqueio funciona inserindo este comando no meu servidor e no meu computador principal:
# nslookup doubleclick.net
No servidor, recebo:
Server: 192.168.1.51
Address: 192.168.1.51#53
Name: doubleclick.net
Address: 192.168.1.51
Então funciona lá.
No meu computador, recebo:
Server: 80.67.0.2
Address: 80.67.0.2#53
Non-authoritative answer:
Name: doubleclick.net
Address: 70.32.146.212
Então aqui não acontece ...
Minha configuração é assim:
-
Eu configurei o diretório de configuração do dnsmasq:
conf-dir = / usr / local / etc / dnsmasq.d
-
Coloque o arquivo dnsmasq.adlist.conf lá preenchido por um script que busca uma lista de servidores de anúncios de um site e os compila em entradas legíveis do dnsmasq.
Portanto, para torná-lo curto, os domínios bloqueados pelo dnsmasq são redirecionados corretamente de dentro do servidor, mas não dos outros dispositivos. É como se o dnsmasq não transmitisse a lista de domínios recém-adicionados.
Eu posso fornecer qualquer informação que você goste para me ajudar a resolver este problema. Também pode apontar para uma configuração incorreta anterior a essa experiência de adblocking. De qualquer forma, espero que seja fácil de entender ...
Meu servidor está no FreeBSD 9.3