Обновленный ответ

Обновленный ответ

я используюhostsblockвместе сdnsmasqв Arch Linux для блокировки некоторых веб-сайтов, один из них — facebook.comи www.facebook.com.

Я знаю, что все работает правильно, потому что простой пинг на facebook.com(или www.facebook.com) возвращает 127.0.0.1. Кроме того, если я захожу на эти веб-сайты из Midori, возвращается пустая страница (это ожидаемое поведение, так как я использую алгоритмквакддемон для возврата пустых страниц на локальном хосте).

Похоже, только Chromium обходит мой черный список. При доступе к facebook.com из него я сразу попадаю на домашнюю страницу facebook.

После очистки всего (Ctrl+Shift+Delete) с начала времен и перезапуска Chromium я получаю желаемое поведение (= не могу получить доступ к Facebook).

Хотя через некоторое время (я не совсем уверен, что является причиной этого) Chromium снова игнорирует мой локальный DNS dnsmasq и успешно получает доступ к домашней странице Facebook.

Я что-то читал о кэшировании и предварительной загрузке DNS-запросов Chromium, но не уверен, как это отключить.

Вопрос:почему Chromium обходит мой локальный DNS и что я могу сделать, чтобы остановить это?

решение1

Большинство ссылок на эту тему старые. Если у вас старая версия Chromium, следуйтеedvinas.meотвечать.

Для текущих версий Chromium (на момент написания этого поста: 33-я) вот что вам следует сделать:

  1. Идти кchrome://settings
  2. Нажмите «Показать дополнительные настройки...»
  3. Снимите отметкуПрогнозируйте действия сети для повышения производительности загрузки страницкоробка.
  4. Проверьте, действительно ли отключена предварительная выборка DNS, перейдя по ссылке chrome://dns. Вы должны увидеть там что-то вродеПредварительное разрешение DNS и предварительное TCP-соединение отключены.Если предварительная выборка не отключена, вы увидите там несколько таблиц.

Обновлять

Для более новых версий Chrome (на момент обновления: 55-я) третий пункт формулируется так:Используйте службу прогнозирования для более быстрой загрузки страниц.

Ссылка

решение2

Обновленный ответ

Убедитесь, что вы очистите кэш Chrome. Введите это в адресную строку:

chrome://net-internals/#dns

Затем нажмите Clear host cacheкнопку.

Старый ответ

Chromium по умолчанию использует внутренний DNS Google (8.8.8.8 и 8.8.4.4)

Чтобы отключить его:

  1. Нажмите на меню «Инструменты» (маленький значок гаечного ключа), затем перейдите в «Параметры».

  2. Нажмите на вкладку «Под капотом».

    3. В разделе «Конфиденциальность» снимите флажок Использовать предварительную загрузку DNS для повышения производительности загрузки страницы.

    4. Нажмите кнопку «Закрыть».

    5. Обновите, чтобы перезагрузить веб-страницу.

решение3

Еще одна неясная возможность заключается в том, что ваша система настроена на использование автоматического прокси-файла *.pac. Обычно это происходит, если вам выдали компьютер в корпоративной среде, а файл *.pac сообщает вашему браузеру, что нужно пройти через прокси-сервер для разрешения URL. Это имеет приоритет над вашим файлом /etc/hosts, и если в файле *.pac есть правило возвращать PROXY, если ничего не совпадает, то будет казаться, что Chrome не учитывает /etc/hosts. Обычно это происходит, если ваша командная строка работает так, как и ожидалось, например, dig, ping и т. д.

Если вы попробовали другие решения и они не сработали, проверьте, не используется ли в Chrome автоматическая настройка прокси-сервера.

решение4

Если вы используете какой-либоРасширения VPN-проксидля Google Chrome (напримерБеттернет), вы, вероятно, столкнетесь с этой проблемой. Отключение расширения решает проблему.

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