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

Консультации по проектированию Active Directory для многосетевых серверов

Заказчик поручил мне разработать рабочий дизайн Active Directory для сценария со следующими требованиями (упрощенно, на самом деле они намного хуже):

Излишне говорить, что это не очень хорошо сочетается с тем, как Active Directory использует DNS для обнаружения контроллеров домена; любой возможный подход приведет к одному из следующих сценариев:

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

Решение, которое я придумал, заключается в наличии двух контроллеров домена в сети «серверов» и двух контроллеров домена в сети «клиентов», определяющих два сайта AD и пересекающих границу между двумя сетями только с трафиком репликации контроллера домена. Это будет по-прежнему требует некоторого изменения DNS, потому что каждый сервер по-прежнему иметь две сетевые карты (помимо двух серверных контроллеров домена и чисто внутренних серверов), но у него есть хоть какие-то шансы на работу.

Есть какой-нибудь совет, кроме как бежать как можно быстрее?

Позвольте мне начать с того, что я согласен со многими другими - либо убедите клиента в обратном, либо бегите.

Однако, учитывая ваши перечисленные требования (их много не указано), я могу придумать (и частично протестировать), по крайней мере, основу для того, чтобы это произошло.

Необходимо учитывать несколько конкретных аспектов.

  1. Репликация доменных служб Active Directory
  2. Процесс поиска DC клиентов / рядовых серверов
  3. Разрешение имен и трафик для служб, не относящихся к AD DS

Один и два имеют много общего - в общем, мы находимся в прихоти Microsoft в отношении этого и должны работать в рамках процессов Microsoft AD DS.

Номер три, у нас есть немного места для работы. Мы можем выбрать метки, используемые для доступа к службам (файлы, экземпляры базы данных и т. Д.).

Вот что я предлагаю:

Создайте свои контроллеры домена (DC)

  • Скорее всего как минимум двое.
  • У каждого контроллера домена будет два сетевых адаптера, по одному в каждой IP-сети / сайте AD DS - пока они называются clt и srv.
  • Только прямо сейчас настройте одну сетевую карту в каждом DC в сети SRV.

Правильная настройка сайтов и служб AD

  • srv сайт и подсеть
  • сайт и подсеть clt
  • снимите отметку "Соединить все ссылки сайтов" из Сайтов -> Межсайтовый транспорт -> Щелкните правой кнопкой мыши "IP"
  • удалите DEFAULTIPSITELINK, если он существует (или если вы его переименовали), чтобы не было настроенных ссылок на сайты. Обратите внимание, что для меня это неизвестно - KCC, скорее всего, сбрасывает ошибки в журнал событий службы каталогов, говоря, что два сайта (srv и clt) не подключены с разными интервалами. Однако репликация между двумя контроллерами домена будет продолжаться, поскольку они могут связываться друг с другом, используя IP-адреса одного сайта.

Настройка дополнительной зоны в AD DS Integrated DNS

  • Если ваш домен AD DS acme.local, создайте вторую основную интегрированную зону AD с включенными динамическими обновлениями под названием clt.acme.local.

Настройте второй сетевой адаптер на вашем DC

  • Эти сетевые адаптеры будут сетевыми адаптерами в сети / сайте clt.
  • Установите их IP
  • Вот волшебная часть - Свойства адаптера -> Свойства IPv4 -> Дополнительно -> вкладка DNS -> Установите DNS-суффикс для этого подключения на clt.acme.local -> проверьте Зарегистрировать это соединение ... -> Отметьте Использовать DNS-суффикс этого соединения ... -> ОК полностью.
  • ipconfig / registerdns
  • Это зарегистрирует IP-адрес сетевого адаптера clt в зоне clt.acme.local, что даст нам возможность контролировать, какой IP-адрес / сеть будет использоваться позже.

Настройка сетевых адаптеров рядового сервера

  • Сетевые адаптеры рядовых серверов на сайте clt должны иметь соответствующий DNS-суффикс и флажки, как указано выше.
  • Эти настройки могут использоваться со статическими и DHCP, не имеет значения.

Настроить поведение преобразователя DNS [заглушки] на сайтах

  • Контроллеры домена -> Настроить сетевой адаптер постоянного тока srv для использования себя и другого сетевого адаптера постоянного тока srv IP. Оставьте DC clt NIC DNS пустым (хотя необходим статический IP-адрес). (DC DNS-сервер по-прежнему Слушать по умолчанию на всех IP).
  • Рядовые серверы -> Настройте сетевую карту srv рядового сервера для использования IP-адресов srv сайта DC. Оставьте рядовой сервер clt NIC DNS пустым (можно использовать статический IP-адрес).
  • Клиенты / рабочие станции -> Настройте DNS (через DHCP или статический) для использования IP-адресов clt NIC контроллера домена.

Настройте сопоставления / ресурсы соответствующим образом

  • Когда серверы общаются друг с другом, обязательно используйте .acme.local -> будет преобразован в сетевой IP-адрес srv.
  • Когда клиенты общаются с серверами, обязательно используйте .clt.acme.local -> разрешит clt сетевой IP.

О чем я говорю?

  • Репликация AD DS по-прежнему будет происходить, поскольку контроллеры домена могут разрешать друг друга и подключаться друг к другу. Зоны acme.local и _msdcs.acme.local будут содержать только IP-адрес сетевого адаптера srv контроллера домена. Репликация AD DS будет происходить только в сети srv.
  • Процесс локатора DC для рядовых серверов и рабочих станций будет работать - хотя существует вероятность задержек в различных частях различных процессов AD DS, когда сайт неизвестен, если возвращено несколько IP-адресов DC - они будут опробованы, потерпят неудачу и продолжат работу. пока один не работает. Влияние на DFS-N также не было полностью оценено, но все равно будет работать.
  • Службы, отличные от AD DS, будут работать нормально, если вы используете вышеупомянутые метки .acme.local и .clt.acme.local, как описано.

