Файл /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 для некоторых из этих записей? Какие?

Спасибо!

РЕДАКТИРОВАТЬ: Что делать, если я не смог использовать DNS-сервер, например, в среде тестирования?

2 ответа

Решение

Ввод localhost в /etc/hostname а также

127.0.0.1 localhost.localdomain localhost

в /etc/hosts Это хорошо. Сопоставления могут быть установлены в DNS, а остальные можно установить явно (для apache будет настроено имя сервера в виртуальных хостах и ​​т. Д.).

Многодоменные системы и многодоменные системы в 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/хосты server001

      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/хосты server002

      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
Другие вопросы по тегам