Назад | Перейти на главную страницу

Почему бы не назначить имя хоста для адреса обратной связи в / etc / hosts?

Итак, я понимаю, что имя хоста должно (по крайней мере, в системах Debian) быть установлено в /etc/hostname. Чтобы получить полное доменное имя (через hostname -f) система находит IP от имени хоста через /etc/hosts а затем возвращает первую запись в строке.

Итак, если имя хоста server1 и это в /etc/hosts:

192.0.2.1    server1.example.com    server1

Он вернется server1.example.com. Вот как это описывается на многих сайтах. Но я подумал: почему бы не назначить имя хоста для адреса обратной связи? Как ты делаешь с localhost:

127.0.0.1    server1.example.com    server1    localhost

При таком подходе вам не нужно знать внешний IP-адрес. Кроме того, приложения, которые могут использовать полное доменное имя, будут делать запросы непосредственно в системе, а не через сеть.

Так почему бы не сделать это так? Почему в большинстве случаев в Интернете используется внешний IP-адрес?

Это мог быть плохой идеей по нескольким причинам

  • если у вас есть IP (и вы обмениваетесь данными с другими хостами), настоятельно рекомендуется поставить имя хоста перед внешне известным IP.

    • Некоторые протоколы могут сказать «скажите другому парню ваше имя хоста и его IP-адрес» «хорошо. Другой парень, я foo.localnetwork (127.0.0.1)». Другой парень получит этот пакет с внешним IP-адресом на уровне IP, но на уровне протокола с IP-адресом 127.0.0.1, поэтому обмену может быть затруднительно, если этому протоколу потребуется использовать объявленную информацию вместо Уровни IP (например, с SIP могут возникнуть проблемы ...)

    • Кроме того, некоторые службы связываются только с интерфейсом, содержащим IP-адрес, связанный с именем хоста, и поэтому эти службы смогут разговаривать только с хостом через устройство обратной связи, ни с кем другим ...

Это значение по умолчанию, по крайней мере, в новых выпусках Ubuntu.

Вот мой /etc/hosts конфигурация:

127.0.0.1   localhost.localdomain localhost
127.0.1.1   sprinkler.internal.lan sprinkler

Это ни в коем случае не проблематично и, по сути, дает дополнительный эффект в виде отсутствия необходимости в рабочем DNS для некоторых операций.

Я лично стараюсь добавить еще несколько записей, таких как локальное репозиторий apt, некоторые конструкторы и т.