Я знаю, что есть довольно много вопросов по именам хостов. Но даже после их прочтения я не совсем понял концепцию имен хостов. Итак, вот мой вопрос:
Я слежу за этим руководство в настройке VPS с Linode.
Первый шаг - установить имя хоста. Насколько я понимаю, имя хоста - это просто произвольное имя, которое вы можете установить для идентификации вашей машины в сети. Кроме того, полное доменное имя - это имя хоста плюс имя домена (которое может или не может быть связано с веб-доменами, размещенными на сервере). Пожалуйста, поправьте меня, если я ошибаюсь.
Затем он предлагает мне изменить / etc / hosts и добавить что-то вроде:
12.34.56.78 plato.example.com plato
Итак, мой вопрос: что именно выполняет эта строка? Я делал это раньше, но никогда толком не понимал, что он делает. Кроме того, если имя хоста и имя домена, используемые в FQDN, просто произвольны, где их можно использовать? Фактические варианты использования были бы очень полезны, а подробное объяснение было бы отличным. Спасибо!
Некоторые приложения будут использовать имя хоста для определенных параметров, если явно не задано. Postfix, например, будет идентифицировать себя по имени хоста машины, если вы не укажете иное в файле конфигурации.
Файл hosts используется для разрешения имен. При разрешении доменных имен ваш сервер проверяет свой файл hosts перед отправкой DNS-запроса.
Эта строка, которую вы разместили, по существу заставит ваш сервер разрешить "plato.example.com" и "plato" по этому IP-адресу. Вот почему вы обычно видите первую строку с 127.0.0.1 localhost localhost.localdomain ....
поэтому сервер всегда разрешает свое имя хоста самому себе.
Это позволяет системе определять собственное имя, даже если DNS отключен. Давным-давно не было DNS, все разделяли файлы хостов с парами имя / IP для каждой машины, к которой им нужно было подключиться.
Если вы посмотрите /etc/nsswitch.conf, вы увидите, что для хостов он (в любом случае по умолчанию) имеет строку, в которой указано hosts: files dns
Это означает, что сначала он проверит файл hosts и, если он не найдет там имени, перейдет в DNS. Это может сэкономить вам много сетевого трафика, если у вас есть приложение, которое часто ищет имя или IP-адрес локальных хостов (ну, и вы не кешируете поиск по имени, что теперь обычно делаете).