Active Directory для осваивающих

 
 
 
(В статье приведены ссылки на официальные ресурсы корпорации Microsoft, а также другие организации и частные лица. Все права принадлежат их правообладателям.)
 
 
версия от 3 марта 2004 г.
 
 
   
 

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

с уважением, автор

 
 

Введение

 
  Наверное, про Active Directory (AD)1 уже написано столько, что можно было и не писать. Однако, всегда есть те, кто только начинают, т.е. им это будет не плохо «хотя бы прочитать», и те кто уже хорошо знают, что за зверь такой AD, которые могут мысленно усмехнуться. К тому же, какое дело, нам программистам, если наша работа не относиться к AD ни каким боком 2. Я тоже так думал, однако мое начальство решило по другому…
Так и начались мои «войны с AD». Именно этой статьи не хватало мне тогда3

1) В данной статье будет идти речь только о семействе Windows 2000

2) Здесь автор имеет ввиду, что он тоже 1С программист, и в обязанности знание и администрирование сети не входит (правда начальство не очень согласно)

3) все ссылки в этой статье только на русскоязычные страницы

 
       
 

Что это такое AD4

 
  Служба каталогов Active Directory - довольная забавная «зверюшка». Я не случайно выбрал такое сравнение – это «живой» механизм, который на практике довольно часто приходится «приручать» ?. Задумка в «творцов» AD была сделать некую информационную структуру, содержащую в себе информацию об объектах сети, т.е. компьютерах и тех пользователях, что сидят за ними, принтерах, с помощью которых они распечатывают фотографии любимых девушек ? (С), различные сетевые устройства, ну и остальное, всего и не упомнишь сразу… 4 )краткое изложение тут  
  Одичал же наш «пушистик», так как уж «шибко умный» получился, всё про всех знает, даже контролирует действия, сложный характер – сказать ему просто «фас» как выдрессированному щенку не получиться, надо и в настройках потрудиться, и посмотреть в логах, что он на это думает ? ,и еще его надо понять, да – да, не получиться сказать, мол я тебе конфетку, а ты сделаешь для меня отчет за месяц, нет, придется вникнуть в его нужды (что он просит).    
  Но ближе к делу, вообще служба каталогов AD не является уникальным изобретением5 Microsoft, взять ту же службу каталогов NDS компании Novell, однако зато становиться понятным неизбежность и необходимость этого изобретения (имхо):

5) Как правило, службы каталогов используют характерный для всех ldap-протокол, для Макинтошей это Open Directory, для Линукс-систем пожалуй можно привести примером OpenLDAP

6) Однако честным будет добавить что без труда не вытянешь из рыбку из пруда, т.е. не сразу станете кибербогом сети :-)

 
  - технологии активных каталогов организуют центральное управление над компьютерами в сети, создавая однократную регистрациюпользователей и доступ к ресурсам сети, удобство и легкость администрирования с помощью служб управления 6, и я уж не говорю о экономии сил и времени для нас любимых :-)  
  - кроме этого, для более близкого знакомства, кому наскучил конфигуратор, я отправляю к описанию AD от Microsoft, техническому описанию, обзору характеристик, управлению службой каталогов, настройке ДНС и AD, диспетчеру сайтов, перспективам развития, интеграции с почтой.  
  - другой еще мало освоенной чертой AD является способность к взаимодействию с приложениями (кстати, даю наводку, нет ни одной программы в 1С Предприятии, которая бы пусть даже с помощью элементарных скриптов обращалась с объектам AD, расширение схемы Active Directory еще вообще не «пахано»), я не буду тут слишком разглагольствовать, скажу лишь пример, всеми известный, и еще как :-) Exchange 2000!  
  Есть еще много рекламы и тому подобного, но нам это уже не так очевидно (или мне :-).
Что еще? Ах да, я не сказал про контроллеры домена (DC). Это серверы, несущие данную службу каталогов, играют главную роль, все начинается и заканчивается на них, так сказать, все дороги ведут в Рим. В силу своей сложности, DC могут иметь много ролей и функций, но в любом случаи, самый первый контроллер в сети всегда будет иметь все эти функции. При установки последующих контроллеров придется решать более сложные задачи, относящиеся к планированию AD 7 . И конечно особую роль решает умение восстановление каталога AD.
7) Конечно это надо делать до установки вообще любого контроллера, но наша задача сейчас заключается просто в установке именно первого контроллера.  
  Для того, чтобы лучше понять идеологию AD очень РЕКОМЕНДУЮ8 статьи "Основные экзамены по Windows 2000 за 15 минут в неделю" - здесь вы хорошо сэкономите время, если вам придется заниматься (в меру способностей) администрированием и Сборник документов и материалов в помощь системному администратору. 8) Это не реклама, проверено на мне :-)  
       
 

