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

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

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

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

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

# 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:

    conf-dir=/usr/local/etc/dnsmasq.d

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

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

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

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

решение1

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

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

Для Windows FE вы можете очистить кэш DNS следующим образом.

ipconfig /flushdns

решение2

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

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

Связанный контент