В системах Linux я видел много вариантов конфигураций / etc / hosts в отношении адреса обратной связи, localhost и псевдонимов сервера. Некоторые включают имя сервера как псевдоним для адреса localhost / loopback (127.0.0.1), а другие нет. Я пытаюсь выяснить, какой из них наиболее "правильный" и какие проблемы могут вызвать неправильные настройки.
Например, для воображаемого сервера с именем alice, с полным доменным именем alice.example.com и IP-адресом 192.168.42.42 я видел следующие конфигурации / etc / hosts (и другие):
Option 1:
127.0.0.1 alice.example.com alice localhost.localdomain localhost
192.168.42.42 alice.example.com alice
Option 2:
127.0.0.1 localhost.localdomain localhost alice.example.com alice
192.168.42.42 alice.example.com alice
Option 3:
127.0.0.1 localhost.localdomain localhost alice
192.168.42.42 alice.example.com alice
Option 4:
127.0.0.1 localhost.localdomain localhost
192.168.42.42 alice.example.com alice
Итак, какой из этих вариантов наиболее правильный? Я сам предпочитаю вариант 4, но у меня нет веских причин для этого. Я особенно подозрительно отношусь к варианту 1, поскольку разве он не устанавливает каноническое имя машины с полным доменным именем для 127.0.0.1, а также 192.168.42.42? Я не уверен, чем это отличается, например, от варианта 2, где вместо этого используется просто «псевдоним» для 127.0.0.1.
Я думаю об этом вопросе как о том, «как локальная машина должна называть данный IP-адрес?». Короткий ответ может заключаться в том, что в современном мире все это не имеет особого значения, поскольку все в любом случае просто все время ищут DNS.
Тем не менее, я понимаю, что существует множество способов, которыми / etc / hosts по-прежнему полезен. Я предпочитаю вариант 4 по привычке, потому что он кажется самым простым. Но теперь, когда я смотрю на это, что-то вроде варианта 3 кажется наиболее правильным. Если у вас нет DNS, вам нужно ответить на два основных вопроса:
Если у вас нет DNS и вы полностью полагаетесь на / etc / hosts, вам также, вероятно, наплевать на файл fqdn. В этом случае вариант 3 позволяет вашему компьютеру отвечать на вопросы 1 и 2 с помощью обратного IP-адреса, который, как вы можете предположить, всегда активен и работает. Я предполагаю, что существует вероятность того, что реальный IP-адрес машины не может быть настроен на интерфейсе, что приведет к сбою этого сетевого пути.
Таким образом, мой плохо аргументированный ответ - выбрать № 3, потому что он отвечает на основные вопросы и является наиболее надежным перед лицом неопределенных сетевых конфигураций.
Это действительно один из тех вопросов, которые кажутся простыми, но чем дольше вы думаете над ним, тем сложнее становится.