Но уже пора и подготовить сервер, нам потребуется:

 
  1. Диск должен иметь файловую систему NTFS
2. Наличие последних обновлений 9 (не обязательно, но очень НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ)
3. Наличие сетевого интерфейса и его исправность. Это означает, что возможно разработчики посчитали 10 бессмысленным установку AD на компьютере, не имеющим возможности создать сетевые соединения.
4. Статический адрес сетевого интерфейса (это особенно важно, если в вашей сети находиться DHCP- сервер, который автоматически раздает в аренду IP-адреса).
5. Установка Службы доменных имен (DNS) для Active Directory

9) На момент написания был актуален четвертый сервис пак с вот таким списком найденных "правок" :-) и замечания к пакету обновления 4 (SP4) для Windows 2000

10) Это мое личное предположение основывается на сложности включения любого контроллера в сеть, тем более они могут относиться к разным доменам и лесам.

11) Рекомендую установку со стандартными параметрами, ненужное убрать и нужно добавить мы успеем и потом при необходимости

 
  Перед началом установки лучше все же ознакомиться и с понятием TCP/IP-адресации и основные сведения о подсетях. Еще одна деталь – мы НЕ БУДЕМ СТАВИТЬ DHCP (Основные сведения о протоколе DHCP (Dynamic Host Configuration Protocol))) – это не обязательный сервис-сервер для нас в данном случаи. Ставить контроллер безусловно при небольшом опыте лучше на компьютер с только что установленным Windows 2000 Server11, тем самым мы избежим многих «забавных» проблем.  
     
 

К делу, господа !!!

   
  ЧИТАЕМ УСТАНОВКУ КОНТРОЛЛЕРА ДОМЕНА ЗДЕСЬ!!! (можно посмотреть и сюда) И все?!! - скажете вы, из-за этого ты развел весь сыр-бор?!! Летят помидоры, тухлые яйца, кто-то судорожно достает магнум 45-го колибра… :-)    
  Однако я мог сразу конечно дать ссылку, вы наверняка же думаете, что все так просто, и наш «пушистик» тут же станет белым и чистым… но как же тогда проблемы, часто встречающихся при установке Active Directory в Windows 2000? Да действительно – проблемы, установку еще даже сравнивают с игрой в шахматы, хотя не так страшен черт, как его малюют ?. А надо ли подлить масла и сказать, про профилактическое обслуживание AD – наш «зверек» любит уход :-).    
  Из своей практики (она есть, поверьте), большинство проблем при установке DC связано с DNS. Бывает, что даже приходиться удалять корневой домен ДНС. (Коротко о ДНС.)
(Для любознательных : как использовать утилиту DNSLint для устранения неполадок при репликации Active Directory, и само описание утилиты DNSLint. ) С ДНС бывает и такая забавная штука, как «проблема островов», т.е. когда в свойствах TCP/IP контроллер домена ссылается на себя как на основной сервер DNS. Одним словом, устраняем неполадки в ДНС.
   
  Однако не только служба ДНС, есть еще куча служб. Важно научиться использовать журнал событий. Более редкой проблемой, но знать о возможности существования которой надо удаление и повторная установка протокола TCP/IP на контроллере домена Windows 2000, понимать установку адаптера Microsoft замыкания на себя Windows 2000. И не забудьте про синхронизацию времени в домене. Рекомендую не только почитать часто задаваемыми вопросами по Windows, но и пользоваться элементарно поисковиком вроде google.    
  Конечно, в двух словах раскрыть проблемы, возникающие с AD невозможно, однако гораздо важнее научиться решать их самостоятельно. Многие вопросы можно решить с помощью поиска по сборнику технических статей .    
       
  И все же мы будем устанавливать сервер с контроллером домена по-своему (а неймется нам).    
  Тут надо сделать отступление. Так как статья является лишь приложением, то кратко остановлюсь на сети, где мы будем развертывать службу каталогов. Сеть класса C, а именно 192.168.48.0 с маской 255.255.255.0 . Имеются сервера с Windows 2000 Server и клиентские машины Windows 2000 Pro и Windows XP. Активного сетевого оборудования нет, развернутых служб нет, сеть не имеет выхода в Интернет.
