Работа домена Centaurus с несколькими подсетями
В случаях, когда контроллер домена Centaurus должен обслуживать клиентов в нескольких подсетях, необходимо обеспечить наличие сетевых интерфейсов контроллера в каждой из подсетей. В простейшем случае - вставить в сервер нужное количество сетевых карт. Дело в том, что контроллер домена (как и прочие ресурсы) опознаётся при помощи демона Avahi, использующего широковещательные запросы. Тогда, если:
- рабочая станция расположена в другой ip-подсети, даже при работоспособном шлюзе и наличии ping до контроллера;
- неработоспособен, отключен или не обслуживает подсеть демон Avahi на контроллере домена;
- неработоспособен или отключен Avahi на рабочей станции
хотя сеть исправна, рабочая станция "не видит" контроллера домена, не может выбрать домен для настройки авторизации через Alterator и не может авторизовать пользователя домена.
Если же контроллер имеет адрес в каждой из подсетей, и все они (это необходимо!) зарегистрированы в DNS, возникает другая неприятность: рабочие станции, получив список ip-адресов контроллера, начинают обращаться ко всем поочерёдно (load balancing). Если при обращении через чужую подсеть ответ не приходит, возникает таймаут или даже отказ авторизации. В системном журнале и на консоли F12 это явление можно наблюдать в виде сообщений "service ... timed out".
Данная особенность преодолевается, как минимум, двумя способами:
1. Если возможно, назначить сам контроллер домена маршрутизатором по умолчанию для всех обслуживаемых им подсетей. Для простейших систем с единственной подсетью это естественный вариант, кроме случаев с подключением к Интернет через аппаратный роутер (ADSL, домовая сеть) с NAT.
2. Назначить в параметрах зоны DHCP для каждой из подсетей статический маршрут к каждому из интерфейсов контроллера - на сам же контроллер. В файле dhcpd.conf достаточно добавить option static-routes в список параметров зоны.
Пример:
subnet 192.168.0.0 netmask 255.255.255.0 { next-server 192.168.0.200; filename "pxelinux.0"; option root-path "/srv/public/netinst/current"; option routers 192.168.0.1; option domain-name-servers 192.168.0.200; option domain-name "mydomain"; option static-routes 192.168.1.200 192.168.0.200; default-lease-time 3600; max-lease-time 3600; range 192.168.0.100 192.168.0.199; }
Тестовая команда
$ ping ldap
повторенная несколько раз, при правильной настройке сети должна выполняться всегда, без задержек на разрешение имени и без потерь пакетов.