Файл /etc/hosts для многосетевой многодоменной машины?

Файл /etc/hosts для многосетевой многодоменной машины?

У меня есть сервер (debian) с двумя сетевыми интерфейсами, на котором я хотел бы разместить несколько сервисов и доменов; мне не совсем понятно, как настроить файл hosts. Пример:

eth0, bound to WAN interface 1.2.3.4:
   mail.example.com
   www.example.com
eth0:1, bound to WAN interface 1.2.3.5:
   www.other-domain.com
eth1, bound to LAN 192.168.1.123:
   some-clever-hostname

Как должен выглядеть мой файл hosts? (включая localhost,localhost.localdomain и т. д.) Стоит ли использовать DNS для некоторых из этих записей? Для каких?

Спасибо!

EDIT: Что делать, если я не могу использовать DNS-сервер, например, в тестовой среде?

решение1

Ввод иlocalhost/etc/hostname

127.0.0.1 localhost.localdomain localhost

в /etc/hostsпорядке. Сопоставления можно задать в DNS, а остальное можно задать явно (у Apache ServerName будет настроено внутри виртуальных хостов и т. д.).

решение2

Многодоменные системы и многодоменные системы на Linux (или Windows, или любой другой машине, использующей TCP/IP) — две совершенно разные вещи.

Многодоменные системы:

Серверу нужно только одно имя хоста, и он работает гораздо лучше, если это не имя веб-сервера. Независимо от того, находитесь ли вы за маршрутизатором NAT, он должен указывать на публичный IP-адрес, который идентифицирует сервер, а не на частный IP-адрес. При наличии нескольких IP-адресов он должен указывать на основной IP-адрес сервера. Затем отправьте заданное имя хоста для разрешения в DNS. Крупные компании могут иметь систему нумерации. server001, server002, server003 и т. д.

12.34.56.78 server001.mydomain.com server001
127.0.0.1 localhost.localdomain.local localhost

Добавление .local к localhost.localdomain не обязательно, но является предварительным условием для настройки многодомных систем. Я обычно добавляю его просто по привычке. Любой другой домен будет обрабатываться через веб-сервер, если настроен правильно. Помимо веб-серверов, пока IP-адрес DNS указывает на сервер (электронная почта и т. д.), этого достаточно. Если вы находитесь за маршрутизатором NAT, вы можете настроить внутреннее имя хоста с помощью .local. В большинстве случаев это не требуется, но может решить некоторые проблемы в более сложных системах.

12.34.56.78 server001.mydomain.com server001
10.0.0.78 server001.mydomain.local server001
127.0.0.1 localhost.localdomain.local localhost

Многосетевые системы:

Это когда у вас физически есть несколько сетевых карт, подключенных к отдельным сетям. Наиболее распространенной будет публичная сеть на одном интерфейсе, защищенная частная сеть на другом интерфейсе. Так, например, у вас могут быть веб-службы на публичном интерфейсе и защищенная база данных на отдельном сервере на частном интерфейсе. Это будет работать без настройки многосетевой системы, но очистит массу соединений SYN TIMEOUT, если она будет под большой нагрузкой. Допустим, у нас есть веб-сервер (server001) на 12.34.56.50 : 10.0.0.50 и внутренний сервер базы данных (server002) на 10.0.0.51. Оба сервера должны будут сопоставляться друг с другом в /etc/hosts с помощью директивы .local

/etc/hosts сервер001

12.34.56.50 server001.mydomain.com server001
127.0.0.1 localhost.localdomain.local localhost
10.0.0.50 server.001.mydomain.local server001
10.0.0.51 server002.mydomain.local server002

/etc/hosts сервер002

10.0.0.1 server002.mydomain.local server002
127.0.0.1 localhost.localdomain.local localhost
10.0.0.50 server.001.mydomain.local server001

Связанный контент