Когда я перехожу на me.com в chrome, он сообщает мне, что домен не найден. Когда я иду на me.com с помощью ssh, он подключается к этому серверу. Когда я пытаюсь ping me.com, он пингует localhost. Я хочу, чтобы me.com разрешал localhost во всех трех ситуациях. Как я могу это сделать?
Вот мои соответствующие файлы:
/ etc / hosts
127.0.0.1 localhost.localdomain localhost me.com
::1 laptop localhost6.localdomain6 localhost6
127.0.1.1 laptop
/etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
nameserver 127.0.0.1
/etc/resolvconf/resolv.conf.d/head
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
Если вы на самом деле не используете DNS-сервер, такой как BIND или dnsmasq на локальном хосте, вы не хотите, чтобы ваши nameserver строфы указывали на localhost. Если вы используете DNS-сервер или службу кеширования, вам нужно обратиться к его документации для получения подробных сведений о том, как настроить его, чтобы me.com разрешал localhost. После настройки службы DNS вы можете проверить разрешение определенных доменных имен с помощью nslookup.
Chrome может автоматически добавлять «www» в начало вашего URL-адреса, вы можете убедиться, что это поведение отключено, указав часть протокола URL явно, например: «http://me.com»
Нам нужно будет увидеть ваш файл /etc/nsswitch.conf, чтобы помочь с подключением ssh. ssh -v также может дать полезный результат.
Наконец, если вы хотите подключиться к локальному хосту, может быть гораздо меньше головной боли, чтобы просто указать «localhost» как ваше имя хоста, а не «меня» .com ':)
Попробуйте очистить свой DNS-кеш и затем удалить всю историю в Chrome (должно быть где-то легко доступно в настройках, это хорошо сделать, поскольку я не совсем уверен, что Chrome является DNS-кэшированием)
См. http://www.ubuntugeek.com/howto-clearflush-dns-cache-in-ubuntu.html для очистки кеша (я не совсем уверен, что это необходимо или возможно, но попробуйте, D) [ ! d1]
Также попробуйте dig me.com, так как это может дать некоторую полезную информацию. Вы также можете попробовать запустить Firefox и посмотреть, идет ли me.com на localhost.
Также - я не думаю, что вам нужно (или должно, если у вас нет настроенного DNS-сервера для репликации других DNS-серверов) укажите ваши серверы имен на 127.0.0.1, поскольку / etc / hosts имеют более высокий приоритет, чем сервер имен по умолчанию (см. строку-хост в файле /etc/nsswitch.conf для ваших настроек)
Чтобы ответить на исходный вопрос.
Во-первых, почему вы получаете три разных результата от Chrome, ssh и ping?
Мне кажется, что эти три программы используют разные логика резольвера, возможно, с использованием разных библиотек или другого флангового кода. Известно, что ping использует распознаватель glibc, который подчиняется /etc/nsswitch.conf и /etc/resolv.conf. Следовательно, ping сначала пытается / etc / hosts, а затем DNS. Итак, ping me.com pings 127.0.0.1. Возможно, Chrome пропускает / etc / hosts и не может найти www.me.com в DNS. Что касается ssh, какой хост в конечном итоге подключается к?
Вы знаете, есть ли в вашей сети прокси-сервер? Если возможно, это ограничение на этом сервере. Если у вас есть контроль ОК, но если другой SysAdmin управляет, вам нужно поговорить с ним.