Для работы нашего будущего домена потребуется служба ДНС и соответственно зона
Как назвать домен конечно можно выбирать из различных соображений, одно хочу посоветовать, что наш домен будет как минимум второго уровня (а именно songi.local 12) , это рекомендуется для избежания проблем со сложными настройками в будущем для имен, еще называемых «плоским» (сведения о настройке Windows 2000 для доменов с DNS-именем, состоящим из одной метки).
12) local – принятое условно обозначение «локальных» доменов, т.е. не имеющих выхода в интернет, однако это не правило, и назвать мы можем как угодно  
  Имя компьютера DC1.
Начнем с того, что ДНС мы установим самостоятельно, до развертывания контроллера
домена.
   
     
  а если вы видите такой набор действий    
     
  то рекомендую удалить и снова установить службу ДНС    
     
     
 

Да же в таком состоянии, т.е. еще без зон, уже служба ДНС будет работать ( только в качестве кэширующего сервера).

Запускаем мастер настройки сервера в оснастке DNS:

   
     
       
       
  Указываем о том что это первый ДНС-сервер (оно должно соответствовать действительности - других серверов еще нет).    
     
  Далее создаем зону прямого просмотра:    
 

(если создавать зону отдельно, то это будет выглядеть так)

   
  Выбираем «основной» тип зоны, так AD у нас еще нет:    
     
  указываем днс зону «songi.local»:    
     
  и файл

   
 

(такое окно появиться, если настраивать зоны отдельно)

   
  Зону обратного просмотра не обязательно, однако в нашем случае, когда домен не имеет выхода в интернет и обращнеия к корневым зонам домена не будет, создаем зону обратного просмотра13: 13) это не единственная причина, критериями могут и безопасность, и совместимость с сетевыми приложениями…  
 

(если создавать отдельно, то это будет так)

   
 

   
  Наша подсеть класса C, поэтому код сети будет такой 192.168.48x x) см. выше описание сети  
     
  Указываем файл для зоны    
     
  В результате у нас должно получиться, т.е. когда мы завершим работу мастера, то в оснастке сможем увидеть:

 

   
   
       
     
  Корневая зона «.»служит для обозначения корня, или начала зоны. Все зоны находятся под ней, так же, как все файлы располагаются ниже корневого каталога. Это начало иерархии зон Интернет, а в нашем случаи начало для локальной сети :-). Таким образом запросы будут обрабатывать ТОЛЬКО внутри благодаря такой настройке ДНС, а не физическому отсутствию подключения в Интернет.
Не забудем про динамическую регистрацию в ДНС, используемую AD, которую укажем для всех зон в свойствах:
   
     
     
     
     
   
   
   
  Ну а дальше запускаем DCPROMO:    
     
     
  дальше отвечаем на вопросы мастера, а точнее создаем все «новое»    
     
 

   
  имя домена как имя ДНС:

   
     
     
  По возможности рекомендуется разносить базу данных и журнал в целях повышения производительности (при условии что эти логические диски размещены на разных ФИЗИЧЕСКИХ дисках):

   
     
     
  Возможно появления такого окна, не пугайтесь:    
     
  в данном случае перезагрузите компьютер, и удалите папки, которые "не пустые" для использования нашим мастером DCPROMO    
  Не смотря на наши настройки, мастер предложит автоматическую настройку ДНС:    
     
  Если вы настроили правильно ДНС, проигнорируйте и выберите:    
     
  Условимся считать, что в сети нет Windows NT машин и выберем:

   
     
  Вводим пароль администратора восстановления, не путать администратором домена:    
     
     
 

(бывает и такое, не пугайтесь, проверьте пути, удалите содержимае каталогов типа NTDS и SYSVOL, если они уже есть, а домена нет, это бывает на не новом сервере, может остаться папка от старого домена, перезагрузите компьютер и повторите операцию создания домена)

