dnsmasq adblocking работает только на стороне сервера

Я пытаюсь создать механизм блокировки рекламы на стороне сервера через dnsmasq, но я получаю результаты только на самом сервере, а не на компьютерах, подключенных к моей локальной сети.

Прежде всего, мой маршрутизатор является DNS-сервером по умолчанию, поэтому я должен настроить все свои устройства для использования сервера dnsmasq в качестве основного DNS. Я могу проверить, работает ли он, когда я пытаюсь получить доступ к одному из моих собственных веб-сайтов: если я могу получить к ним доступ локально, тогда работает dnsmasq dns. В этом отношении все в порядке.

Тогда часть блокировки рекламы. Я проверяю, работает ли блокировка, введя эту команду на моем сервере и на моем главном компьютере:

# nslookup doubleclick.net

На сервере я получаю:

Server:     192.168.1.51
Address:    192.168.1.51#53

Name:   doubleclick.net
Address: 192.168.1.51

Так что это работает там.

На моем компьютере я получаю:

Server:     80.67.0.2
Address:    80.67.0.2#53

Non-authoritative answer:
Name:   doubleclick.net
Address: 70.32.146.212

Так что здесь это не...

Моя установка такова:

  • Я устанавливаю каталог конфигурации dnsmasq:

    конф-DIR =/ USR / местные / и т.д. / dnsmasq.d

  • Поместите туда файл dnsmasq.adlist.conf, заполненный скриптом, который извлекает список рекламных серверов с сайта и компилирует их в записи, читаемые dnsmasq.

Короче говоря, домены, заблокированные dnsmasq, правильно перенаправляются изнутри сервера, а не с других устройств. Это похоже на то, что dnsmasq не может транслировать недавно добавленный список доменов.

Я могу предоставить любую информацию, которая вам нравится, чтобы помочь мне решить эту проблему. Это также может указывать на неправильную конфигурацию до этого эксперимента по блокировке рекламы. Во всяком случае, я надеюсь, что это легко прибить...

Мой сервер на FreeBSD 9.3

2 ответа

Решение

Эта проблема может возникнуть, если что-то кеширует ваш запрос, и вы не очищаете кеш DNS.

Часто ОС кэширует записи DNS, что делает изменения в DNS невидимыми напрямую.

Для Windows fe вы можете очистить кеш DNS чем-то вроде.

ipconfig /flushdns

Некоторое время я не использовал nslookup, но разве это не означает, что разрешение имен было выполнено в отношении 80.67.0.2, а не 192.168.1.51 (который я предполагаю, является вашим маршрутизатором)?

Я предполагаю, что каким-то образом ваш компьютер не использует ваш экземпляр dnsmasq для разрешения имен.

Другие вопросы по тегам