Рассматривая различные системы Linux и FreeBSD, я заметил, что в некоторых системах /etc/hosts
есть запись для общедоступного имени хоста, но не в других systemst.
Какова лучшая практика здесь? Должен ли мой файл / etc / hosts содержать запись для полного доменного имени хоста (например, myhost.example.org) и короткого имени хоста (например, myhost)? Должна ли запись для полного доменного имени указывать на локальный хост или на внешний IP-адрес блока?
Например, конфигурация по умолчанию на многих блоках RHEL / EL не помещает публичное имя хоста в /etc/hosts
:
myhost # cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
myhost #
Другой вариант заключается в том, что краткое имя хоста и полное доменное имя также указывают на 127.0.0.1. Мне сказали, что это старая практика, которая в наши дни не одобряется, но многие администраторы все еще делают это.
myhost # cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 myhost myhost.example.org
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
myhost #
Третий вариант заключается в том, что полное доменное имя и короткое имя хоста получают внешний IP-адрес хоста. Этот третий вариант кажется мне оптимальным, поскольку он уменьшает количество обращений к DNS-серверам.
myhost # cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
74.125.239.xxx myhost myhost.example.org
myhost #
Какова лучшая практика здесь?
источник
127.0.0.1 localhost myhost
должно быть достаточно и,74.125.239.xxx myhost myhost.example.org
как вы сказали, сохраняет DNS-запросы. «Лучшая практика», если нет стандарта, это «то, что используют знающие люди».Ответы:
Готовы ли вы принять работающий DNS как точку сбоя в вашей среде или нет. Некоторые службы / приложения не будут работать в определенных конфигурациях, если система не сможет разрешить имя локального компьютера.
Если у вас есть абсолютно критическая служба, которая должна работать во всех ситуациях, нет ничего необычного в том, чтобы добавить запись в файл hosts, чтобы служба могла продолжать работать в ситуации, когда не удается разрешить DNS.
Если вы можете принять DNS как точку сбоя или если ваши службы не будут работать в случае нарушения разрешения, можно избежать записей конфигурации в файле hosts.
Я настоятельно рекомендую вам сделать ваши DNS-серверы настолько надежными, насколько это возможно, и если вам необходимо настроить файл hosts, используйте для этого систему управления конфигурацией. Вы действительно должны избегать вручную избегать прикосновения к файлу хостов.
источник
/etc/hosts
будет заменять DNS, а не использовать в качестве запасного варианта в случае сбоя DNS. Это различие, я думаю, должно быть сделано. (Не пытаясь придираться). Все зависит от порядка, определенного в/etc/nsswitch.conf
./etc/hosts
файлу. Многие приложения запрашивают свои имена хостов много раз в секунду. Добавление имени хоста/etc/hosts
уменьшит задержку и должно ускорить работу приложения.