У нас есть система Debian 8.2, foo
предоставленная нашим IT-отделом для производства. Ее /etc/hosts
файл содержит следующие две строки:
127.0.0.1 localhost
127.0.1.1 foo.example.com foo
Это сопоставляет полное доменное имя системы с 127.0.1.1
, в то время как реальный IP-адрес системы 10.5.1.38
(который являетсянетприведены в hosts
).
Это правильно или должно быть?/etc/hosts
нетсодержат полное доменное имя?
Обратите внимание, что система подключена к сети, имеет доступ к DNS и nslookup
с помощью полного доменного имени выдает правильный IP-адрес ( 10.5.1.38
).
решение1
Я считаю это плохой практикой, я видел, как разработчики так делают. Хотя это можно использовать в тестовых средах, я не рекомендую использовать это в производственных средах.
По определению, ядро имеет строго определенное поведение для локального хоста.
Могут быть и проблемы. Я помню, как у меня была открытая для Интернета служба, которая не работала, потому что разработчик использовал имя в файле конфигурации, которое указывало на обратную связь вместо публичного адреса.
По моему мнению, ваши файлы hosts должны быть такими:
127.0.0.1 localhost
10.5.1.38 foo.example.com foo