Я использовал команду host
в Ubuntu 12.04 LTS, чтобы проверить мой DNS-сервер:
host -a www.amazon.com
, показывая это:
Trying "www.amazon.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22892
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.amazon.com. IN ANY
;; ANSWER SECTION:
www.amazon.com. 60 IN SOA ns-942.amazon.com. root.amazon.com. 1405660589 3600 900 7776000 60
www.amazon.com. 7 IN A 72.21.194.212
www.amazon.com. 412 IN NS ns-942.amazon.com.
Received 110 bytes from 127.0.0.1#53 in 176 ms
Почему Получил форму 127.0.0.1 ?
Я пробовал разные сайты и переехал в разные места, пытаясь выполнить эту команду. Показанный DNS-сервер всегда одинаков: 127.0.0.1. Почему?
Средства IP-адреса 127.0.0.1 localhost, т.е. это относится к Вашему компьютеру. Ответ DNS прибывает из Вашего компьютера.
host
программа, как все другие программы в системе, знает, какой сервер DNS запросить путем взгляда в файле /etc/resolv.conf
.
причины компьютер отправляет, ответ DNS состоит в том, что это выполняет кэш DNS. Программное обеспечение кэша DNS помнит запросы, так, чтобы при доступе к тому же сайту многократно в быстрой последовательности (например, для отображения веб-страницы со встроенными изображениями, JavaScript, кадрами, и т.д., или отображают несколько страниц от того же сайта), только первый запрос ожидал ответа с удаленного сервера, и последующие запросы получают очень быстрый ответ от локальной машины.
выполнения Ubuntu dnsmasq как кэш DNS по умолчанию. Сам Dnsmasq запрашивает сервер DNS, обеспеченный Вашим ISP; эта конфигурация обычно реализовывается динамично (до resolvconf
: сервер DNS добавляется к конфигурации, когда соответствующий сетевой интерфейс повышается и удаленный, когда интерфейс понижается. Доступные серверы DNS для Dnsmasq зарегистрированы в /etc/resolvconf/run/interface/*
.
Примечание, что я обеспечиваю имена файлов для целей любопытства только. Существует очень немного обстоятельств, где Вы хотели бы отредактировать их.