Что-то не так с моей текущей установкой Debian. Большинство программ, таких как firefox, nslookup, dig и т. Д., Игнорируют записи в /etc/hosts
файле, на самом деле я использую этот файл для блокировки рекламы.
пример
строка в /etc/hosts
файле
127.0.0.1 www.winaproduct.com
когда я делаю dig +short www.winaproduct.com
это возвращает соответствующий IP-адрес сервера, а не 127.0.0.1
.
Откройте www.winaproduct.com
на Firefox, он показывает соответствующий веб-сайт, но это не ожидается.
Но нет никаких проблем с ping
, busybox nslookup
, busybox ping
, и resolveip
т.д.
Так в чем проблема ? И как это исправить? Думаю, проблема с разрешающей библиотекой DNS.
Временное исправление вверх, настройка dnsmasq
и изменение nameserver
к 127.0.0.1
в /etc/resolv.conf
.
Обновить
проблема волшебным образом решена после установки libnss3
, как зависимостьgoogle-chrome
По умолчанию /etc/nsswitch.conf выглядит hosts: files dns
как сказать nslookup
, и dig
т.д. ASK / и т.д. / хосты файл первого вместо спрашивать непосредственно в DNS?
но почему busybox nslookup
, wget
, и resolveip
т.д. работают иначе , чем nslookup
, и dig
т.д.?
hosts:
запись в/etc/nsswitch.conf
?hosts: files dns
Ответы:
nslookup
,dig
Иhost
инструменты для запроса сервера имен DNS.Если ваша конфигурация не предоставлена сервером имен (например, информация, указанная в
/etc/hosts
), эти инструменты не будут их показывать, потому что они напрямую запрашивают сервер имен.Если вы хотите проверить, работает ли «обычное» разрешение (то есть способ, указанный в
/etc/nsswitch.conf
), вы можете использоватьgetent
:источник
getent hosts www.winaproduct.com
работает отлично, ноnslookup
,dig
иhost
т. д. только в качестве примера, я хочу это на Firefox .wget
другой браузер, например, Chrome. Еслиgetent
дает ожидаемый результат, все они должны.No Proxy
. Так как сказатьnslookup
иdig
т. Д./etc/hosts
Сначала спросить файл, а не напрямую спросить в DNS? Спасибо за ваш ценный комментарий.Вы можете установить DNSmasq, который будет читать ваши записи / etc / hosts и импортировать их в кеш DNS. Затем все ваши инструменты DNS и приложения DNS-запросов, такие как dig, host и nslookup, получат ответы, полученные из файла / etc / hosts.
источник