Недавно меня «заставили» выполнить какую-то работу сисадмина, хотя я не очень люблю это делать, я много читаю, экспериментирую и учусь.
Есть один фундаментальный аспект конфигурации сервера, который я не смог понять - имена хостов .
Например, в Ubuntu необходимо установить имя хоста следующим образом (согласно Библиотеке Linode ):
echo "plato" > /etc/hostname
hostname -F /etc/hostname
Файл: / etc / hosts
127.0.0.1 localhost.localdomain localhost
12.34.56.78 plato.example.com plato
Я предполагаю, что plato
это произвольное имя, и это plato.example.com
полное доменное имя.
Теперь мои вопросы:
- Это обязательно?
- Для чего?
- Где это нужно / используется?
- Почему я не могу определить "localhost" как имя хоста для каждой машины?
- Нужно ли настраивать запись DNS для
plato.example.com
полного доменного имени? - Должен
plato.example.com
ли использоваться в качестве обратной записи DNS для моего IP?
Кроме того, есть ли "лучшие практики" для выбора имен хостов? Я видел людей, использующих греческие буквы, названия планет и даже мифологические фигуры ... Что происходит, когда у нас заканчиваются буквы / планеты?
Извините, если это глупый вопрос, но я никогда не был в восторге от конфигурации сети.
источник
Ответы:
В наши дни система может иметь несколько интерфейсов, каждый из которых имеет несколько адресов, и каждый адрес может даже иметь несколько записей DNS, связанных с ним. Так что же означает «системное имя хоста»?
Многие приложения будут использовать имя хоста системы в качестве идентификатора по умолчанию, когда они общаются в другом месте. Например, если вы собираете сообщения системного журнала на центральном сервере, все сообщения будут помечены именем хоста исходной системы. В идеальном мире вы, вероятно, проигнорируете это (потому что вы не обязательно хотите доверять клиенту), но поведение по умолчанию - если вы назвали все свои системы "localhost" - приведет к куче сообщений журнала, которые вы не сможет связываться с конкретной системой.
Как отмечали другие люди, системное имя хоста также является полезным идентификатором, если вы обнаруживаете, что получаете удаленный доступ к нескольким системам. Если у вас есть пять окон, подключенных к системам с именем «localhost», то вам будет непросто сохранить их прямо.
Аналогичным образом мы пытаемся сделать так, чтобы системное имя хоста совпадало с именем хоста, которое мы используем для административного доступа к системе. Это помогает избежать путаницы при обращении к системе (в электронной почте, разговорах, документации и т. Д.).
Что касается DNS:
Вы хотите иметь правильную прямую и обратную записи DNS для своих приложений, чтобы избежать путаницы. Вам нужно немного вперед записи (имя -> IP - адрес) для людей , чтобы иметь возможность доступа к приложению удобно. Обратное совпадение записей полезно по ряду причин, например, оно помогает вам правильно идентифицировать приложение, если вы найдете соответствующий IP-адрес в журнале.
Обратите внимание, что здесь я говорю о «приложениях», а не «системах», потому что - особенно с веб-серверами - в системе обычно используется несколько IP-адресов, связанных с разными именами хостов и службами.
Попытка сохранить сопоставления имени и IP в вашем
/etc/hosts
файле быстро становится трудной, поскольку вы управляете все большим числом систем. Для локального файла хостов очень просто не синхронизироваться по отношению к DNS, что может привести к путанице и, в некоторых случаях, к сбоям (потому что что-то пытается привязаться к IP-адресу, который больше не существует в системе, например).источник
/etc/hosts
в пользу DNS. Это уменьшает количество мест, в которых я нуждаюсь, чтобы хранить информацию об имени -> сопоставлении адресов. В большинстве систем, которые я поддерживаю,/etc/hosts
содержится только одна запись дляlocalhost
.Вы можете установить для каждого имени хоста значение «localhost», но это очень удобно иметь
alix@plato ~ $
в командной строке, когда вы управляете компьютерами через ssh. Удаленное управление серверами может привести к путанице, если вы этого не сделаете.Правильное полное доменное имя важно, когда вы размещаете веб-сервер или почтовый сервер. Серверные приложения такого типа любят знать, «на кого» они работают.
Для выбора хорошей схемы именования я отсылаю вас к этому очень популярному вопросу .
Полное доменное имя становится полезным только тогда, когда оно имеет смысл для другого компьютера. Для этого есть три уровня:
При отправке электронной почты или размещении веб-страниц во внешнем мире третья - та, которую вы хотите иметь. В большинстве других случаев вы можете обойтись локальным DNS или даже редактировать файлы хостов.
В этом случае вы можете просто создать доменное имя (plato.alixnetwork может подойти как полное доменное имя) для использования в вашей локальной сети. Единственная дополнительная ценность наличия части «alixnetwork» (доменное имя) - это удобство, когда у вас есть другая локальная сеть, от которой вы хотите ее отличить.
источник
Базовый обзор. Имя хоста просто указатели; Вы можете назначить одно конкретное имя хосту, на которое ссылается машина, но оно может иметь несколько значений. Некоторые сервисы, известная почта и HTTP полагаются на доменные имена, чтобы знать, где сервисы должны быть расположены и как к ним добраться.
Давным-давно все эти имена (которые опять-таки являются просто указателями на IP-адреса) отслеживались в файле с именем
hosts
. По мере роста системы они не могли синхронизировать файл на всех соответствующих компьютерах, участвующих в различных взаимосвязанных сетях. Таким образом, система DNS была изобретена. Когда вы выполняете поиск по имени, он все равно сначала проверяет файл hosts, а затем систему DNS. Windows также может проверять другие системы, такие как WINS или NetBIOS.Когда вы помещаете запись в
hosts
файл, вы не назначаете ее компьютеру. Присвоение имени хоста тому, которое используется компьютером, выполняется в файлах конфигурации (в системах * nix) и в свойствах системы в системах Windows (система Windows также может иметь специальные суффиксы для сетевых карт).Записи в
hosts
файле, как и система DNS, являются просто отображением имени хоста в IP-адрес. Чтобы использовать имя хоста «localhost» (в этом нет ничего особенного, это имя хоста, как и все остальные), его необходимо сопоставить с интерфейсом обратной связи (поэтому он всегда будет указывать на локальный компьютер). Чтобы это работало, все компьютеры поставляются с этим сопоставлением по умолчанию в ихhosts
файле, но его можно было бы удалить, если вы не хотите иметь возможность использовать это имя хоста.Кроме того, как отметили другие, очень полезно назначить имя хоста компьютеру. При подключении к компьютеру он может отображать свое имя хоста при входе в систему, либо в качестве приглашения, либо в любом количестве других мест. Это упрощает идентификацию компьютера, к которому вы подключены. Если вы установите это имя хоста в DNS или поместите его во все
hosts
файлы, вы сможете подключиться к компьютеру, ссылаясь на его имя хоста, вместо того, чтобы постоянно знать его IP-адрес. (Еще более полезно, если компьютер использует DHCP, поскольку адрес может измениться. Если компьютер обновляет DNS, запись DNS будет указывать на новый IP-адрес; вы все равно можете подключиться, не зная новый IP-адрес, поскольку вы знаете имя DNS ).Существует много других применений обоих
hosts
и DNS, но я подозреваю, что у вас больше вопросов, чем ответов, если вы прочитаете все это.источник
/etc/hosts
не является необходимым, наличие имени узла в записи DNS приведет к тому же результату, верно?hosts
файле будет избыточным. Кроме того, запись вhosts
файле переопределит DNS (иногда полезно для тестирования, хотя и раздражает, когда вы об этом забываете). Обратите внимание, что это все в отношении записей A и AAAA, существуют другие типы записей для имен хостов, но я оставил их для ясности.Всегда хост должен иметь значимое имя. Имя хоста может обслуживать несколько целей:
1- Это поможет вам узнать, над чем вы сейчас работаете.
2- Использование имен, настроенных в
/etc/hosts
записях DNS и / или DNS, проще, чем запоминание многих IP-адресов.3- Localhost - это зарезервированное имя для ссылки на текущий компьютер (адрес 127.0.0.1).
4- DNS-записи полезны, чтобы сделать ваши серверы общедоступными.
Выбор подходящего имени для каждого сервера очень помогает вам в администрировании. Кроме того, это помогает вашим клиентам получать доступ к вашим серверам.
источник
Напомним, что правильная работа прямого и обратного разрешения DNS является абсолютным краеугольным камнем каждой ИТ-установки на этой планете. Никогда не стоит недооценивать необходимость хорошо поддерживаемого DNS и правильного разрешения имени хоста!
источник
Отказ от ответственности: основной вопрос касается систем Linux, поэтому не стесняйтесь игнорировать этот ответ, если вас не интересует проблема Windows.
В любом случае, в системах Windows, помимо всех точек, упомянутых в других ответах, имя хоста фактически используется самой ОС для работы в сети и для аутентификации; в частности:
LocalSystem
иNetworkService
учетные записи пользователей, которые могут проходить проверку подлинности в других системах с использованием учетных данных системы, в которой они работают; это позволяет процессу, работающему какNetworkService
на SystemA, получить доступ к общей папке на SystemB, предоставив разрешения на эту папку учетной записи пользователя SystemA.источник
Многие сайты и / или предполагаемые «администраторы» теперь заявляют, что атрибут «hostname» содержит полное доменное имя экземпляра ОС, что «нарушает» любое разрешение, которое добавляет к нему «domainname»:
источник