ну и все

   
  на этом мастер выведет итоговое окно и работа почти завершена, останется лишь дождаться завершения работы мастера (это довольно большой промежуток, так как будет совершена значительная работа по созданию AD).    
  Вуаля, готово! На этом трудовые будни администратора не заканчиваются, но это совсем другая история. До встречи, рад буду получить ваши отзывы на gvv собачка drema.ru    
    2004 (С) Гилев Вячеслав aka Demiurg    
 

Дополнение от 21 марта

Спустя совсем небольшой промежуток после выхода моих статей вышла параллельно еще одна аналогичная статья Служба каталогов Active Directory в Windows 2000 Server Дмитрия Ярошенко :-)
 
 

Дополнение от 23 марта

Получив отзыв о необходимости пояснить настройку службы ДНС, решил, что это справедливое замечание, и хочу предложить небольшие заметки на эту тему:

"Немного о службе доменных имен (DNS)"

Напомню в двух словах, что служба доменных имен организовывает разрешение доменных имен в соответствующие IP-адреса и представляет собой распределенную базу данных. Данные о доменах и принадлежащих им хостах, образующие пространство имен ДНС, не концетрируются в одном месте, а храняться в виде фрагментов на отдельных серверах, что позволяет говорить о распределнности базы данных ДНС.

Отдельно хочу остановиться на корневой зоне "." - корне дерева. Такой домен является единым корнем для всех доменов и по умолчанию не ставиться (это моглобы выглядет для домена первого уровня так "ru."). Это означает, что все остальные домены лежат "ниже" его. Создавая "." в нашей базе, мы тем самым "локализуем" обрабатываемые запросы, и наша служба ДНС будет "совершать попытке разрешить ip-адреса и имена" именно впределах нашего сервера. Мы применили этот прием при установке (см. выше) именно потому что не имеем выхода в интернет. В противном случае, этот "." корень мы создавать не должны.

В операционной системе Windows 2000 служба DNS осуществляет (может этого и не делать:-) динамическую регистрацию клиентам своих доменных имен, что существенно упрощает администрирование таких баз, которые еще принято называть зонами. В Windows 2000 мы можем реализовать размещение зоны в рамках службы каталогов Active Directory (AD), что дает повышение отказоустойчивости, доступности и управляемости службы. Многие механизмы, использующие AD, так же не могут обойтись без DNS. Суть в том, что "локализация" ближайшего сервера скажем глобального каталога (GC) происходит на основе специального типа ресурсных записей, называемых локаторами ресурсов, или как и обозначают - SRV-записи.
Эти записи используются для определения местоположения серверов, предоставляющие услуги определенных служб. SRV-запись является "синонимом", или еще говорят, DNS-псевдонимом службы. Записывается это так:
 _Service._Protocol.DnsDomainName
где:
 Service - название службы (это может быть kerberos,gc, ldap и др.)
 Protocol - протокол, при помощи которого клиенты могут подключиться к данной службе ( обычно это tcp, udp);
 DnsDomainName - DNS-имя домена, к которому принадлежит сервер (в нашем случае songi.local).


Для каждого DNS-домена формируется набор SRV-записей, которые группируются в специальные поддомены:


 _msdcs - вспомогательный домен, который используется для группировки ресурсных записей о серверах, выполняющих специфические роли (такие как например сервер глобального каталога или основной котроллер домена).

Благодаря этому клиенты могут осуществлять поиск серверов, основываясь не на имени службы, а на роли, исполняемой искомым сервером. Псевдонимы, используемые для создания ресурсных записей данного поддомена будут выглядеть так:
_Service._Protocol.Dctype._msdcs.DnsDomainName
Параметр Dctype определяет роль сервера (pdc, dc, gc, domains). Например сервера, выполняющие функции котроллера домена и принадлежащего к домену songi.local, будет создан DNS-псевдоним:
_ldap._tcp.dc._msdcs.songi.local
 _sites - вспомогательный домен, используемый для группировки русурсных записей, отражающих физическую структуру сети (с точки зрения узловой инфраструктуры).


Этот домен выполняет функцию контейнера для других поддоменов, имена которых соответствуют именам узлов. Псевдонимы записываются в следующем формате:
_Service._Protocol.SiteName._sites.DnsDomainName
Когда осуществляется обращение к серверу DNS, запрос включает в себя всю необходимую для поиска информацию (такую как наименование службы, протокол, имя домена). Служба DNS в первую очередь пытается найти в базе данных контроллер домена, принадлежащий к тому же узлу, что и "запрашивающий" нужную службу. Для этого служба DNS просматривает все SRV-записи, ассоциированные с данным узлом. Если в этом узле поиск оказывается неудачен, служба DNS начинает просматривать записи других узлов.

 

