почему хром разрешает имена доменов по-другому, чем ping, который отличается от ssh?

Когда я перехожу на 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
0
задан 23 January 2012 в 12:23

4 ответа

Если вы на самом деле не используете 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 ':)

2
ответ дан 25 May 2018 в 14:57

Попробуйте очистить свой 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 для ваших настроек)

1
ответ дан 25 May 2018 в 14:57

Чтобы ответить на исходный вопрос.

Во-первых, почему вы получаете три разных результата от 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, какой хост в конечном итоге подключается к?

1
ответ дан 25 May 2018 в 14:57

Вы знаете, есть ли в вашей сети прокси-сервер? Если возможно, это ограничение на этом сервере. Если у вас есть контроль ОК, но если другой SysAdmin управляет, вам нужно поговорить с ним.

0
ответ дан 25 May 2018 в 14:57

Другие вопросы по тегам:

Похожие вопросы: