Я использую 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в качестве опции и посмотреть, будет ли это иметь значение.