Собственно говоря, перечисленные записи сервисов нам вручную делать не придеться, при установке первого контроллера домена создадуться автоматически. Однако понимание этих записей важно! Теперь представим очень маловероятную ситуацию, но всеже: некоторые записи неправильно изменены вручную, или же случайно стеры вообще. Это не повод паниковать. За формирование записей отвечает служба NetLogon. В командной строке даем всего лишь две команды:

net stop netLogon

net start NetLogon

Выполнив перезапуск службы,наши записи будут автоматически созданы! Разумеется, что если в домене были записи клиентских машин (А-записи) к примеру, то их придеться восстанавливать отдельно. Но достаточно воспользоваться службой автоматической раздачи адресов DHCP, как эта проблема тоже будет легко решена.

Дополнение от 25 марта

О скорости загрузки контроллера или что после установки первого контроллера.

После того, как установиться наш первый контроллер домена кричать "ура" немного прежде временно. После завершения работы мастера DCPROMO нам будет предложено перезагрузить контроллер. Во первых после перезагрузки мы больше не увидем профилей учетных записей локальных пользователей. Это значит, что если наш любимый саундтрэк лежал в папке "Моя музыка", значит его уже нет ни где... Да вот так печально может произойти, если предварительно не сохранить наши данные отдельно.

Контроллер перезапущен и начинает выполняться первый запуск уже в новом качестве. Что происходит:

- на основе шаблона NTDS.DIT из каталога %systemroot%\System32 формируется база Active Directory (в каталоге %systemroot%\NDTS например появяться файлы res1.log и res2.log, которые весят 10 мегабайт и просто занимают место, что в дальнейшем в случаи отсутствия свободного места "удалиться", увеличив при этом NTDS.DIT; файл транзакций edb.log (и ему подобные;файл контрольных точек edb.chk используемый в совокуности с файлом транзакций для повторного воспроизведения транзакции при необходимости; в самом конец работы DCPROMO появяться еще файлы регистрации выполнения DCPromoUI.log, DCPromo.log, Netsetup.log, DCPromos.log в каталоге %systemroot%\Debug);

- создается новая учетная запись (и новый идентификатор безопасности SID) администратора и др. стандартные записи службы каталогов;

- создаются ресурсы NETLOGON и SYSVOL;

- некоторые службы меняют параметры запуска из "вручную" в "автоматически";

- служба времени выполняет синхронизацию с внешним источником (в нашем случаи синхронизацию проводить не с кем, однако все же надо знать, что время синронизируется контроллером с ролью PDC (сейчас он естественно на единственном контроллере) командой net time /setsntp:<список серверов точного времени>).

Примечание. Установку можно также производить с ключом Dcpromo /answer:<файл ответов>, но делать это без опыта первый раз не рекомендую.

Мало того, что контроллер будет первый раз "медленно" запускаться, так еще после входа в систему рекомендую сделать паузу на 30 минут, в это время контроллером будет совершаться конфигурирование ДНС и службы каталогов, а также произойти внутресайтовая репликация.

Что сделать за тем:

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

- проверьте, что все службы с параметром запуска "автоматически" запущены;

- не нужные службы (очень осторожно и внимательно) можно перевести в статус "вручную" и остоновить;

- проверьте настройки tcp/ip и службу ДНС.

Если все работает, ок. Делаем резервную копию системного состояния (system state) контроллера. При чем не просто сделали и забыли, а в тестовой машине (можно использовать VMWare) делаем проверку восстановления - это операция должна осуществиться успешно на 100%!!! До появления второго контроллера в домене рекомендую делать бэкап как можно чаще.

До следующей встречи, Гилев Вячеслав (gilev_slava собачка mail.ru)

 

 

На заметку о безопасности. Группа "все" (everyone) не получиться добавить / удалить в группу Pre-Windows 2000 Compatible Access черерз оснастку служба католого Active Directory - пользователи и компьютеры. Для этого надо использовать команду net localgroup "" everyone [/add | /remove] .