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

Следует ли использовать частное имя хоста или публичное имя хоста в качестве имени хоста сервера?

Предположим, у вас есть веб-сервер и сервер базы данных, веб-сервер общедоступен, а база данных используется только веб-сервером, их DNS

web.example.com
web-internal.example.com

db-internal.example.com

Итак, очевидно, что db должен использовать только внутренний DNS в качестве имени хоста, а как насчет веб-сервера? Следует ли мне также использовать внутренний DNS в качестве имени хоста для единообразия?

Общедоступный веб-сервер должен использовать общедоступный DNS. Если возможно, вы хотите, чтобы веб-сервер находился в DMZ. В зависимости от того, как выполняется ваша сетевая адресация, вам может потребоваться внешнее имя, указывающее на внутренний IP-адрес на внутреннем IP-адресе. Общедоступный DNS должен иметь IP-адрес, необходимый для доступа к серверу из Интернета. Если вы используете NAT или прокси, это может быть не адрес веб-сервера.

Если вы не хотите, чтобы сервер базы данных был доступен из Интернета, он должен находиться во внутренней сети и использовать внутренний DNS. Относительно редко требуется, чтобы сервер был доступен из Интернета. В зависимости от содержимого они могут быть обязательствами по защите базы данных от доступа из Интернета.

Ценность /etc/hostname может быть любым, но должно быть внутренним именем. Обычно службы имеют собственное имя, отличное от имени хоста, на котором они работают. Отделение имени службы от имени хоста упрощает перемещение или масштабирование службы.

Если вы добавите адреса в /etc/hosts использовать внутренние адреса DNS. Все в этом файле должно иметь то же значение, которое хост получит от DNS. Если ваш внутренний DNS ненадежен, указывать там адреса нет необходимости. В моем случае я использую dnsmasq как мой внутренний DNS, и он настроен из hosts файл. Это позволяет очень легко иметь one true source для IP-адресов.

Если вы помещаете адреса в файл hosts, попробуйте автоматизировать обновление, чтобы вам не приходилось редактировать каждый файл серверов вручную. Ручное редактирование, как правило, подвержено ошибкам, и вам нужно делать как можно меньше.

Вообще говоря, имя хоста не имеет никакого отношения к службам, работающим на сервере. Пока фактические записи DNS, которые будут использовать пользователи и приложения (как общедоступные, так и внутренние), верны и указывают на сервер, предлагающий эту конкретную услугу.

Подробнее об именах в этот ответ.

Единственное исключение, которое приходит на ум, - это исходящие SMTP-серверы, потому что, если явно не настроено иное, они будут идентифицировать себя по своему имени хоста, и это имя хоста должно быть разрешаемым и идентичным записи PTR.