Заказчик поручил мне разработать работающий дизайн Active Directory для сценария со следующими требованиями (упрощенно, на самом деле они намного хуже):
- Существует подсеть для клиентских систем.
- Существует подсеть для серверных систем.
- Две сети не связаны.
- У каждого сервера должно быть две сетевые карты, одна в сети серверов, другая в сети клиентов.
- Трафик между клиентами и серверами должен проходить только по сети клиентов.
- Трафик между серверами должен проходить только по сети серверов.
- Это должно относиться и к контроллерам домена.
Излишне говорить, что это не очень хорошо с тем, как Active Directory использует DNS для поиска контроллеров домена; любой возможный подход приведет к одному из следующих сценариев:
- Контроллеры домена регистрируют свой «клиентский» IP-адрес в домене DNS; клиенты будут общаться с ними по этому адресу, но так же поступают и серверы, и трафик репликации AD.
- Контроллеры домена регистрируют свои IP-адреса на стороне сервера в домене DNS; серверы будут общаться с ними, используя этот адрес, и трафик репликации будет проходить по этой сети, но клиенты не смогут получить к ним доступ.
- Контроллеры домена зарегистрируют оба IP-адреса в домене DNS; Кто-то может догадаться, что любая система сделает, чтобы достичь их.
Конечно, эти требования абсолютно сумасшедшие, и все они не могут быть удовлетворены одновременно, если только не использовать сумасшедшие решения, такие как разделение службы DNS на две сети и заполнение ее записей SRV вручную (argh) или размещение серверов. Контроллеры домена, использующие DNS, и клиенты находят контроллеры домена, используя WINS (двойное число).
Решение, которое я придумал, состоит в том, чтобы иметь два контроллера домена в сети «серверы» и два контроллера домена в «клиенте», определяя два сайта AD и пересекая границу между двумя сетями только с трафиком репликации контроллера домена. Это все еще потребует некоторого искажения DNS, потому что у каждого сервера будут все еще две сетевые карты (кроме двух серверных контроллеров домена и чисто внутренних серверов), но у него есть по крайней мере некоторые шансы на работу.
Любой совет, кроме как бежать как можно быстрее?
Ответы:
Позвольте мне начать с того, что я согласен со многими другими - либо убедить клиента в обратном, либо бежать.
Однако, учитывая ваши перечисленные требования (их много в списке), я могу придумать (и частично протестировать), по крайней мере, основу для этого.
Есть несколько конкретных аспектов, которые необходимо учитывать.
Один и два имеют много общего - в общем, мы находимся на прихоти Microsoft и должны работать в рамках процессов Microsoft DS DS.
Номер три, у нас есть немного места для работы. Мы можем выбрать метки, используемые для доступа к сервисам (файлы, экземпляры базы данных и т. Д.).
Вот что я предлагаю:
Создайте свои контроллеры домена (DC)
Правильно настроить сайты и службы AD
Настройка дополнительной зоны в AD DS Integrated DNS
Настройте второй NIC на вашем DC
Настройте сетевые карты рядового сервера
Настройка поведения DNS-заглушки на сайтах
Настройте сопоставления / ресурсы соответствующим образом
О чем я говорю?
Я не полностью проверил это, поскольку это довольно смешно. Однако смысл этого (вау, длинного) ответа состоит в том, чтобы начать оценивать, возможно ли это, а не нужно ли это делать.
@Комментарии
@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, поскольку она не будет использоваться в процессе определения локатора домена. Он используется только клиентами / рабочими станциями для подключения к сервисам рядового сервера не 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.
Клиенты смогут найти штраф DC. Клиентские DNS-серверы указывают на clt IP-адреса DC.
Когда запускается процесс локатора DC на клиенте
@Massimo 4
Тьфу, хороший улов. На мой взгляд, есть два пути решения этой проблемы.
или
В общем, все это не красиво, но это не обязательно конечная цель. Возможно, клиент просто тестирует ваши технические решения. Положите его на их стол переговоров и скажите им: «Вот, это будет работать, но я беру с вас 4-кратную норму оплаты за настройку и поддержку. Вы можете снизить ее до 1,5-кратной нормы - 0,5-кратного заряда PITA, выполнив [правильное решение]. "
Как отмечалось ранее, моя рекомендация - убедить иначе или бежать. Но это смешное маленькое упражнение. :)
источник
В итоге я выбрал решение для двух сайтов:
Конечно, это означает включение трафика репликации между двумя сетями; контроллеры домена в сети «клиенты» по- прежнему будут иметь сетевой адаптер в сети «серверы», но, поскольку он не будет зарегистрирован в DNS, контроллеры домена в этой сети будут связываться с ними, используя свои IP-адреса на стороне клиента; так что NIC фактически будет полностью бесполезным, и некоторые порты брандмауэра нужно будет открыть. Единственным другим вариантом будет искажение
hosts
файлов DC , но будем надеяться, что этого можно избежать.Ну, я думаю, что это лучшее, что можно сделать, чтобы выполнить как можно больше (безумных) требований.
Спасибо за все советы :-)
источник
Прежде всего, когда мы предоставляем услуги нашим клиентам, мы должны задаться вопросом, каковы их требования. Предоставление клиенту возможности понять, что его уровень сложности не нужен.
Используя метод KISS, можно было бы создать две VLAN «SVR» и «CLT», включив SSL / TLS и называя их «День» ....
источник