Каковы последствия установки имени хоста?

13

У меня есть несколько серверов Amazon EC2, и я использую Chef для управления конфигурацией. Я хотел бы установить имя хоста так, чтобы приглашение bash по умолчанию было более полезным.

Прямо сейчас после запуска нового сервера он просто устанавливается как:

root@ip-10-123-123-123

Так как я использую Ubuntu 12 на этих полях, я обратился к соответствующей странице справки для имени хоста . Он содержит много полезной информации о том, как его установить, и немного говорит об имени хоста и fqdn, но на самом деле он не говорит мне, что я хочу знать:

Каковы последствия установки имени хоста?

Я хотел бы предположить, что установка имени хоста - это, в основном, удобный элемент для пользователей и системных администраторов, придающий коробке лицо / nice-name, чтобы его можно было легче распознать внутри себя (через командную строку, отправленные электронные письма, и т.д.), но я не уверен.

Я не вижу имя хоста, указанное в /etc/hostsфайле, что является хорошим признаком того, что оно не повлияет на что-либо отрицательно, если оно будет изменено:

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Я на правильном пути? Каковы последствия установки имени хоста?

Обновить

Я попытался изменить имя хоста на моем экземпляре ec2 с ip-10-123-123-123на webserverи hostname --fqdnбольше не работает. Если я положу его обратно, то он работает нормально. Apache также выдает мне ошибку при запуске, что он не может надежно определить fqdn. Я предполагаю, что должен быть какой-то способ установить имя хоста, не путая fqdn.

УХО
источник
Я также обнаружил, можем ли мы установить легко запоминаемые имена хостов для экземпляров EC2? и опубликовал ответ, основанный на том, что я нашел, но в нем все еще есть некоторые дыры.
cwd

Ответы:

15

Я просто хотел добавить, что имя хоста должно быть разрешено через DNS или / etc / hosts. Если это не так, многие инструменты могут показывать большие задержки из-за неудачного поиска имени хоста. У меня была эта проблема со многими программами с графическим интерфейсом.

Даниэль Куллманн
источник
Это очень важный момент. Я бы проголосовал не раз, если бы мог. Спасибо!
cwd
Это на самом деле делает ответ на вопрос. Если вы измените свое имя хоста на что-то, что на самом деле разрешает, то hostname --fqdnвсе равно работает.
Брайант
12

Имя хоста (задается и отображается hostnameкомандой и обычно хранится в /etc/hostname) используется локальными приложениями. Он не известен другим машинам и не может использоваться для связи с хостом. Имя хоста обычно отображается в подсказках оболочки, и различные приложения могут использовать его для ведения журнала, например, при помощи программного обеспечения для контроля версий, когда вы делаете коммит.

Не существует технической связи между именем хоста и любым именем, которое другие машины могут использовать для обозначения вашей машины. DNS является то , что обычно используется , чтобы назвать машину в контексте Интернета (точнее, сетевой интерфейс). Это хорошая идея, если ваше имя хоста идентично первому компоненту DNS-имени сетевого интерфейса вашей машины, который видит большая часть мира. Например, если ваш сервер подключен к остальному миру через eth0интерфейс Ethernet, а IP-адрес eth0имеет имя foo.example.com, рекомендуется выбрать fooимя хоста. Если вы делаете это, foo.example.comчасто называется FQDN(полное доменное имя) вашего компьютера. Но вы можете оставить их несоответствующими; расхождение может сбить с толку администратора, но не имеет значения для программного обеспечения.

Имя хоста может использоваться некоторыми сетевыми протоколами для идентификации хоста. Если это так, он должен быть отправлен локальным процессом, запущенным на хосте. Например, в некоторых случаях DHCP- клиент отправляет имя хоста на DHCP-сервер для получения IP-адреса; DHCP-сервер может использовать заявленное имя хоста, чтобы решить, какой IP-адрес приписать клиенту. В таких настройках обязательно, чтобы имя хоста совпадало с именем DNS.

Связанный: Почему мое имя хоста отличается в Emacs? ; Как сделать машину доступной из локальной сети, используя ее имя хоста

Жиль "ТАК - перестань быть злым"
источник
1
Это не правда, что это не известно на другой машине. Это имя хоста отправляется многими ОС на сервер DHCP при запросе аренды DHCP, и многие серверы DHCP / DNS используют его для обновления локальной зоны DNS. Имя хоста используется mDNS, используется samba (в большинстве установок samba по умолчанию), отображается на HTTP-сервере ...
Стефан Шазелас
@sch Хорошая мысль о упоминании DHCP. Я не понимаю вашу точку зрения по поводу httpd: это локальный процесс, который может принять решение об отправке имени хоста по сети, но имя хоста до сих пор неизвестно другим машинам, если хост его не отправил.
Жиль "ТАК - перестань быть злым"
Я думаю, что это хороший ответ, но, поиграв немного больше, я не уверен, что он завершен. Кажется, что если я изменю свое имя хоста (ip-10-123-123-123) на что-то еще, то hostname --fqdnбольше не будет работать на экземпляре ec2, и apache выдает предупреждение при запуске, что он не может надежно определить fqdn. Я не уверен, где искать дополнительную информацию о том, как все эти вещи связаны друг с другом. Спасибо, что дали мне начать.
cwd
1
hostname --fqdn(DNS) действительно используется для регистрации. unix.stackexchange.com/questions/319737/…
sourcejedi