Файл /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