dnsmasq adblocking apenas trabalhando lado do servidor

1

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

    
por Jeez 04.05.2015 / 16:12

2 respostas

0

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

Muitas vezes, o sistema operacional armazena em cache as entradas DNS que fazem com que as alterações no DNS não sejam vistas diretamente.

Para Windows, por exemplo, você pode limpar seu cache DNS por algo parecido.

ipconfig /flushdns
    
por 06.05.2015 / 16:53
1

Eu não usei nslookup em algum momento, mas esse resultado não significa que a resolução de nomes foi executada contra 80.67.0.2 e não 192.168.1.51 (que eu assumo é o seu roteador)?

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

    
por 04.05.2015 / 16:36