Я не тестировал это полностью, потому что это довольно нелепо. Однако цель этого (вау, длинного) ответа - начать оценивать, возможно ли это, а не следует ли это делать.

@Комментарии

@Massimo 1/2 Не путайте несколько сайтов AD DS в зоне acme.local и, следовательно, записи SRV, заполненные контроллерами домена на этих сайтах в зоне acme.local, с необходимыми записями SRV в зоне clt.acme.local. Основной DNS-суффикс клиента (и домен Windows, к которому он присоединен) по-прежнему будет acme.local. Клиент / рабочие станции имеют только одну сетевую карту с основным DNS-суффиксом, вероятно, полученным из DHCP, установленным на acme.local.

Зоне clt.acme.local не нужны записи SRV, так как она не будет использоваться в процессе локатора DC. Он используется только клиентами / рабочими станциями для подключения к службам рядовых серверов, не относящихся к AD DS, с использованием IP-адресов рядовых серверов в сети clt. Процессы, связанные с AD DS (локатор DC), будут использовать не зону clt.acme.local, а сайты (и подсети) AD DS в зоне acme.local.

@Massimo 3

Записи SRV будут для сайтов AD DS clt и srv - просто они будут существовать в зоне acme.local - см. Примечание выше. Зоне clt.acme.local не требуются SRV-записи, связанные с постоянным током.

Клиенты смогут найти штраф DC. Клиентские DNS-серверы указывают на clt IP-адреса контроллеров домена.

Когда запускается процесс локатора DC на клиенте

  • Если клиент знает свой сайт, запрос DNS будет выглядеть так: _ldap._tcp. [Site] ._ sites.dc._msdcs.acme.local SRV. Это вернет конкретные DC для сайта, для которых зарегистрированы записи SRV.
  • Если клиент не знать его сайт, вопрос DNS будет _ldap._tcp.dc._msdcs.acme.local SRV. Это вернет обратно все DC. Клиент будет пытаться подключиться к LDAP DC, пока не найдет тот, который отвечает. Когда клиент находит его, он выполняет поиск сайта, чтобы определить сайт клиента, и кэширует сайт в реестре, чтобы будущие экземпляры локатора DC выполнялись быстрее.

@Massimo 4

Ух, хороший улов. На мой взгляд, эту проблему можно обойти двумя способами.

  1. Меньшее влияние (по сравнению с 2 ниже) - создание записи в файле hosts на клиентах / рабочих станциях для dc1.acme.local и dc2.acme.local, указывающих на IP-адреса сетевых адаптеров clt контроллеров домена.

или

  1. Вручную создайте необходимые записи SRV в файле netlogon.dns на каждом контроллере домена. Вероятно, это будет иметь некоторые последствия для сети серверов. Рядовые серверы могут иногда связываться с контроллерами домена в сети clt, если это настроено.

В общем, ничего красивого в этом нет, но это не обязательно конечная цель. Может быть, клиент просто проверяет ваши технические навыки. Шлепните его на стол для переговоров и скажите им «Здесь это сработает, но я взимаю с вас 4-кратную плату за ее настройку и поддержку. Вы можете снизить ее до 1,5-кратной моей обычной ставки - 0,5-кратного заряда PITA, выполнив [правильное решение]».

Как отмечалось ранее, я рекомендую убеждать в обратном или бежать. Но это определенно забавное маленькое упражнение в смешном. :)

В конце концов, я выбрал решение для двух сайтов:

  • Два DC для сети «серверы», два DC для сети «клиентов».
  • Два сайта AD, один для «серверных» сетей и один для «клиентских».
  • У контроллеров домена в сети «серверов» будет только сетевая карта (клиенты вообще не будут с ними разговаривать), так что это просто.
  • Контроллеров домена в зоне «клиенты» будет два, но они будут регистрировать в DNS только свои клиентские.
  • Серверы будут разговаривать со своими контроллерами домена, клиенты - со своими.

Конечно, это означает включение трафика репликации между двумя сетями; контроллеры домена в сети «клиентов» будут по-прежнему иметь сетевой адаптер в сети «серверов», но поскольку он не будет зарегистрирован в DNS, контроллеры домена в этой сети будут связываться с ними, используя их IP-адреса на стороне клиента; так что сетевая карта фактически будет совершенно бесполезной, и необходимо будет открыть некоторые порты межсетевого экрана. Единственный другой вариант - это исказить контроллеры домена. hosts файлы, но будем надеяться, что этого можно избежать.

Что ж, я думаю, что это лучшее, что можно было сделать, чтобы выполнить как можно больше (сумасшедших) требований.

Спасибо за все советы :-)

Прежде всего, когда мы обслуживаем наших клиентов, мы должны задаться вопросом, каковы их требования. Дать возможность клиенту понять, что его уровень сложности не нужен.

  • Сколько было клиентов?
  • Это весь внутренний трафик?
  • Каков функциональный уровень доменов?
  • Используется ли протокол TLS?

Используя ПОЦЕЛУЙ Метод - создание двух виртуальных локальных сетей «SVR» и «CLT» с включением SSL / TLS и вызовом дня ....