Я працюю на робочому столі Ubuntu 10.04.2 LTS. Будучи веб-розробником, я, природно, створив у своєму /etc/hosts
файлі "me.com" . На жаль, дозвіл мого імені надходить до DNS перед тим, як перевірити мій запис місцевих хостів, і я не можу зрозуміти, чому.
Кінцевим результатом є те, що якщо мій /etc/resolv.conf міститься nameserver 127.0.0.1
там спочатку, то я отримую відповідь у своєму веб-браузері від me.com (local) протягом менш ніж секунди. Але якщо я не маю цього запису, то моя відповідь часом займає приблизно 5 секунд, якщо мій провайдер трохи повільний.
Проблема була настільки клопітка, що мені насправді довелося подати тут питання (а хтось вирішив її) про те, як автоматично вставити цей запис у /etc/resolv.conf
. Але один з користувачів (@shellholic) тут дуже рекомендує (і коментує мене та назад про це), що я повинен подати це питання.
Чи знаєте ви, чому дозвіл імені моєї робочої станції повинен спочатку потрапити на DNS-сервер, перш ніж потрапити на мій /etc/hosts
файл? Поки що я використовую трюк резолюції.conf .
cat /etc/nsswitch.conf
та cat /etc/host.conf
? Також: як ви тестуєте це (через pinging, браузер, нюхання пакетів тощо)?
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
як варіант і побачити, чи це змінило значення.