dnsmasq adblocking funcionando apenas no lado do servidor

dnsmasq adblocking funcionando apenas no lado do servidor

Estou tentando criar um mecanismo de bloqueio de anúncios no servidor por meio do dnsmasq, mas só obtenho resultados no próprio servidor, não nos computadores conectados à minha rede local.

Primeiro de tudo, meu roteador é o servidor DNS padrão, então tenho que configurar todos os meus dispositivos para usar o servidor dnsmasq como DNS primário. Posso verificar se funciona quando tento acessar um dos meus sites auto-hospedados: se eu puder acessá-los localmente, o dnsmasq dns funciona. Neste aspecto, está tudo bem.

Depois, a parte do bloqueio de anúncios. Eu verifico se o bloqueio funciona digitando este comando no meu servidor e no meu computador principal:

# nslookup doubleclick.net

No servidor eu recebo:

Server:     192.168.1.51
Address:    192.168.1.51#53

Name:   doubleclick.net
Address: 192.168.1.51

Então funciona aí.

No meu computador eu 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...

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 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.

Então, para resumir, os domínios bloqueados pelo dnsmasq são redirecionados corretamente de dentro do servidor, mas não de outros dispositivos. É como se o dnsmasq não conseguisse transmitir a lista de domínios recém-adicionada.

Posso fornecer qualquer informação que você desejar para me ajudar a resolver esse problema. Também pode apontar para uma configuração incorreta anterior a este experimento de bloqueio de anúncios. De qualquer forma, espero que isso seja fácil de entender ...

Meu servidor está no FreeBSD 9.3

Responder1

O problema pode acontecer se algo armazenar em cache sua solicitação e você não liberar o cache DNS.

Freqüentemente, o sistema operacional armazena em cache as entradas DNS, o que faz com que as alterações no DNS não sejam vistas diretamente.

Para o Windows fe, você pode limpar o cache DNS com algo como.

ipconfig /flushdns

Responder2

Não uso o nslookup há algum tempo, mas esse resultado não significa que a resolução do nome foi executada em 80.67.0.2 e não em 192.168.1.51 (que presumo ser o seu roteador)?

Eu acho que de alguma forma o seu computador não está usando a instância do dnsmasq para fazer a resolução de nomes.

informação relacionada