В / etc / hostname у меня есть myname
.
В / etc / hosts у меня есть:
127.0.0.1 localhost.localdomain localhost myname
::1 localhost.localdomain localhost myname
У меня есть смутное понимание того, что на самом деле является именем хоста и для чего оно используется.
Эти более точные вопросы могут помочь мне лучше понять это:
Что на самом деле мое имя хоста в приведенном выше примере?
myname
или что-то другое? Если бы я вместо того, чтобыmyname.domain.com
в то/etc/hostname
, что бы мое реальное имя хоста тогда?В этом примере команда
hostname
возвращаетсяmyname
, тогда как командаhostname -f
возвращаетсяlocalhost.localdomain
. Я имел в виду, что это/etc/hosts
было только отображение между именами и IP-адресами. Это, кажется, служит другой функции здесь. Что такое fqdn и для чего он используется? Как это восстановить? Почему этоlocalhost.localdomain
?Если бы мне пришлось вместо
myname.domain.com
в/etc/hostname
,hostname -f
вернетсяmyname.domain.com
. Почему?Почему fqdn не заканчивается точкой в этих файлах?
Есть
hostname -d
иdnsmydomain
эквивалент?В каком контексте я могу использовать свое имя хоста (
myname
) и когда мне нужно использовать мой fqdn (localhost.localdomain
)?
myname
в / etc / hosts?Я очень ненавижу, когда кто-то говорит мне прочитать руководство, но в этом случае, пожалуйста, взгляните на справочную страницу для имени хоста, и на большинство, если не на все ваши вопросы, нужно ответить. Это написано намного лучше, чем я мог бы объяснить.
Чтобы помочь вам, вот некоторые выдержки из ваших вопросов: - Ваше имя хоста - это то, что вы видите в / etc / hosts. - Возвращаемое полное доменное имя зависит от того, что возвращает распознаватель, поэтому вы видите, что значение в / etc / hosts возвращается, так как распознаватель сначала проверяет файл hosts, а затем выполняет любые необходимые DNS-запросы.
То, к чему я не верю, затронуто на странице руководства по имени хоста (основываясь на моем перечитывании страницы руководства), почему записи в файлах не заканчиваются точкой.
Это соглашение используется при работе с записями DNS. Файлы имени хоста и хоста на самом деле не являются записями DNS. Если вы настраивали эти записи в bind для разрешения поиска в DNS, тогда использование точки может вступить в игру (посмотрите этот хороший ресурс: http://www.zytrax.com/books/dns/apa/dot.html. ).
Также имейте в виду, что все эти значения не передаются из системы. Таким образом, если вы хотите, чтобы другая система осуществляла доступ на основе полного доменного имени, она основана на файле hosts в этой другой системе или не содержит записей узлов на основе запросов DNS, которые внешняя система выполняет на полном доменном имени, чтобы разрешить ее преобразование обратно в система.
источник
/etc/hosts
: serverfault.com/questions/336056/setting-fqdn-hostname-and-dotВ ответ на
Позвольте мне отметить, во-первых, что / etc / hosts - это статическое определение сопоставления имени и адреса для хоста, на котором он установлен, и ТОЛЬКО используется этим хостом для преобразования имени в IP-адрес.
Таким образом, есть две точки зрения, чтобы рассмотреть - хозяин «мое имя» и все остальные.
Для этого хоста «myhost» либо обратитесь к текущему хосту с помощью «localhost» (который определен в / etc / hosts как 127.0.0.1), либо добавьте «myname» в строку / etc / hosts, которая определяет localhost, так что «myname» 'всегда отображается на, ну, локальный. Вот так:
Тогда не имеет значения, какой IP-адрес получает ИНТЕРФЕЙС, у вас всегда будет работающий адрес (дополнительным бонусом является то, что вам не нужно нажимать на оборудование, чтобы говорить от «моего имени» до «моего имени»).
Теперь, чтобы другие хосты могли находить «myhost», когда «myhost» имеет динамический IP-адрес, вы должны использовать DNS, и указанный DNS-сервер должен обрабатывать сопоставления, назначенные DHCP. (Хорошо, хорошо, есть другие решения, которые я могу придумать, но все, что приходит на ум, вписывается в категорию «за гранью глупости», ИМХО. Хорошо, хорошо, есть вещи, которые вы можете сделать с хостом, чтобы ИТ-отдел сообщил DNS где это, но это вопрос, достойный совершенно другой поток вопросов / ответов здесь, ИМХО)
источник
/ etc / hostname и / etc / hosts просты, но не так просты ...
Как быстро настроить Debian
/etc/hostname
и/etc/hosts
1) Отредактируйте / etc / hostname .
Есть 2 способа установить это.
Либо сделать это:
machine
простое, одно слово для этого процессора.Например, «
joe
» может быть вашим самостоятельно выбранным именем машины.Обратите внимание, что для этого потребуется псевдоним в / etc / hosts, более подробно описанный ниже.
ИЛИ
machine.domain.net
полное доменное имя (FQDN).Например, '
joe.xyz.com
'.(Предполагается, что у вас есть запись «A» DNS-узла, указывающая с joe.xyz.com на IP-адрес вашего joe, то есть на вашем компьютере с именем joe. Обычно вы устанавливаете эту запись там, где приобрели свое доменное имя. Подробнее об этом в момент.)
После того, как / etc / hostname задан, следующим шагом будет получение команд
hostname --all-fqdn
иdnsdomainname
их правильная работа в следующем порядке:2) Отредактируйте / etc / hosts .
В нем есть строка для полного доменного имени этого хоста , например «machine.domain.net», с префиксом IP-адреса этой машины (возможно, с сервера динамических IP-адресов), например:
Во-первых, обратите внимание, что верхний или нижний регистр здесь не имеет значения . Подсказка: однако наличие некоторых заглавных букв позволяет нам заметить, откуда что происходит, на следующих шагах. Так что я заглавная буква J oe.
Также обратите внимание, что для простого
hostname
(т. Е. / Etc / hostname = 'machine') правильного генерирования полного доменного имени, псевдоним с именем 'machine' должен присутствовать в / etc / hosts. Вот почему псевдоним Джо там. (Кстати, иметь этот псевдоним можно, даже если вы его не используете.) В противном случае этот псевдоним не нужен и не используется.Также обратите внимание, что «domain.net» должен быть разрешаем, то есть для него должна существовать запись A в DNS. Это то, что называется « разрешаемым » (то есть DNS-преобразователем).
3) Теперь установите эти новые настройки из / etc / hostname и / etc / hosts в ядро, запустив:
4) Проверить имя хоста
ИЛИ
Подсказки:
Обратите внимание, что это не то, чем является / etc / hostname в данный момент, как если бы вы его редактировали прямо сейчас, а скорее то, что было прочитано ранее скриптом /etc/init.d/hostname.sh, возможно, в результате перезагрузки.
Также обратите внимание, что «j» в нижнем регистре, так что это предполагает, что он идет из / etc / hostname, а не / etc / hosts.
5) Проверка полного доменного имени
6) Проверка DNS доменного имени
Теперь это должно упростить настройку веб-сервера и почтового сервера.
источник