Я использую Ubuntu 10.04.2 LTS Desktop. Будучи веб-разработчиком, естественно, я создал «me.com» в своем/etc/hosts
файле. К сожалению, мое разрешение имен передается в DNS перед первой проверкой записи локальных хостов, и я не могу понять, почему.
Конечным результатом является то, что если мой /etc/resolv.conf nameserver 127.0.0.1
сначала там содержится , то я получаю ответ обратно в свой веб-браузер от me.com (локальный) менее чем за секунду. Но если у меня нет этой записи, то мой ответ иногда занимает до 5 секунд, если мой провайдер немного медленный.
Проблема была настолько хлопотной, что мне пришлось подать здесь вопрос (и кто-то решил ее) о том, как автоматически вставить эту запись /etc/resolv.conf
. Но один из пользователей (@shellholic) здесь настоятельно рекомендовал (и комментировал со мной обо всем этом), что я должен подать этот вопрос.
Знаете ли вы, почему разрешение имен моей рабочей станции должно сначала попасть на DNS-сервер, прежде чем попасть в мой /etc/hosts
файл? Сейчас я использую трюк resolv.conf .
cat /etc/nsswitch.conf
и cat /etc/host.conf
? Кроме того: как вы тестируете это (через пинг, браузер, перехват пакетов и т. Д.)?
time getent hosts me.com; hostname --fqdn; grep 'me.com' /etc/hosts; grep hosts /etc/nsswitch.conf; netstat -uln | grep ':53'; cat /etc/host.conf; wc -l /etc/hosts
. Не стесняйтесь запутывать рациональность.
/etc/nsswitch.conf
. Записи в моей системе немного неочевидны, но вы можете проверить поиск толькоfiles
в качестве опции и посмотреть, будет ли это иметь значение.