В этой статье мы рассмотрим проблему нарушения доверительных отношений между рабочей станцией и доменом Active Directory, из-за которой пользователь не может авторизоваться на компьютере. Рассмотрим причину проблемы и простой способ восстановления доверительных отношений компьютера с контроллером домена по безопасному каналу без перезагрузки компьютера.
Содержание:
- Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом
- Пароль учетной записи компьютера в домене Active Directory
- Проверка и восстановление доверительного отношения компьютера с доменом с помощью PowerShell
- Восстановления доверия с помощью утилиты Netdom
Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом
Как проявляется проблема: пользователь пытается авторизоваться на рабочей станции или сервере под своей учетной запись и после ввода пароля появляется ошибка:
The trust relationship between this workstation and the primary domain failed.
Не удалось восстановить доверительные отношения между рабочей станцией и доменом.
Также ошибка может выглядеть так:
The security database on the server does not have a computer account for this workstation trust relationship.
База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станцией.
Пароль учетной записи компьютера в домене Active Directory
Когда компьютер вводится в домен Active Directory, для него создается отдельная учетная запись типа computer. У каждого компьютера в домене, как и у пользователей есть свой пароль, который необходим для аутентификации компьютера в домене и установления доверенного подключения к контроллеру домена. Однако, в отличии от паролей пользователя, пароли компьютеров задаются и меняются автоматически.
Несколько важных моментов, касающихся паролей компьютеров в AD:
- Компьютеры должны регулярно (по-умолчанию раз в 30 дней) менять свои пароли в AD.
Совет. Максимальный срок жизни пароля может быть настроен с помощью политики Domain member: Maximum machine account password age, которая находится в разделе: Computer Configuration-> Windows Settings-> Security Settings-> Local Policies-> Security Options. Срок действия пароля компьютера может быть от 0 до 999 (по умолчанию 30 дней).
- Срок действия пароля компьютера не истекает в отличии от паролей пользователей. Смену пароля инициирует компьютер, а не контроллер домена. На пароль компьютера не распространяется доменная политика паролей для пользователей.
Даже если компьютер был выключен более 30 дней, его можно включить, он нормально аутентифицируется на DC со старым паролем, и только после этого локальная служба
Netlogon
изменит пароль компьютера в своей локальной базе (пароль хранится в ветке реестра HKLMSECURITYPolicySecrets$machine.ACC) и затем в аккаунте компьютера в Active Directory. - Пароль компьютера меняется на ближайшем DC, эти изменения не отправляются на контроллера домена с FSMO ролью эмулятора PDC (т.е. если компьютер сменил пароль на одном DC, то он не сможет авторизоваться на другом DC, до момента выполнения репликации изменений в AD).
Если хэш пароля, который компьютер отправляет контроллеру домена не совпадает с паролем учетной записи компьютера, компьютер не может установить защищённое подключение к DC и выдает ошибки о невозможности установить доверенное подключение.
Почему это может произойти:
- Самая частая проблема. Компьютер был восстановлен из старой точки восстановления или снапшота (если это виртуальная машина), созданной раньше, чем был изменен пароль компьютера в AD. Т.е. пароль в снапшоте отличается от пароля компьютера в AD. Если вы откатите такой компьютер на предыдущее состояние, это компьютер попытается аутентифицироваться на DC со старым паролем.
- В AD создан новый компьютер с тем же именем, или кто-то сбросил аккаунт компьютера в домене через консоль ADUC;
- Учетная запись компьютера в домене заблокирована администраторам (например, во время регулярной процедуры отключения неактивных объектов AD);
- Довольно редкий случай, когда сбилось системное время на компьютере.
Классический способ восстановить доверительных отношений компьютера с доменом в этом случае:
- Сбросить аккаунт компьютера в AD;
- Под локальным админом перевести компьютер из домена в рабочую группу;
- Перезагрузить компьютер;
- Перезагнать компьютер в домен;
- Еще раз перезагрузить компьютер.
Этот метод кажется простым, но слишком топорный и требует, как минимум двух перезагрузок компьютера, и 10-30 минут времени. Кроме того, могут возникнуть проблемы с использованием старых локальных профилей пользователей.
Есть более элегантный способ восстановить доверительные отношения с помощью PowerShell без перевключения в домен и без перезагрузок компьютера.
Проверка и восстановление доверительного отношения компьютера с доменом с помощью PowerShell
Если вы не можете аутентифицироваться на компьютере под доменной учетной записью с ошибкой “Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом”, вам нужно войти на компьютер под локальной учетной записью с правами администратора. Также можно отключить сетевой кабель и авторизоваться на компьютере под доменной учетной записью, которая недавно заходила на этот компьютер, с помощью кэшированных учетных данных (Cached Credentials).
Откройте консоль PowerShell и с помощью командлета Test-ComputerSecureChannel проверьте соответствует ли локальный пароль компьютера паролю, хранящемуся в AD.
Test-ComputerSecureChannel –verbose
Если пароли не совпадают и компьютер не может установить доверительные отношения с доменом, команда вернет значение False –
The Secure channel between the local computer and the domain winitpro.ru is broken
.
Чтобы принудительно сбросить пароль учётной записи данного компьютера в AD, нужно выполнить команду:
Test-ComputerSecureChannel –Repair –Credential (Get-Credential)
Для выполнения операции сброса пароля нужно указать учетную запись и пароль пользователя, у которого достаточно полномочий на сброс пароля учетной записи компьютера. Этому пользователя должны быть делегированы права на компьютеры в Active Directory (можно использовать и члена группы Domain Admins, но это не комильфо).
После этого нужно еще раз выполнить команду
Test-ComputerSecureChannel
и убедится, что она возвращает True (
The Secure channel between the local computer and the domain winitpro.ru is in good condition
).
Итак, пароль компьютера сброшен без перезагрузки и без ручного перевоода в домен. Теперь вы можете аутентифицировать на компьютере под доменной учетной записью.
Также для принудительной смены пароля можно использовать командлет Reset-ComputerMachinePassword.
Reset-ComputerMachinePassword -Server dc01.corp.winitpro.ru -Credential corpdomain_admin
dc01.corp.winitpro.ru
– имя ближайшего DC, на котором нужно сменить пароль компьютера.
Имеет смысл сбрасывать пароль компьютера каждый раз, перед тем как вы создаете снапшот виртуальной машины или точку восстановления компьютера. Это упростит вам жизнь при откате к предыдущему состоянию компьютера.
Если у вас есть среда разработки или тестирования, где приходится часто восстанавливать предыдущее состояние ВМ из снапшотов, возможно стоит с помощью GPO точечно отключить смену пароля в домене для таких компьютеров. Для этого используется политика Domain member: Disable machine account password changes из секции Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options. Можно нацелить политики на OU с тестовыми компьютерам или воспользоваться WMI фильтрами GPO.
С помощью командлета Get-ADComputer (из модуля Active Directory Windows PowerShell) можно проверить время последней смены пароля компьютера в AD:
Get-ADComputer –Identity spb-pc22121 -Properties PasswordLastSet
Также можно проверить наличие безопасного канала между компьютером и DC командой:
nltest /sc_verify:corp.winitpro.ru
Следующие строки подтверждают, что доверительные отношения были успешно восстановлены:
Trusted DC Connection Status Status = 0 0x0 NERR_Success Trust Verification Status = 0 0x0 NERR_Success
Восстановления доверия с помощью утилиты Netdom
В Windows 7/2008R2 и предыдущих версиях Windows, на которых отсутствует PowerShell 3.0, не получится использовать командлеты Test-ComputerSecureChannel и Reset-ComputerMachinePassword для сброса пароля компьютера и восстановления доверительных отношений с доменом. В этом случае для восстановления безопасного канала с контроллером домена нужно воспользоваться утилитой
netdom.exe
.
Утилита Netdom включена в состав Windows Server начиная с 2008, а на компьютерах пользователей может быть установлена из RSAT (Remote Server Administration Tools). Чтобы восстановить доверительные отношения, нужно войти в систему под локальным администратором (набрав “.Administrator” на экране входа в систему) и выполнить такую команду:
Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password
- Server – имя любого доступного контроллера домена;
- UserD – имя пользователя с правами администратора домена или делегированными правами на компьютеры в OU с учетной записью компьютера;
- PasswordD – пароль пользователя.
Netdom resetpwd /Server:spb-dc01 /UserD:aapetrov /PasswordD:[email protected]@w0rd
Послу успешного выполнения команды не нужно перезагружать компьютер, достаточно выполнить логофф и войти в систему под доменной учетной.
Как вы видите, восстановить доверительные отношения междду компьютером и доменом довольно просто.
Как и учетные записи пользователей, учетные записи компьютеров в домене имеют свой пароль. Пароль этот нужен для установления так называемых «доверительных отношений» между рабочей станцией и доменом. Пароли для компьютеров генерируются автоматически и также автоматически каждые 30 дней изменяются.
Домен хранит текущий пароль компьютера, а также предыдущий, на всякий случай 🙂 . Если пароль изменится дважды, то компьютер, использующий старый пароль, не сможет пройти проверку подлинности в домене и установить безопасное соединение. Рассинхронизация паролей может произойти по разным причинам, например компьютер был восстановлен из резервной копии, на нем была произведена переустановка ОС или он просто был долгое время выключен. В результате при попытке входа в домен нам будет выдано сообщение о том, что не удается установить доверительные отношения с доменом.
Для восстановления доверительных отношений существует несколько способов. Рассмотрим их все по порядку.
Способ первый
Открываем оснастку «Active Directory Users and Computers» и находим в ней нужный компьютер. Кликаем на нем правой клавишей мыши и в контекстном меню выбираем пункт «Reset Account». Затем заходим на компьютер под локальной учетной записью и заново вводим его в домен.
Примечание. Кое где встречаются рекомендации удалить компьютер из домена и заново завести. Это тоже работает, однако при этом компьютер получает новый SID и теряет членство в группах, что может привести к непредсказуемым последствиям.
Способ этот довольно громоздкий и небыстрый, т.к. требует перезагрузки, однако работает в 100% случаев.
Способ второй
Заходим на компьютер, которому требуется сбросить пароль, открываем командную консоль обязательно от имени администратора и вводим команду:
Netdom Resetpwd /Server:SRV1 /UserD:Administrator /PasswordD:*
где SRV1 — контролер домена, Administrator — административная учетная запись в домене. Дополнительно можно указать параметр /SecurePasswordPrompt, который указывает выводить запрос пароля в специальной форме.
В открывшемся окне вводим учетные данные пользователя и жмем OK. Пароль сброшен и теперь можно зайти на компьютер под доменной учетной записью. Перезагрузка при этом не требуется.
Что интересно, в рекомендациях по использованию и в справке написано, что команду Netdom Resetpwd можно использовать только для сброса пароля на контролере домена, другие варианты использования не поддерживаются. Однако это не так, и команда также успешно сбрасывает пароль на рядовых серверах и рабочих станциях.
Еще с помощью Netdom можно проверить наличие безопасного соединения с доменом:
Netdom Verify WKS1 /Domain:Contoso.com /UserO:Administrator /PasswordO:*
Или сбросить учетную запись компьютера:
Netdom Reset WKS1 /Domain:Contoso.com /UserO:Administrator /PasswordO:*
где WKS1 — рабочая станция, которой сбрасываем учетку.
Способ достаточно быстрый и действенный, однако есть одно но: по умолчанию утилита Netdom есть только на серверах с установленной ролью Active Directory Domain Services (AD DS). На клиентских машинах она доступна как часть пакета удаленного администрирования Remote Server Administration Tools (RSAT).
Способ третий
Еще одна утилита командной строки — Nltest. На компьютере, который потерял доверие, выполняем следующие команды:
Nltest /query — проверить безопасное соединение с доменом;
Nltest /sc_reset:Contoso.com — сбросить учетную запись компьютера в домене;
Nltest /sc_change_pwd:Contoso.com — изменить пароль компьютера.
Самый быстрый и доступный способ, ведь утилита Nltest по умолчению есть на любой рабочей станции или сервере. Однако, в отличие от Netdom, в которой предусмотрен ввод учетных данных, Nltest работает в контексте запустившего ее пользователя. Соответственно, зайдя на компьютер под локальной учетной записью и попытавшись выполнить команду можем получить ошибку доступа.
Способ четвертый
PowerShell тоже умеет сбрасывать пароль копьютера и восстанавливать безопасное соеднение с доменом. Для этого существует командлет Test-ComputerSecureChannel . Запущенный без параметров он выдаст состояние защищенного канала — True или False.
Для сброса учетной записи компьютера и защищенного канала можно использовать такую команду:
Test-ComputerSecureChannel -Server SRV1 -Credential ContosoAdministrator -Repair
где SRV1 — контролер домена (указывать не обязательно).
Для сброса пароля также можно также воспользоваться такой командой:
Reset-ComputerMachineChannel -Server SRV1 -Credential ContosoAdministrator
Способ быстрый и удобный, не требующий перезагрузки. Но и здесь есть свои особенности. Ключ -Credential впервые появился в PowerShell 3.0. Без этого параметра командлет, запущенный из под локального пользователя, выдает ошибку доступа. Получается что данный метод можно использовать только на Windows 8 и Server 2012, ведь для остальных ОС PowerShell 3.0 пока недоступен.
Как видите, способов восстановления доверительных отношений более чем достаточно. Однако если проблема приобретает постоянный характер, то проще подойти к ее решению с другой стороны.
Изменение параметров смены пароля компьютера
Смена пароля в домене происходит следующим образом:
Каждые 30 дней рабочая станция отправляет ближайшему контролеру домена запрос на изменение пароля учетной записи компьютера. Контролер принимает запрос, пароль изменяется, а затем изменения передаются на все контролеры в домене при следующей репликации.
Некоторые параметры смены пароля можно изменять. Например, можно изменить временной интервал или совсем отключить смену паролей. Сделать это можно как для отдельных компьютеров, так и для групп.
Если настройки необходимо применить к группе компьютеров, то проще всего использовать групповую политику. Настройки, отвечающие за смену паролей, находятся в разделе Computer Configuration — Policies — Windows Settings — Security Settings — Local Policies — Security Options. Нас интересуют следующие параметры:
Disable machine account password change — отключает на локальной машине запрос на изменение пароля;
Maximum machine account password age — определяет максимальный срок действия пароля компьютера. Этот параметр определяет частоту, с которой член домена будет пытаться изменить пароль. По умолчанию срок составляет 30 дней, максимально можно задать 999 дней;
Refuse machine account password changes — запрещает изменение пароля на контролерах домена. Если этот параметр активировать, то контролеры будут отвергать запросы компьютеров на изменение пароля.
Для одиночной машины можно воспользоваться настройками реестра. Для этого в разделе HKLMSYSTEMCurrentControlSetServicesNetlogonParameters есть два параметра :
DisablePasswordChange — если равен 1, то запрос на обновление пароля компьютера отключен, 0 — включен.
MaximumPasswordAge — определяет максимальный срок действия пароля компьютера в днях. При желании можно задать более 1 миллиона дней !!!
И в разделе HKLMSYSTEMCurrentControlSetServicesNetlogonParameters, только у контролеров домена, параметр:
RefusePasswordChange — если равен 1, то запрещает контролеру домена принимать запрос на изменение пароля. Этот параметр надо задать на всех контролерах в домене.
Вот вроде и все про доверительные отношения. Как видите, доверие в домене — штука тонкая, так что старайтесь его не терять.
В этой статье я бы хотел предложить вам пошаговый туториал по развёртыванию контроллера домена Active Directory на Windows Server 2016 (с графической оболочкой), а также по вводу рабочей станции в получившийся домен. Чем этот туториал может выделиться на фоне других:
- Вместо простого «Далее, Далее, кликаем сюда, вбиваем это» я постарался дать внятное объяснение каждому шагу, каждой настройке, которую предстоит выполнить. Помимо основных понятий Active Directory, DNS и DHCP вы также сможете найти много интересной информации по всем галочкам, которые вы часто видели, но не задумывались об их назначении.
- В конце статьи я предложу способ автоматизировать развёртывание получившегося стенда полностью с нуля, имея на компьютере только iso-образы ОС Windows 7 и Windows Server 2016. И никакого PowerShell. Всего одной командой.
Статья предполагает наличие у читателя лишь самых начальных знаний об устройстве сетей (на уровне «Что такое IP-адрес и DNS-адрес»).
Заинтересовало что-то из вышеперечисленного? Тогда погнали.
Туториал будет происходить не в вакууме, а на конкретном виртуальном стенде, состоящим из двух виртуальных машин:
Начальное состояние стенда:
- На машине windows_server уже установлена ОС Windows Server 2016 Standard Evaluation (с GUI). Машина находится в состоянии «сразу после установки ОС». В процессе туториала на ней будут развернуты службы Active Directory (с доменом mydomain.com), DNS и DHCP.
- Машина workstation выполняет роль рабочей станции. На ней установлена ОС Windows 7. Машина находится в состоянии «сразу после установки ОС». В процессе туториала она будет подключена к домену mydomain.com.
Туториал построен следующим образом (если вам интересен только конкретный пункт — смело кликайте прямо туда):
- Объясню, почему я выбрал именно такой стенд для туториала;
- Супер-краткое описание технологии Active Directory;
- Выполняется небольшая предварительная настройка windows_server;
- На windows_server производится включение необходимых компонентов;
- На windows_server происходит настройка контроллера домена AD (совместно с DNS);
- На windows_server происходит настройка сервера DHCP;
- На windows_server регистрируется новая учетная запись в AD;
- На workstation происходит подключение к домену.
В конце туториала вас ждет приятный бонус — я покажу вам как можно развернуть у себя на компьютере весь этот работающий стенд одной единственной командой. Вам понадобится только наличие двух установочных iso-образов (windows 7 и windows server 2016), да небольшой скрипт, ссылку на который я вам дам в конце статьи.
Почему такой стенд?
Такой стенд, с моей точки зрения, отлично подходит для первого самостоятельного «прощупывания» технологии Active Directory. Он минималистичен (всего 2 виртуальные машины), занимает минимум ресурсов, но при этом изолирован и самодостаточен. Его можно развернуть даже на довольно средненьком компьютере и ноутбуке. При этом на стенде уже присутствуют основные сетевые службы (AD + DNS). DHCP хоть и необязателен для функционирования AD, всё равно был добавлен в стенд в ознакомительных целях.
Disclaimer
Туториал предполагает подробный разбор всех шагов по настройке, с пояснениями «что, зачем и почему». Туториал ориентирован на людей, не слишком знакомых с технологиями Active Directory, DNS и DHCP, которые хотели бы немного узнать о внутренней кухне администрирования сетей с Active Directory.
Active Directory — это службы каталогов от компании Microsoft, как подсказывает нам Википедия. За этим сухим и невзрачным определением скрывается одна из важнейших технологий в администрировании сетей. Благодаря Active Directory администоратор сети получает очень удобное централизированное средство управления учетными записями пользователей, групповыми политиками (в т.ч. политиками безопасности) и объектами в сети (причём Active Directory без особых проблем справляется даже с гигантскими сетями). А благодаря встроенному механизму репликации, «положить» правильно настроенные сервисы AD не так-то просто. Ну и напоследок, благодаря Windows настроить Active Directory можно буквально мышкой, так что даже совсем начинающие IT-шники смогут с этим справиться.
Несмотря на то, что технологией заведует Microsoft, она вовсе не ограничивается управлением Windows-машин — все известные Linux-дистрибутивы уже давным давно научились работать с этой технологией. Повстречаться с Active Directory не просто, а очень просто — практически каждый офис предполагает наличие этой технологии, поэтому даже самым заядлым линуксоидам было бы неплохо разбираться в азах работы Active Directory.
Начинаем
Вы установили Windows Server 2016 и (надеюсь) видите следующий экран:
Эта панель — основное (графическое) средство администрирования Windows Server 2016. Здесь вы можете управлять компонентами и сервисами на вашем сервере (проще говоря, настраивать то, что умеет делать сервер). Эту же панель можно использовать и для базовых сетевых настроек Windows Server, для чего есть вкладка «Локальный сервер».
Базовые настройки Windows Server
Первое, что нужно сделать — это поменять сетевое имя сервера.
Сетевое имя (hostname) — это удобный способ идентификации узла в сети. Сетевое имя используется как альтернатива IP-адресу и позволяет не запоминать IP-адрес компьютера (при том, что этот адрес может меняться время от времени), а связываться с этим компьютером по его логическому названию.
Проблема в том, что по-умолчанию для Windows Server генерируется совершенно нечитаемое и неинформативное сетевое имя (я выделил его красным цветом на скриншоте).
Рабочии станции ещё могут позволить себе иметь нечитаемый Hostname, но никак не сервер. Поэтому я предлагаю поменять эту абракадабру его на что-то более разумное (например, на ADController), благо делается это быстро.
Смена сетевого имени
Нужно кликнуть на текущее имя сервера (отмечено красным цветом), затем во вкладке «Имя компьютера» нажать на кнопку «Изменить…», после чего ввести что-то более благоразумное:
После смены имени машину нужно будет перезагрузить.
Теперь зададим статический IP-адрес для сервера. В принципе это делать не обязательно, раз мы всё равно собрались поднимать DHCP службу, но на самом деле это хорошая практика, когда все ключевые элементы корпоративной сети имеют фиксированные адреса. Открыть меню по настройке сетевого адаптера можно из вкладки «Локальный сервер», кликнув на текущие настройки Ethernet-адаптера (тоже выделены красным цветом).
Настройки IP для интерфейса windows_server
Включаем нужные компоненты
Для нашего стенда нам понадобится включить следующие сервисы (или, как они тут называются, роли) на Windows Server:
- Доменные службы Active Directory;
- DNS-сервер;
- DHCP-сервер.
Пройдемся вкратце по каждому из них.
Доменные службы Active Directory
Эта роль фактически «включает» технологию Active Directory на сервере и делает его контроллером домена (под доменом в технологии AD понимается группа логически связанных объектов в сети). Благодаря этой роли администратор получает возможность управлять объектами в сети, а также хранить информацию о них в специальной распределенной базе данных.
Эта база данных содержит всю информацию об объектах в сети (например, именно в неё заносится информация об учётных записях пользователей). Когда человек подходит к рабочей станции и пытается выполнить вход в свою доменную учётную запись, эта рабочая станция связывается с контроллером домена с запросом на аутентификацию, и в случае успеха загружает пользовательский рабочий стол.
Однако, что же делать, если контроллер домена выйдет из строя (или просто будет недоступен для рабочих станций)? Если вы настроили только один контроллер домена, то дела ваши довольно плохи — без связи с рабочим контроллером домена пользователи не смогут выполнить вход на свои рабочие места. Поэтому в реальных сетях всегда рекомендуется устанавливать как минимум два контроллера на каждый домен. Каждый контроллер домена участвует в так называемом механизме репликации, благодаря чему все контроллеры домена имеют полную копию базы данных со всеми объектами в домене. Если по какой-то причине один из контроллеров выйдет из строя, его место всегда может занять резервный контроллер — и пользователи даже ничего не заметят.
Однако этот туториал рассчитан на простое ознакомление с технологией AD «на виртуалках», поэтому здесь не будет рассматриваться вопрос создания нескольких контроллеров AD в одном домене.
С этим пунктом все более менее понятно, а зачем же нам включать дополнительно ещё DNS-сервер?
DNS-сервер
Обычно протокол DNS (Domain Name System) используется для обращения к узлам в сети не по их IP-адресу, а по доменному имени (строковый идентификатор), что, конечно, гораздо удобнее. Другими словами, DNS чаще всего используется для разрешения доменных имен.
Но область применения протокола DNS не ограничивается только сопоставлением хостового имени и IP-адреса, что как раз подтверждает технология Active Directory. Дело в том, что Microsoft решила построить технологию Active Directory не с нуля, а на основе протокола DNS. В частности, протокол DNS используется при определении местонахождения всех ключевых сервисов Active Directory в сети. Другими словами, рабочая станция при подключении к контроллеру домена понимает, «куда» ей надо обращаться, именно с помощью протокола DNS.
Все DNS-записи (в том числе с информацией о сервисах Active Directory) хранятся на DNS-сервере, а это значит, что нам нужно заиметь свой собственный DNS-сервер! Вот только вопрос, откуда его взять? Есть два варианта:
- Использовать отдельную машину в роли DNS-сервера;
- Использовать саму машину windows_server в роли DNS-сервера.
Первый вариант, безусловно, самый правильный — именно так и надо поступать при реальном администрировании сетей (чем больше вы разносите логику по разным узлам в сети — тем лучше). Но в учебных целях я решил выбрать второй вариант (хотя бы потому, что не придётся создавать ещё одну виртуальную машину).
Именно поэтому эту роль (DNS-сервера) тоже нужно добавить к ролям машины windows_server.
Кстати, если не добавить роль «DNS-сервер» сейчас, то в будущем у вас ещё будет такая возможность при конфигурировании контроллера домена AD.
DHCP-сервер
Протокол DHCP (Dynamic Host Configuration Protocol) нужен для автоматической выдачи сетевых настроек узлам в сети. Под сетевыми настройками понимается IP-адрес, адрес шлюза по-умолчанию, адрес DNS-сервера, и ещё ряд других настроек. Этот протокол чрезвычайно удобен при администрировании сетей, особенно больших.
В этом туториале я использую протокол DHCP чтобы рабочая станция workstation могла получить сетевые настройки (в частности, адрес DNS-сервера) без каких-либо действий с моей стороны.
Протокол DHCP не имеет никакого отношения к технологии Active Directory, и можно было бы обойтись вовсе без него (достаточно прописать все сетевые настройки на рабочей станции самостоятельно), но я решил включить этот протокол в данный туториал просто для общего ознакомления. К тому же, такая связка «Контроллер AD — DNS-сервер — DHCP-сервер» довольно часто встречается в реальной жизни, потому что это очень удобный набор сервисов.
При этом вопрос о том, стоит ли выделять отдельную машину под DHCP-сервер, остаётся открытым. Для небольших сетей однозначно не стоит разносить DNS и DHCP-серверы по разным машинам, но для больших сетей, возможно, имеет все-таки смысл задуматься об этом. В нашей же крошечной сети мы абсолютно ничего не потеряем, если включим DHCP-сервер на той же машине, что и DNS-сервер.
Что ж, довольно теории, давайте лучше перейдём к включению этих самых ролей.
Мастер добавления ролей и компонентов
Возвращаемся на панель мониторинга (самый первый скриншот) и щелкаем на пункт «Добавить роли и компоненты». Вас поприветствует мастер добавления ролей и компонентов. Первый экран («Перед началом работы») пропускаем, он совсем неинтересный, а вот дальше идёт экран «Выбор типа установки»
Выбор типа установки
Нас устраивает значение по-умолчанию (Установка ролей или компонентов»), но интересен и второй пункт — он позволяет задействовать ещё одну возможность Windows Server — инфраструктуру виртуальных рабочих мест (Virtual Desktop Environment — VDI). Эта интереснейшая технология позволяет, буквально, виртуализировать рабочее место. То есть для пользователя создаётся виртуальное рабочее место, к которому он может подключаться через тонкий клиент. Пользователь лишь видит картинку, тогда как само рабочее место может совершенно прозрачно работать где угодно.
Впрочем, технология VDI это отдельная большая тема, а в этом туториале надо сосредоточиться на контроллере AD, так что кликаем «Далее» и видим экран выбора целевого сервера.
Выбор целевого сервера
Мастер добавления ролей позволяет устанавливать роль не только на текущую машину, но вообще на любой добавленный сервер, и даже на виртуальный жёсткий диск. Да, если ваша Windows Server развернута на виртуальной машине (а это довольно частое явление), то вы можете администрировать эту виртуальную машину даже не запуская её! Понаблюдать за этим процессом можно, например, здесь.
Нам же такая экзотика ни к чему, так что просто выбираем единственный возможный сервер (обратите внимание, что он теперь называется ADController место непонятной абракадабры), жмём «Далее» и, наконец, попадаем на экран выбора ролей, которые нужно добавить.
Выбор добавляемых ролей
Выбираем три роли, о которых уже говорили ранее, и продолжаем.
Выбор компонентов
Теперь необходимо выбрать дополнительные компоненты. В чём разница между ролью и компонентом, можете спросить вы? О, это не такой уж и лёгкий вопрос, честно говоря!
Согласно идеологии Microsoft, роль — это набор программ, которые позволяют компьютеру предоставлять некоторые функции для пользователей в сети. Например, DNS, DHCP, контроллер домена AD — это всё роли. А вот компоненты — это набор программ, которые улучшают либо возможности ролей сервера, либо самого сервера.
При этом глядя на список «Компонентов» так сходу и не скажешь, что какие-то вещи в списке лишь «вспомогательные». Вот например, DHCP-сервер расценивается как роль, а WINS-сервер — уже как компонент. А чем SMTP-сервер хуже DNS?
В общем-то, чёткой границы между ролью и компонентом не существует. Я лично предпочитаю относиться к ролям как к большим функциональным возможностям сервера, а к компонентам — как к небольшим дополнительным аддонам.
В любом случае, дополнительные компоненты нам не нужны, так что кликаем «Далее».
После этого идёт несколько пояснительных экранов с информацией по каждой добавленной роли, но эту информацию я уже разбирал, поэтому останавливаться лишний раз не буду.
Подтверждение устанавливаемых ролей и компонентов
На экране подтверждения ещё раз видим все устанавливаемые роли и компоненты, после чего жмём «Установить».
Остаётся лишь дождаться, когда заполнится progress-bar, и перейти к следующему пункту туториала — настройке контроллера домена AD.
Настраиваем контроллер домена Active Directory
Все роли и компоненты успешно добавлены, о чём свидетельствует следующий экран:
Вот только AD на сервере всё еще не работает — для этого его необходимо донастроить. Для этого нам настойчиво предлагают «Повысить роль этого сервера до уровня контроллера домена».
Погодите-ка, ЧТО?!
А чем же я занимался последние 15 минут? Я же добавлял роли, и судя по сообщению, они успешно добавились! И тут меня снова хотят заставить добавлять какие-то новые роли? В чем-то тут подвох.
Подвох тут действительно имеется, но вообще в не самом очевидном месте. Вот так выглядит предыдущий скриншот в английской версии Windows Server (картинка из интернета).
Английская версия скриншота
Видите разницу? В английской версии ни слова ни про какие роли! Про повышение есть, про роли — нет. Один из тех случаев, когда перевод вносит сумятицу на пустом месте. Согласно английской версии, никакими ролями мы дальше не занимаемся, что и логично, ведь мы их как раз только что добавили.
Что ж, тыкаем на предложение «Повысить роль этого сервера до уровня контроллера домена», и теперь нас приветствует мастер настройки доменных служб Active Directory с предложением выбрать конфигурацию развёртывания.
Конфигурация развёртывания
Всего тут есть 3 варианта развития событий. Для того, чтобы выбрать правильный пункт, давайте сначала разберёмся, что эти пункты означают. В этом нам поможет вот такая картинка (картинка, если что, отсюда):
Технология Active Directory (как и DNS) подразумевает иерархическое построение имён на основе доменов. Домены могут выстраиваться в доменные деревья по принципу «родительско-дочерних» отношений. В основе дерева лежит так называемый корневой домен (на картинке выше это sources.com, xyz.com и abc.com). При этом домен может иметь сколько угодно потомков. Домен-потомок располагается в просранстве имён родителя и является его «поддоменом» (subdomain). У доменного имени домена-потомка есть дополнительный префикс относительно доменного имени родителя (rus.abc.com, eng.abc.com). Один корневой домен основывает только одно доменное дерево со своим независимым пространством имён.
Теперь представьте, что таких независимых деревьев может быть много — в этом случае эти деревья образуют структуру, которая называется «лес». При этом в Active Directory доменные деревья не могут быть «сами по себе» — они обязательно должны находиться в лесу (даже если лес будет состоять всего из одного-единственного домена). Первый домен, который добавляется в лес, называется корневым доменом леса (на рисунке выше это sources.com). Корневой домен леса используется для идентификации всего леса (то есть если корневой домен называется sources.com, то и весь лес называется sources.com).
Теперь возвращаемся к мастеру настройки доменных имен. На этом этапе мастер предлагает следующие варианты:
- Добавить контроллер домена в существующий домен (помните про резервирование контроллеров в домене, так ведь?). Этот вариант не для нас, ведь домена ещё никакого нет;
- Добавить новый домен в лес. Этого мы тоже сделать не можем, т.к. и леса у нас тоже никакого нет;
- Добавить новый лес. Это вариант как раз для нас. При этом нам тут же предлагают выбрать корневой домен для этого леса (первый домен, который будет создан в лесу).
Назовём корневой домен mydomain.com и кликнем «Далее»
Параметры контроллера домена
Рассмотрим возможные параметры:
- Режим работы леса и домена. Домены в одном лесу могут работать в разных режимах в зависимости от версии Windows Server на борту. Лес должен иметь режим не выше, чем самый «старый» домен в его составе. Т.к. мы планируем использовать только Windows Server 2016, то оставим этот режим и для леса и для домена;
- DNS-сервер. Если ранее Вы не активировали роль DNS-сервера в мастере добавления ролей, то можете сделать это сейчас (вам даже предложат такой вариант по-умолчанию);
- Должен ли контроллер домена выступать в роли Global Catalog-сервера;
- Включить ли режим базы данных Active Directory «только на чтение». Основная задача, которую преследует технология RODC — возможность безопасной установки собственного контролера домена в удаленных филиалах и офисах, в которых сложно обеспечить физическую защиту сервера с ролью DC. Контроллер домена RODC содержит копию базы Active Directory, доступную только на чтение. Это означает, что никто, даже при получении физического доступа к такому контроллеру домена, не сможет изменить данные в AD (в том числе сбросить пароль администратора домена) (информация взята [отсюда].(https://winitpro.ru/index.php/2017/11/08/ustanovka-rodc-kontrollera-domena-na-windows-server-2016/))
А вот пункт 3 рассмотрим поподробнее, он довольно интересный.
Как я уже упоминал выше, каждый контроллер домена имеет полную и исчерпывающую информацию обо всех объектах в своём домене. Если же в домене несколько контроллеров, то они ещё и участвуют в механизме репликации, поддерживая несколько актуальных копий базы данных с объектами домена. Получается, что рабочая станция в домене может узнать информацию о любом объекте из этого домена от своего ближайшего контроллера домена.
Но что же делать, если рабочей станции нужно получить информацию об объекте из другого домена? И вот тут в дело вступает ещё один важнейший механизм технологии Active Directory, который называется глобальный каталог.
Что такое вообще «Глобальный каталог»? Согласно Miscrosoft — это распределенное хранилище данных, которое хранит частичное представление обо всех AD-объектах в лесу. Это хранилище располагается на котроллерах домена, которые имеют дополнительную роль «Global Catalog Server» (Сервер глобального каталога). От обычного контроллера домена GC-сервер отличается в первую очередь тем, что помимо полной копии всех объектов в своем домене, хранит также частичную информацию обо всех объектах в других доменах леса.
Чего это позволяет достичь? Давайте представим, что рабочая станция запросила информацию об объекте из другого домена. Она обращается на ближайший GC-сервер с просьбой предоставить ей информацию об этом объекте. GC-сервер, в свою очередь, может:
- Либо отдать рабочей станции нужную информацию сразу (если эта информация у GC-сервера имеется);
- Либо перенаправить запрос к нужному контроллеру домена, где эта информация точно будет находиться. Чтобы понять, какому контроллеру домена нужно перенаправить запрос, как раз и происходит поиск по GC.
Информация о том, какие атрибуты попадают в глобальный каталог, определена в Partial Attribute Set (PAS), который может настраивать администратор AD. Например, если администроатр понимает, что рабочие станции часто будут обращаться к атрибуту, который не содержится в глобальном каталоге, он может добавить туда этот атрибут. Тогда запросы рабочих станций при чтении этого атрибута будут выполняться значительно быстрее, т.к. уже ближайший GC-сервер сможет предоставить им всю нужную информацию
Однако, если в лесе всего один домен (как у нас), то Глобальный каталог содержит полную копию объектов в домене и всё.
Что ж, возвращаемся к галочке GC, которую за нас уже проставил мастер настройки доменных служб. Если вы попробуете её отключить, то убедитесь, что отключить её нельзя. Это связано с тем, что каждый домен в AD должен иметь хотя бы один GC-сервер, и при добавлении первого контроллера в домен этот контроллер сразу помечается как GC-сервер.
Что ж, давайте согласимся с этим «выбором» мастера и перейдём к последнему параметру на этом скриншоте — к паролю для режима восстановления служб каталогов. Это особый режим безопасной загрузки Windows Server, который позволяет администратору работать с базой данных AD. Этот режим применяется, например, в следующих случаях:
- база Active Directory повреждена и нуждается в исправлении;
- требуется выполнить обслуживание базы данных AD (сжатие, анализ на наличие ошибок);
- требуется восстановить резервную копию базы данных AD;
- требуется сменить пароль администратора.
Да да, вы не ослышались. Чтобы просто восстановить резервную копию базы данных, нужно перезагрузить машину и загрузиться в особом «безопасном» режиме. Это вам не Linux какой-нибудь.
Фух, вроде разобрались. Давайте перейдем дальше на шаг, где нам предложат настроить делегирование DNS.
Делегирование DNS
Что такое делегирование DNS? По большей части, это передача ответственности за некоторую DNS-зону отдельному DNS-серверу. Это распространенная практика в больших сетях, в которых требуется разграничить зоны ответственности за доменные зоны между различными серверами. При делегировании DNS в «главный» DNS-сервер вносится запись о том, что «вот за эту DNS-зону несёт ответственность вон тот DNS-сервер, обращайся туда».
Т.к. у нас всего одна зона DNS и DNS-сервер тоже один, то этот шаг нам необходимо пропустить и перейти к выбору NetBIOS-имени.
NetBIOS-имя
Мы видим, что мастер предложил нам на выбор сразу же имя для нашего домена — MYDOMAIN. Но вы можете (и должны) задать себе вопрос: а что такое вообще NetBIOS-имя и зачем оно нужно? И разве мы уже не настраивали сетевое имя узла (Hostname) в самом начале? Чего же от вас хотят?
NetBIOS (Network Basic Input/Output) — это ещё один способ разрешения имён узлов в сети (более древний и более примитивный, чем DNS). NetBIOS-имена не предполагают никакой иерархии, их длина ограничивается всего лишь 16 символами, и они применяются только для разрешения имён компьютеров в локальной сети. Когда мы в самом начале туториала выбрали сетевое имя ADController — мы, на самом деле, задали именно NetBIOS-имя для сервера. Но теперь от нас снова требуют выбрать NetBIOS-имя (да ещё и другое, отличное от ADContoller). Не много ли NetBIOS-имён для одного компьютера?
Дело в том, что Microsoft пошла ещё дальше — и ограничила длину NetBIOS-имен не 16 символами, а 15 символами. 16-ый символ при этом считается зарезервированным суффиксом, который может принимать фиксированные значения. В зависимости от значения 16-го байта получаются разные классы NetBIOS-имён. Например, если суффикс равен 00, то NetBIOS-имя относится к рабочей станции. Если суффикс равен 1С, то это имя относится к имени домена.
То есть, как вы понимаете, на первом шаге мы задавали NetBIOS-имя для компьютера Windows Server (с суффиком 00). А теперь задаём NetBIOS-имя домена mydomain.com (с суффиксом 1С).
Кстати, можете, ради интереса, отмотать туториал в самое начало и посчитать количество символов в «нечитаемом» автоматически сгенерированном сетевом имени windows_server. Будет как раз 15 символов (максимальная длина NetBIOS-имени).
И напоследок скажу, что вы не можете пропустить этот шаг. NetBIOS хоть и устаревшая технология, но до сих пор используется ради совместимости с некоторыми старыми службами. Настроить контроллер домена Active Directory без NetBIOS-имени нельзя.
Что ж, и с этим тоже разобрались. Оставляем NetBIOS-имя по-умолчанию и двигаемся дальше, к выбору места расположения базы данных AD. Можно оставить значение по-умолчанию, комментировать особо нечего.
Расположение базы данных
Все ваши настройки должны пройти предварительную проверку:
Проверка предварительных требований
Как только всё готово, жмите «Установить» и можете спокойно идти пить чай, потому что после установки автоматически начнётся очень-очень долгая перезагрузка. Зато настройка контроллера домена AD на этом закончена, поздравляю!
Настройка DHCP-сервера
Пришло время заняться настройкой DHCP-сервера. Настройка глобально состоит из двух частей:
- Авторизация DHCP-сервера в домене AD. Не каждый DHCP-сервер может раздавать сетевые настройки в домене AD — только авторизованные. Это сделано с целях безопасности, чтобы другие DHCP-серверы не могли «подсунуть» неправильные настройки компьютерам в домене;
- Настройка новой DHCP-области. Это уже непосредственно настройка самого DHCP-сервера, в ходе которой определяются какие сетевые настройки будут выдаваться компьютерам в сегменте сети.
Для того, чтобы авторизировать DHCP-сервер, нужно вернуться на панель мониторинга (она и так должна быть перед вами после перезагрузки), перейти на вкладку DHCP (слева) и кликнуть на предложение донастроить DHCP-сервер:
Запуск авторизации DHCP-сервера
В открывшемся мастере настройки DHCP после установки пропускаем первый приветственный экран и переходим к экрану авторизации
Авторизация DHCP-сервера в домене
На выбор предлагаются три варианта:
- Использовать учётные данные администратора (по-умолчанию)
- Использовать учётные данные другого пользователя;
- Пропустить авторизацию AD.
По-умолчанию авторизовать DHCP-сервер в домене могут только члены группы EnterpriseAdmins, куда как раз и входит пользователь MYDOMAINАдминистратор. При желании можно потратить немного времени и делегировать эту возможность админам «помельче» (региональным администраторам), почерпнуть больше информации по этой теме можно отсюда.
Итак, выбираем вариант по-умолчанию и завершаем первый этап настроки DHCP-сервера.
Завершение авторизации DHCP-сервера
Теперь переходим непосредственно к настройкам DHCP. Для этого на панели мониторинга кликаем вкладку «Средства» и выбираем пункт «DHCP»
В открывшемся окне с настройками DHCP нужно кликнуть правой кнопкой мышки на IPv4 и затем на пункт меню «Создать область». После этого откроется мастер создания новой области.
Открытие мастера создания новой области
Что такое DHCP-область? Под этим понимается некий диапазон IP-адресов, которые может выдавать DHCP-сервер другим компьютерам в сети. Каждая область помимо диапазона IP-адресов также содержит другие сетевые настройки, с которыми мы сейчас и познакомимся.
Назовём DHCP-область SCOPE1 и перейдём дальше.
На следующем экране вам предложат выбрать диапазон адресов, которые будут выдаваться компьютерам в сети. Ранее я настраивал сетевой интерфейс на Windows Server, выдав ему адрес 192.168.1.1/24. Это статический адрес и он зарезервирован, его выдавать другим компьютерам нельзя.
Зато никто не мешает выдавать все остальные адреса в сети 192.168.1.0/24 — так что задаём диапазон от 192.168.1.2 до 192.168.1.254 (192.168.1.255 — это зарезервированный широковещательный адрес, его выдавать тоже нельзя).
Настройка диапазона адресов
В целом, никто не мешает вам как администратору выдавать меньше IP-адресов, чем доступно в адресации сети. Например, можно было бы выделить в сети всего 100 адресов для автоматической выдачи: 192.168.1.101-192.168.1.200.
Переходим далее и видим предложение о выборе исключений из указанонного диапазона адресов, а также о настройке задержки при передаче сообщения DHCPOFFER
Исключения в диапазоне и задержка DHCPOFFER
С исключениями всё более-менее понятно: если вы не хотите выдавать некоторые адреса в указанном ранее диапазоне, то вы можете указать эти адреса здесь в виде исключений. А что за задержка в DHCPOFFER такая?
Эта настройка уже относится к довольно продвинутому администрированию сетей: если в вашей сети есть несколько DHCP-серверов, то с помощью этой задержки вы можете регулировать нагрузку между ними (подробнее можно прочитать, например, тут).
В любом случае, исключений в диапазоне у нас нет, да и задержка по-умолчанию нас устраивает, так что кликаем дальше и видим настройку сроков аренды адресов.
Настройка времени аренды адресов
Протокол DHCP предполагает выделение адресов только на определённое время, после чего компьютеры должны продлять аренду. Здесь можно настроить это время (по-умолчанию — 8 дней).
8 дней меня лично вполне устраивает, так что кликаем «Далее» и видим предложение настроить другие настройки, которые будут получать клиенты в сети (помимо IP-адреса). Соглашаемся.
Настроить дополнительные параметры
Первая сетевая настройка для клиентов — это шлюз по-умолчанию. В стенде из двух виртуальных машин эта настройка в принципе не нужна. Но можно представить, что windows_server будет играть роль шлюза во внешнюю сеть, и добавить адрес 192.168.1.1 как шлюз по-умолчанию.
Шлюз по-умолчанию
Далее идет настройка DNS. Здесь можно задать имя родительского домена и адреса DNS-серверов. С адресами DNS-серверов всё более-менее понятно — это IP-адреса серверов, куда следует обращаться клиентам за помощью в разрешении DNS-имён. Сейчас в этом списке фигурирует тот же адрес, что мы добавили как шлюз по-умолчанию.
А вот для понимания имени родительского домена, рассмотрим следующую ситуацию.
Допустим, есть домен mydomain.com и есть два компьютера в этом домене с именами comp1.mydomain.com и comp2.mydomain.com. Если comp1 хочет связаться с comp2, то он должен, по-хорошему, использовать следующую команду (обращение по Fully Qualified Domain Name — FQDN):
ping comp2.mydomain.com
Но задумывались ли вы когда-нибудь, что именно произойдет, если попытаться пропинговать другой узел следующим образом?
ping comp2
На самом деле, в этом случае начинается целая магия — очень хитрый процесс разрешения имён (картинка из интернетов).
Процесс разрешения сетевых имён
- Поиск информации в hosts.txt или в кеше;
- Попытка найти имя через DNS;
- Попытка найти NetBIOS-имя в кеше;
- Попытка найти NetBIOS-имя через WINS-сервер;
- Попытка найти NetBIOS-имя путём отправки широковещательных пакетов в локальную сеть;
- Попытка найти NetBIOS-имя в LMHOSTS-файле.
Согласно алгоритму разрешения сетевых имен, сначала comp1 попробует найти информацию о comp2 в hosts.txt — файле. Если этой информации там не окажется, то начинается процесс поиска узла через DNS. Вот только вопрос — DNS-имена же находятся в каком-то домене, верно? Какое доменное имя нужно «пристыковать» к comp2 при выполнении пинга?
Вот тут в дело и вступает настройка DHCP, которая называется «имя родительсокго домена». Это как раз тот суффикс, который будет автоматически «пристыкован» к имени comp2 при выполнении DNS-разрешения имени. Так что если имя родительского домена равно «mydomain.com», то команда ping comp2
неявно преобразуется в ping comp2.mydomain.com
.
Если же DNS-разрешение окажется неудачным, дальше начнутся попытки найти comp2 уже по NetBIOS-имени. Что такое WINS, и чем он отличается от Broadcast — информация будет чуть дальше по тексту.
Что ж, в нашем случае имя родительсокго домена должно быть mydomain.com (значение по-умолчанию), а нужный DNS-сервер уже находится в списке, так что в итоге просто кликаем «Далее».
Настройки DNS
Теперь нас попросят указать настройки WINS-сервера. WINS (Windows Internet Name Service) сервер участвует в разрешении NetBIOS-имён в сети (прямо как DNS-сервер для DNS-имён). Вот только, в отличие от DNS, WINS-сервер не обязательно должен присутствовать в сети, чтобы разрешение NetBIOS-имён работало. Так зачем же он нужен тогда?
Дело в том, что по-умолчанию разрешение NetBIOS-имен происходит через широковещательные запросы. С одной стороны, это очень простой механизм (проще не придумаешь), но, с другой стороны, обладает парой недостатков:
- При наличии большого количества NetBIOS-имён в сети широковещательный тафик может начать «зашумлять» канал;
- Широковещательные запросы не могут «выйти» за пределы текущей сети, поэтому узнать NetBIOS-имя из другой сети таким способом не выйдет.
Так вот, WINS-сервер позволяет решить обе этих проблемы. Этот сервер централизованно хранит NetBIOS-имена компьютеров, и обычные узлы в сети могут обращаться к нему для поиска IP-адреса интересующего их имени (как и для DNS). Такой подход, во-первых, резко уменьшает количество широковещательного трафика в сети, а, во-вторых, позволяет посылать NetBIOS-запросы в другие сети, а не только в текущую.
В нашей небольшой сети WINS-сервер нам ни к чему, поэтому просто пропускаем эту настройку и едем дальше.
WINS-серверы
В последнем шаге настройки вам предлагают сразу активировать настроенную область. Соглашаемся, и на этом заканчиваем настройку DHCP.
Активация области
Создаём нового пользователя в домене AD
Собственно настройка контроллера домена и различных сервисов уже фактически закончена, все параметры выставлены как надо. Теперь нужно просто зарегистрировать нового пользователя, от имени которого рабочая станция workstation будет выполнять вход в домен.
Для этого возвращаемся на панель мониторинга, кликаем на «Средства» и затем на «Пользователи и Компьютеры Active Directory»
В открывшемся меню можно заметить созданный домен mydomain.com и его состав. Видно, что помимо пользователей в домене созданы папочки для Computers, Domain Controllers и других сущностей. Но нас сейчас интересуют пользователи, поэтому кликаем правой кнопкой мышки на папке Users и выбираем «Создать» -> «Пользователь»
После этого появляется диалоговое окно с преложением ввести данные нового пользователя. По старой доброй традиции назовём пользователя Foo Bar. Обратите внимание, что пользователь отображается лишь как «Объект» в Active Directory наравне с другими объектами.
Новый объект — Пользователь
Теперь необходимо задать пароль и дополнительные параметры для пользователя. Пароль должен соответсовать политике паролей по-умолчанию, которая, в том числе, предписыват паролям в домене быть довольно сложными (должен использовать числа, буквы верхнего и нижнего регистра, а также спец символы).
Обычно администратор создаёт простой пароль для пользователя, а затем требует от пользователя сменить его при первом входе в систему (первая галочка в списке доступных опций). Это очень хорошая практика с точки зрения безопасности, ведь таким образом даже администратор AD не сможет узнать пароль пользователя. Также хорошей практикой считается ограничивать срок действия пароля. В этом туториале для простоты мы уберём требование о смене пароля пользователем при врходе в систему.
Параметры нового пользователя
После этого останется лишь подтвердить создание нового пользователя.
Подтверждение создания нового пользователя
Ну что ж, вот, кажется, и всё! Осталось лишь проверить ввод рабочей станции в домен.
Ввод рабочей станции в домен
Переключаемся на вторую машину workstation под управлением Windows 7 и заходим в свойства системы. Сейчас видно, что рабочая станция находится в рабочей группе (не в домене). Кстати говоря, WORKGROUP — это тоже NetBIOS-имя. Только в отличии от имени домена оно имеет суффикс 1E.
Щелкаем на кнопку «Изменить параметры», затем в появившемся окне ещё раз «Изменить…».
В окне изменения имени компьютера пишем, что он должен принадлежать домену mydomain.com.
Подключение к домену
Видим предупреждение о нестандартном имени компьютера (testo-ПК содержит кириллицу). Это связано с тем, что NetBIOS-имена не могут содеражать кириллицу. Но мы с вами настроили DNS-сервер (DNS настройки прилетели на рабочую станцию по DHCP), а DNS-механизм разрешения имён, как мы знаем, имеет приоритет перед NetBOIS. Так что в данном случае на работоспособность AD кириллица не влияет. Но на практике так делать не надо!
Нестандартное имя компьютера
Вводим логин-пароль от новой учетной записи FooBar и, наконец, видим заветное сообщение «Добро пожаловать в домен»
Авторизация в домене
После ввода компьютера в домене необходимо перезагрузить компьютер, ну а дальше — вводим учётные данные пользователя в AD.
Логин в AD
И после успешного входа на рабочий стол перепроверяем свойства системы.
Новые свойства системы
Полное имя компьютера поменялось на testo-ПК.mydomain.com, а это значит, что мы успешно ввели рабочую станцию в домен mydomain.com.
Автоматизируем
Как вы могли заметить, весь туториал можно выполнить, пользуясь исключительно мышкой и клавиатурой. Больше того, нам даже не пригодились знания PowerShell, который позволяет выполнять бОльшую часть настройки контроллера домена AD с помощью скриптов.
Так почему бы не автоматизировать все действия с клавиатурой и мышкой, которые мы предпринимали? И нет, я говорю не об AutoIT, я говорю о платформе Testo, создателем которой я являюсь. Эта платформа позволяет фиксировать все действия, проводимые с виртуальными машинами, в виде скриптов на специальном языке Testo-lang. Ну а Testo затем превратит эти скрипты обратно в действия.
Я приведу лишь один скриншот с кусочком скрипта, чтобы у вас сложилось представление о том, о чём я говорю (да, именно скриншот, ведь хабр не умеет подсвечивать скриповый язык Testo-lang). Я даже не буду комментировать этот скрипт, т.к. верю, что код говорит сам за себя.
Секция скрипта на языке Testo-lang
Всё, что Вам потребуется для создания собственного стенда с настроенной Active Directory — это:
- Установочный iso-образ Windows Server 2016 русской версии;
- Установочный iso-образ Windows 7 (придётся поискать самим);
- Скрипты на языке Testo-lang;
- Установленная платформа Testo (бесплатно);
- Выполнить команду.
sudo testo run ./tests.testo --param ISO_DIR /path/to/your/iso/dir
И всё. Как и я обещал — всего одна команда. Через пол часа — час (зависит от шустрости вашего компьютера) вы сможете наслаждаться своим готовым стендом.
Итоги
Надеюсь, вам понравился туториал, и вы нашли его полезным. Возможно, вас заинтересовала платформа Testo, в этом случае вот несколько полезных ссылок:
- сайт платформы Тесто.
- youtube-канал, где можно найти много примеров.
- основная статья на хабре
- статья, где я автоматизировал несколько системных тестов для Dr. Web
- скрипты на языке Testo-lang для этого туториала
Возможно вам будет интересно —Подборка бесплатных программ для мониторинга сети и серверов
источник
В этой статье я бы хотел предложить вам пошаговый туториал по развёртыванию контроллера домена Active Directory на Windows Server 2016 (с графической оболочкой), а также по вводу рабочей станции в получившийся домен. Чем этот туториал может выделиться на фоне других:
- Вместо простого «Далее, Далее, кликаем сюда, вбиваем это» я постарался дать внятное объяснение каждому шагу, каждой настройке, которую предстоит выполнить. Помимо основных понятий Active Directory, DNS и DHCP вы также сможете найти много интересной информации по всем галочкам, которые вы часто видели, но не задумывались об их назначении.
- В конце статьи я предложу способ автоматизировать развёртывание получившегося стенда полностью с нуля, имея на компьютере только iso-образы ОС Windows 7 и Windows Server 2016. И никакого PowerShell. Всего одной командой.
Статья предполагает наличие у читателя лишь самых начальных знаний об устройстве сетей (на уровне «Что такое IP-адрес и DNS-адрес»).
Заинтересовало что-то из вышеперечисленного? Тогда погнали.
Туториал будет происходить не в вакууме, а на конкретном виртуальном стенде, состоящим из двух виртуальных машин:
Начальное состояние стенда:
-
На машине windows_server уже установлена ОС Windows Server 2016 Standard Evaluation (с GUI). Машина находится в состоянии «сразу после установки ОС». В процессе туториала на ней будут развернуты службы Active Directory (с доменом mydomain.com), DNS и DHCP.
-
Машина workstation выполняет роль рабочей станции. На ней установлена ОС Windows 7. Машина находится в состоянии «сразу после установки ОС». В процессе туториала она будет подключена к домену mydomain.com.
Туториал построен следующим образом (если вам интересен только конкретный пункт — смело кликайте прямо туда):
- Объясню, почему я выбрал именно такой стенд для туториала;
- Супер-краткое описание технологии Active Directory;
- Выполняется небольшая предварительная настройка windows_server;
- На windows_server производится включение необходимых компонентов;
- На windows_server происходит настройка контроллера домена AD (совместно с DNS);
- На windows_server происходит настройка сервера DHCP;
- На windows_server регистрируется новая учетная запись в AD;
- На workstation происходит подключение к домену.
В конце туториала вас ждет приятный бонус — я покажу вам как можно развернуть у себя на компьютере весь этот работающий стенд одной единственной командой. Вам понадобится только наличие двух установочных iso-образов (windows 7 и windows server 2016), да небольшой скрипт, ссылку на который я вам дам в конце статьи.
Почему такой стенд?
Такой стенд, с моей точки зрения, отлично подходит для первого самостоятельного «прощупывания» технологии Active Directory. Он минималистичен (всего 2 виртуальные машины), занимает минимум ресурсов, но при этом изолирован и самодостаточен. Его можно развернуть даже на довольно средненьком компьютере и ноутбуке. При этом на стенде уже присутствуют основные сетевые службы (AD + DNS). DHCP хоть и необязателен для функционирования AD, всё равно был добавлен в стенд в ознакомительных целях.
Disclaimer
Данный туториал предлагает исключительно пробное знакомство с Active Directory. Ни при каких обстоятельствах не рекомендуется разворачивать подобную конфигурацию при решении реальных задач администрирования сетей. В самом туториале я постараюсь обратить внимание на основные моменты, которые не рекомендуется применять в реальных сетях.
Туториал предполагает подробный разбор всех шагов по настройке, с пояснениями «что, зачем и почему». Туториал ориентирован на людей, не слишком знакомых с технологиями Active Directory, DNS и DHCP, которые хотели бы немного узнать о внутренней кухне администрирования сетей с Active Directory.
Если же базовая настройка AD вызывает у вас лишь зевоту, переходите прямо сюда и посмотрите, как можно автоматизировать весь процесс по развёртыванию собственного стенда с AD и рабочей станцией.
Что такое Active Directory
Active Directory — это службы каталогов от компании Microsoft, как подсказывает нам Википедия. За этим сухим и невзрачным определением скрывается одна из важнейших технологий в администрировании сетей. Благодаря Active Directory администратор сети получает очень удобное централизованное средство управления учетными записями пользователей, групповыми политиками (в т.ч. политиками безопасности) и объектами в сети (причём Active Directory без особых проблем справляется даже с гигантскими сетями). А благодаря встроенному механизму репликации, «положить» правильно настроенные сервисы AD не так-то просто. Ну и напоследок, благодаря Windows настроить Active Directory можно буквально мышкой, так что даже совсем начинающие IT-шники смогут с этим справиться.
Несмотря на то, что технологией заведует Microsoft, она вовсе не ограничивается управлением Windows-машин — все известные Linux-дистрибутивы уже давным давно научились работать с этой технологией. Повстречаться с Active Directory не просто, а очень просто — практически каждый офис предполагает наличие этой технологии, поэтому даже самым заядлым линуксоидам было бы неплохо разбираться в азах работы Active Directory.
Начинаем
Вы установили Windows Server 2016 и (надеюсь) видите следующий экран:
Эта панель — основное (графическое) средство администрирования Windows Server 2016. Здесь вы можете управлять компонентами и сервисами на вашем сервере (проще говоря, настраивать то, что умеет делать сервер). Эту же панель можно использовать и для базовых сетевых настроек Windows Server, для чего есть вкладка «Локальный сервер».
Базовые настройки Windows Server
Первое, что нужно сделать — это поменять сетевое имя сервера.
Сетевое имя (hostname) — это удобный способ идентификации узла в сети. Сетевое имя используется как альтернатива IP-адресу и позволяет не запоминать IP-адрес компьютера (при том, что этот адрес может меняться время от времени), а связываться с этим компьютером по его логическому названию.
Проблема в том, что по-умолчанию для Windows Server генерируется совершенно нечитаемое и неинформативное сетевое имя (я выделил его красным цветом на скриншоте).
Рабочие станции ещё могут позволить себе иметь нечитаемый Hostname, но никак не сервер. Поэтому я предлагаю поменять эту абракадабру его на что-то более разумное (например, на ADController), благо делается это быстро.
Смена сетевого имени
Нужно кликнуть на текущее имя сервера (отмечено красным цветом), затем во вкладке «Имя компьютера» нажать на кнопку «Изменить…», после чего ввести что-то более благоразумное:
После смены имени машину нужно будет перезагрузить.
Теперь зададим статический IP-адрес для сервера. В принципе это делать не обязательно, раз мы всё равно собрались поднимать DHCP службу, но на самом деле это хорошая практика, когда все ключевые элементы корпоративной сети имеют фиксированные адреса. Открыть меню по настройке сетевого адаптера можно из вкладки «Локальный сервер», кликнув на текущие настройки Ethernet-адаптера (тоже выделены красным цветом).
Настройки IP для интерфейса windows_server
Включаем нужные компоненты
Для нашего стенда нам понадобится включить следующие сервисы (или, как они тут называются, роли) на Windows Server:
- Доменные службы Active Directory;
- DNS-сервер;
- DHCP-сервер.
Пройдемся вкратце по каждому из них.
Доменные службы Active Directory
Эта роль фактически «включает» технологию Active Directory на сервере и делает его контроллером домена (под доменом в технологии AD понимается группа логически связанных объектов в сети). Благодаря этой роли администратор получает возможность управлять объектами в сети, а также хранить информацию о них в специальной распределенной базе данных.
Эта база данных содержит всю информацию об объектах в сети (например, именно в неё заносится информация об учётных записях пользователей). Когда человек подходит к рабочей станции и пытается выполнить вход в свою доменную учётную запись, эта рабочая станция связывается с контроллером домена с запросом на аутентификацию, и в случае успеха загружает пользовательский рабочий стол.
Однако, что же делать, если контроллер домена выйдет из строя (или просто будет недоступен для рабочих станций)? Если вы настроили только один контроллер домена, то дела ваши довольно плохи — без связи с рабочим контроллером домена пользователи не смогут выполнить вход на свои рабочие места. Поэтому в реальных сетях всегда рекомендуется устанавливать как минимум два контроллера на каждый домен. Каждый контроллер домена участвует в так называемом механизме репликации, благодаря чему все контроллеры домена имеют полную копию базы данных со всеми объектами в домене. Если по какой-то причине один из контроллеров выйдет из строя, его место всегда может занять резервный контроллер — и пользователи даже ничего не заметят.
Однако этот туториал рассчитан на простое ознакомление с технологией AD «на виртуалках», поэтому здесь не будет рассматриваться вопрос создания нескольких контроллеров AD в одном домене.
С этим пунктом все более менее понятно, а зачем же нам включать дополнительно ещё DNS-сервер?
DNS-сервер
Обычно протокол DNS (Domain Name System) используется для обращения к узлам в сети не по их IP-адресу, а по доменному имени (строковый идентификатор), что, конечно, гораздо удобнее. Другими словами, DNS чаще всего используется для разрешения доменных имен.
Но область применения протокола DNS не ограничивается только сопоставлением хостового имени и IP-адреса, что как раз подтверждает технология Active Directory. Дело в том, что Microsoft решила построить технологию Active Directory не с нуля, а на основе протокола DNS. В частности, протокол DNS используется при определении местонахождения всех ключевых сервисов Active Directory в сети. Другими словами, рабочая станция при подключении к контроллеру домена понимает, «куда» ей надо обращаться, именно с помощью протокола DNS.
Все DNS-записи (в том числе с информацией о сервисах Active Directory) хранятся на DNS-сервере, а это значит, что нам нужно заиметь свой собственный DNS-сервер! Вот только вопрос, откуда его взять? Есть два варианта:
- Использовать отдельную машину в роли DNS-сервера;
- Использовать саму машину windows_server в роли DNS-сервера.
Первый вариант, безусловно, самый правильный — именно так и надо поступать при реальном администрировании сетей (чем больше вы разносите логику по разным узлам в сети — тем лучше). Но в учебных целях я решил выбрать второй вариант (хотя бы потому, что не придётся создавать ещё одну виртуальную машину).
Именно поэтому эту роль (DNS-сервера) тоже нужно добавить к ролям машины windows_server.
Кстати, если не добавить роль «DNS-сервер» сейчас, то в будущем у вас ещё будет такая возможность при конфигурировании контроллера домена AD.
DHCP-сервер
Протокол DHCP (Dynamic Host Configuration Protocol) нужен для автоматической выдачи сетевых настроек узлам в сети. Под сетевыми настройками понимается IP-адрес, адрес шлюза по-умолчанию, адрес DNS-сервера, и ещё ряд других настроек. Этот протокол чрезвычайно удобен при администрировании сетей, особенно больших.
В этом туториале я использую протокол DHCP чтобы рабочая станция workstation могла получить сетевые настройки (в частности, адрес DNS-сервера) без каких-либо действий с моей стороны.
Протокол DHCP не имеет никакого отношения к технологии Active Directory, и можно было бы обойтись вовсе без него (достаточно прописать все сетевые настройки на рабочей станции самостоятельно), но я решил включить этот протокол в данный туториал просто для общего ознакомления. К тому же, такая связка «Контроллер AD — DNS-сервер — DHCP-сервер» довольно часто встречается в реальной жизни, потому что это очень удобный набор сервисов.
При этом вопрос о том, стоит ли выделять отдельную машину под DHCP-сервер, остаётся открытым. Для небольших сетей однозначно не стоит разносить DNS и DHCP-серверы по разным машинам, но для больших сетей, возможно, имеет все-таки смысл задуматься об этом. В нашей же крошечной сети мы абсолютно ничего не потеряем, если включим DHCP-сервер на той же машине, что и DNS-сервер.
Что ж, довольно теории, давайте лучше перейдём к включению этих самых ролей.
Мастер добавления ролей и компонентов
Возвращаемся на панель мониторинга (самый первый скриншот) и щелкаем на пункт «Добавить роли и компоненты». Вас поприветствует мастер добавления ролей и компонентов. Первый экран («Перед началом работы») пропускаем, он совсем неинтересный, а вот дальше идёт экран «Выбор типа установки»
Выбор типа установки
Нас устраивает значение по-умолчанию (Установка ролей или компонентов»), но интересен и второй пункт — он позволяет задействовать ещё одну возможность Windows Server — инфраструктуру виртуальных рабочих мест (Virtual Desktop Environment — VDI). Эта интереснейшая технология позволяет, буквально, виртуализировать рабочее место. То есть для пользователя создаётся виртуальное рабочее место, к которому он может подключаться через тонкий клиент. Пользователь лишь видит картинку, тогда как само рабочее место может совершенно прозрачно работать где угодно.
Впрочем, технология VDI это отдельная большая тема, а в этом туториале надо сосредоточиться на контроллере AD, так что кликаем «Далее» и видим экран выбора целевого сервера.
Выбор целевого сервера
Мастер добавления ролей позволяет устанавливать роль не только на текущую машину, но вообще на любой добавленный сервер, и даже на виртуальный жёсткий диск. Да, если ваша Windows Server развернута на виртуальной машине (а это довольно частое явление), то вы можете администрировать эту виртуальную машину даже не запуская её! Понаблюдать за этим процессом можно, например, здесь
Нам же такая экзотика ни к чему, так что просто выбираем единственный возможный сервер (обратите внимание, что он теперь называется ADController место непонятной абракадабры), жмём «Далее» и, наконец, попадаем на экран выбора ролей, которые нужно добавить.
Выбор добавляемых ролей
Выбираем три роли, о которых уже говорили ранее, и продолжаем.
Выбор компонентов
Теперь необходимо выбрать дополнительные компоненты. В чём разница между ролью и компонентом, можете спросить вы? О, это не такой уж и лёгкий вопрос, честно говоря!
Согласно идеологии Microsoft, роль — это набор программ, которые позволяют компьютеру предоставлять некоторые функции для пользователей в сети. Например, DNS, DHCP, контроллер домена AD — это всё роли. А вот компоненты — это набор программ, которые улучшают либо возможности ролей сервера, либо самого сервера.
При этом глядя на список «Компонентов» так сходу и не скажешь, что какие-то вещи в списке лишь «вспомогательные». Вот например, DHCP-сервер расценивается как роль, а WINS-сервер — уже как компонент. А чем SMTP-сервер хуже DNS?
В общем-то, чёткой границы между ролью и компонентом не существует. Я лично предпочитаю относиться к ролям как к большим функциональным возможностям сервера, а к компонентам — как к небольшим дополнительным аддонам.
В любом случае, дополнительные компоненты нам не нужны, так что кликаем «Далее».
После этого идёт несколько пояснительных экранов с информацией по каждой добавленной роли, но эту информацию я уже разбирал, поэтому останавливаться лишний раз не буду.
Подтверждение устанавливаемых ролей и компонентов
На экране подтверждения ещё раз видим все устанавливаемые роли и компоненты, после чего жмём «Установить».
Остаётся лишь дождаться, когда заполнится progress-bar, и перейти к следующему пункту туториала — настройке контроллера домена AD.
Настраиваем контроллер домена Active Directory
Все роли и компоненты успешно добавлены, о чём свидетельствует следующий экран:
Вот только AD на сервере всё еще не работает — для этого его необходимо донастроить. Для этого нам настойчиво предлагают «Повысить роль этого сервера до уровня контроллера домена».
Погодите-ка, ЧТО?!
А чем же я занимался последние 15 минут? Я же добавлял роли, и судя по сообщению, они успешно добавились! И тут меня снова хотят заставить добавлять какие-то новые роли? В чем-то тут подвох.
Подвох тут действительно имеется, но вообще в не самом очевидном месте. Вот так выглядит предыдущий скриншот в английской версии Windows Server (картинка из интернета).
Английская версия скриншота
Видите разницу? В английской версии ни слова ни про какие роли! Про повышение есть, про роли — нет. Один из тех случаев, когда перевод вносит сумятицу на пустом месте. Согласно английской версии, никакими ролями мы дальше не занимаемся, что и логично, ведь мы их как раз только что добавили.
Что ж, тыкаем на предложение «Повысить роль этого сервера до уровня контроллера домена», и теперь нас привествует мастер настройки доменных служб Active Directory с предложением выбрать конфигурацию развёртывания.
Конфигурация развёртывания
Всего тут есть 3 варианта развития событий. Для того, чтобы выбрать правильный пункт, давайте сначала разберёмся, что эти пункты означают. В этом нам поможет вот такая картинка (картинка, если что, отсюда):
Технология Active Directory (как и DNS) подразумевает иерархическое построение имён на основе доменов. Домены могут выстраиваться в доменные деревья по принципу «родительско-дочерних» отношений. В основе дерева лежит так называемый корневой домен (на картинке выше это sources.com, xyz.com и abc.com). При этом домен может иметь сколько угодно потомков. Домен-потомок располагается в пространстве имён родителя и является его «поддоменом» (subdomain). У доменного имени домена-потомка есть дополнительный префикс относительно доменного имени родителя (rus.abc.com, eng.abc.com). Один корневой домен основывает только одно доменное дерево со своим независимым пространством имён.
Теперь представьте, что таких независимых деревьев может быть много — в этом случае эти деревья образуют структуру, которая называется «лес». При этом в Active Directory доменные деревья не могут быть «сами по себе» — они обязательно должны находиться в лесу (даже если лес будет состоять всего из одного-единственного домена). Первый домен, который добавляется в лес, называется корневым доменом леса (на рисунке выше это sources.com). Корневой домен леса используется для идентификации всего леса (то есть если корневой домен называется sources.com, то и весь лес называется sources.com).
Теперь возвращаемся к мастеру настройки доменных имен. На этом этапе мастер предлагает следующие варианты:
- Добавить контроллер домена в существующий домен (помните про резервирование контроллеров в домене, так ведь?). Этот вариант не для нас, ведь домена ещё никакого нет;
- Добавить новый домен в лес. Этого мы тоже сделать не можем, т.к. и леса у нас тоже никакого нет;
- Добавить новый лес. Это вариант как раз для нас. При этом нам тут же предлагают выбрать корневой домен для этого леса (первый домен, который будет создан в лесу).
Назовём корневой домен mydomain.com и кликнем «Далее»
Параметры контроллера домена
Рассмотрим возможные параметры:
- Режим работы леса и домена. Домены в одном лесу могут работать в разных режимах в зависимости от версии Windows Server на борту. Лес должен иметь режим не выше, чем самый «старый» домен в его составе. Т.к. мы планируем использовать только Windows Server 2016, то оставим этот режим и для леса и для домена;
- DNS-сервер. Если ранее Вы не активировали роль DNS-сервера в мастере добавления ролей, то можете сделать это сейчас (вам даже предложат такой вариант по-умолчанию);
- Должен ли контроллер домена выступать в роли Global Catalog-сервера;
- Включить ли режим базы данных Active Directory «только на чтение». Основная задача, которую преследует технология RODC — возможность безопасной установки собственного контролера домена в удаленных филиалах и офисах, в которых сложно обеспечить физическую защиту сервера с ролью DC. Контроллер домена RODC содержит копию базы Active Directory, доступную только на чтение. Это означает, что никто, даже при получении физического доступа к такому контроллеру домена, не сможет изменить данные в AD (в том числе сбросить пароль администратора домена) (информация взята отсюда)
А вот пункт 3 рассмотрим поподробнее, он довольно интересный.
Как я уже упоминал выше, каждый контроллер домена имеет полную и исчерпывающую информацию обо всех объектах в своём домене. Если же в домене несколько контроллеров, то они ещё и участвуют в механизме репликации, поддерживая несколько актуальных копий базы данных с объектами домена. Получается, что рабочая станция в домене может узнать информацию о любом объекте из этого домена от своего ближайшего контроллера домена.
Но что же делать, если рабочей станции нужно получить информацию об объекте из другого домена? И вот тут в дело вступает ещё один важнейший механизм технологии Active Directory, который называется глобальный каталог.
Что такое вообще «Глобальный каталог»? Согласно Miscrosoft — это распределенное хранилище данных, которое хранит частичное представление обо всех AD-объектах в лесу. Это хранилище располагается на котроллерах домена, которые имеют дополнительную роль «Global Catalog Server» (Сервер глобального каталога). От обычного контроллера домена GC-сервер отличается в первую очередь тем, что помимо полной копии всех объектов в своем домене, хранит также частичную информацию обо всех объектах в других доменах леса.
Чего это позволяет достичь? Давайте представим, что рабочая станция запросила информацию об объекте из другого домена. Она обращается на ближайший GC-сервер с просьбой предоставить ей информацию об этом объекте. GC-сервер, в свою очередь, может:
- Либо отдать рабочей станции нужную информацию сразу (если эта информация у GC-сервера имеется);
- Либо перенаправить запрос к нужному контроллеру домена, где эта информация точно будет находиться. Чтобы понять, какому контроллеру домена нужно перенаправить запрос, как раз и происходит поиск по GC.
Информация о том, какие атрибуты попадают в глобальный каталог, определена в Partial Attribute Set (PAS), который может настраивать администратор AD. Например, если администратор понимает, что рабочие станции часто будут обращаться к атрибуту, который не содержится в глобальном каталоге, он может добавить туда этот атрибут. Тогда запросы рабочих станций при чтении этого атрибута будут выполняться значительно быстрее, т.к. уже ближайший GC-сервер сможет предоставить им всю нужную информацию.
Однако, если в лесе всего один домен (как у нас), то Глобальный каталог содержит полную копию объектов в домене и всё.
Что ж, возвращаемся к галочке GC, которую за нас уже проставил мастер настройки доменных служб. Если вы попробуете её отключить, то убедитесь, что отключить её нельзя. Это связано с тем, что каждый домен в AD должен иметь хотя бы один GC-сервер, и при добавлении первого контроллера в домен этот контроллер сразу помечается как GC-сервер.
Что ж, давайте согласимся с этим «выбором» мастера и перейдём к последнему параметру на этом скриншоте — к паролю для режима восстановления служб каталогов. Это особый режим безопасной загрузки Windows Server, который позволяет администратору работать с базой данных AD. Этот режим применяется, например, в следующих случаях:
- база Active Directory повреждена и нуждается в исправлении;
- требуется выполнить обслуживание базы данных AD (сжатие, анализ на наличие ошибок);
- требуется восстановить резервную копию базы данных AD;
- требуется сменить пароль администратора.
Да да, вы не ослышались. Чтобы просто восстановить резервную копию базы данных, нужно перезагрузить машину и загрузиться в особом «безопасном» режиме. Это вам не Linux какой-нибудь.
Фух, вроде разобрались. Давайте перейдем дальше на шаг, где нам предложат настроить делегирование DNS.
Делегирование DNS
Что такое делегирование DNS? По большей части, это передача ответственности за некоторую DNS-зону отдельному DNS-серверу. Это распространенная практика в больших сетях, в которых требуется разграничить зоны ответственности за доменные зоны между различными серверами. При делегировании DNS в «главный» DNS-сервер вносится запись о том, что «вот за эту DNS-зону несёт ответственность вон тот DNS-сервер, обращайся туда».
Т.к. у нас всего одна зона DNS и DNS-сервер тоже один, то этот шаг нам необходимо пропустить и перейти к выбору NetBIOS-имени.
NetBIOS-имя
Мы видим, что мастер предложил нам на выбор сразу же имя для нашего домена — MYDOMAIN. Но вы можете (и должны) задать себе вопрос: а что такое вообще NetBIOS-имя и зачем оно нужно? И разве мы уже не настраивали сетевое имя узла (Hostname) в самом начале? Чего же от вас хотят?
NetBIOS (Network Basic Input/Output) — это ещё один способ разрешения имён узлов в сети (более древний и более примитивный, чем DNS). NetBIOS-имена не предполагают никакой иерархии, их длина ограничивается всего лишь 16 символами, и они применяются только для разрешения имён компьютеров в локальной сети. Когда мы в самом начале туториала выбрали сетевое имя ADController — мы, на самом деле, задали именно NetBIOS-имя для сервера. Но теперь от нас снова требуют выбрать NetBIOS-имя (да ещё и другое, отличное от ADContoller). Не много ли NetBIOS-имён для одного компьютера?
Дело в том, что Microsoft пошла ещё дальше — и ограничила длину NetBIOS-имен не 16 символами, а 15 символами. 16-ый символ при этом считается зарезервированным суффиксом, который может принимать фиксированные значения. В зависимости от значения 16-го байта получаются разные классы NetBIOS-имён. Например, если суффикс равен 00, то NetBIOS-имя относится к рабочей станции. Если суффикс равен 1С, то это имя относится к имени домена.
То есть, как вы понимаете, на первом шаге мы задавали NetBIOS-имя для компьютера Windows Server (с суффиком 00). А теперь задаём NetBIOS-имя домена mydomain.com (с суффиксом 1С).
Кстати, можете, ради интереса, отмотать туториал в самое начало и посчитать количество символов в «нечитаемом» автоматически сгенерированном сетевом имени windows_server. Будет как раз 15 символов (максимальная длина NetBIOS-имени).
И напоследок скажу, что вы не можете пропустить этот шаг. NetBIOS хоть и устаревшая технология, но до сих пор используется ради совместимости с некоторыми старыми службами. Настроить контроллер домена Active Directory без NetBIOS-имени нельзя.
Что ж, и с этим тоже разобрались. Оставляем NetBIOS-имя по-умолчанию и двигаемся дальше, к выбору места расположения базы данных AD. Можно оставить значение по-умолчанию, комментировать особо нечего.
Расположение базы данных
Все ваши настройки должны пройти предварительную проверку:
Проверка предварительных требований
Как только всё готово, жмите «Установить» и можете спокойно идти пить чай, потому что после установки автоматически начнётся очень-очень долгая перезагрузка. Зато настройка контроллера домена AD на этом закончена, поздравляю!
Настройка DHCP-сервера
Пришло время заняться настройкой DHCP-сервера. Настройка глобально состоит из двух частей:
- Авторизация DHCP-сервера в домене AD. Не каждый DHCP-сервер может раздавать сетевые настройки в домене AD — только авторизованные. Это сделано с целях безопасности, чтобы другие DHCP-серверы не могли «подсунуть» неправильные настройки компьютерам в домене;
- Настройка новой DHCP-области. Это уже непосредственно настройка самого DHCP-сервера, в ходе которой определяются какие сетевые настройки будут выдаваться компьютерам в сегменте сети.
Для того, чтобы авторизировать DHCP-сервер, нужно вернуться на панель мониторинга (она и так должна быть перед вами после перезагрузки), перейти на вкладку DHCP (слева) и кликнуть на предложение донастроить DHCP-сервер:
Запуск авторизации DHCP-сервера
В открывшемся мастере настройки DHCP после установки пропускаем первый приветственный экран и переходим к экрану авторизации
Авторизация DHCP-сервера в домене
На выбор предлагаются три варианта:
- Использовать учётные данные администратора (по-умолчанию)
- Использовать учётные данные другого пользователя;
- Пропустить авторизацию AD.
По-умолчанию авторизовать DHCP-сервер в домене могут только члены группы EnterpriseAdmins, куда как раз и входит пользователь MYDOMAINАдминистратор. При желании можно потратить немного времени и делегировать эту возможность админам «помельче» (региональным администраторам), почерпнуть больше информации по этой теме можно отсюда.
Итак, выбираем вариант по-умолчанию и завершаем первый этап настроки DHCP-сервера.
Завершение авторизации DHCP-сервера
Теперь переходим непосредственно к настройкам DHCP. Для этого на панели мониторинга кликаем вкладку «Средства» и выбираем пункт «DHCP»
В открывшемся окне с настройками DHCP нужно кликнуть правой кнопкой мышки на IPv4 и затем на пункт меню «Создать область». После этого откроется мастер создания новой области.
Открытие мастера создания новой области
Что такое DHCP-область? Под этим понимается некий диапазон IP-адресов, которые может выдавать DHCP-сервер другим компьютерам в сети. Каждая область помимо диапазона IP-адресов также содержит другие сетевые настройки, с которыми мы сейчас и познакомимся.
Назовём DHCP-область SCOPE1 и перейдём дальше.
На следующем экране вам предложат выбрать диапазон адресов, которые будут выдаваться компьютерам в сети. Ранее я настраивал сетевой интерфейс на Windows Server, выдав ему адрес 192.168.1.1/24. Это статический адрес и он зарезервирован, его выдавать другим компьютерам нельзя.
Зато никто не мешает выдавать все остальные адреса в сети 192.168.1.0/24 — так что задаём диапазон от 192.168.1.2 до 192.168.1.254 (192.168.1.255 — это зарезервированный широковещательный адрес, его выдавать тоже нельзя).
Настройка диапазона адресов
В целом, никто не мешает вам как администратору выдавать меньше IP-адресов, чем доступно в адресации сети. Например, можно было бы выделить в сети всего 100 адресов для автоматической выдачи: 192.168.1.101-192.168.1.200.
Переходим далее и видим предложение о выборе исключений из указанонного диапазона адресов, а также о настройке задержки при передаче сообщения DHCPOFFER
Исключения в диапазоне и задержка DHCPOFFER
С исключениями всё более-менее понятно: если вы не хотите выдавать некоторые адреса в указанном ранее диапазоне, то вы можете указать эти адреса здесь в виде исключений. А что за задержка в DHCPOFFER такая?
Эта настройка уже относится к довольно продвинутому администрированию сетей: если в вашей сети есть несколько DHCP-серверов, то с помощью этой задержки вы можете регулировать нагрузку между ними (подробнее можно прочитать, например, тут).
В любом случае, исключений в диапазоне у нас нет, да и задержка по-умолчанию нас устраивает, так что кликаем дальше и видим настройку сроков аренды адресов.
Настройка времени аренды адресов
Протокол DHCP предполагает выделение адресов только на определённое время, после чего компьютеры должны продлять аренду. Здесь можно настроить это время (по-умолчанию — 8 дней).
8 дней меня лично вполне устраивает, так что кликаем «Далее» и видим предложение настроить другие настройки, которые будут получать клиенты в сети (помимо IP-адреса). Соглашаемся.
Настроить дополнительные параметры
Первая сетевая настройка для клиентов — это шлюз по-умолчанию. В стенде из двух виртуальных машин эта настройка в принципе не нужна. Но можно представить, что windows_server будет играть роль шлюза во внешнюю сеть, и добавить адрес 192.168.1.1 как шлюз по-умолчанию.
Шлюз по-умолчанию
Далее идет настройка DNS. Здесь можно задать имя родительского домена и адреса DNS-серверов. С адресами DNS-серверов всё более-менее понятно — это IP-адреса серверов, куда следует обращаться клиентам за помощью в разрешении DNS-имён. Сейчас в этом списке фигурирует тот же адрес, что мы добавили как шлюз по-умолчанию.
А вот для понимания имени родительского домена, рассмотрим следующую ситуацию.
Допустим, есть домен mydomain.com и есть два компьютера в этом домене с именами comp1.mydomain.com и comp2.mydomain.com. Если comp1 хочет связаться с comp2, то он должен, по-хорошему, использовать следующую команду (обращение по Fully Qualified Domain Name — FQDN):
ping comp2.mydomain.com
Но задумывались ли вы когда-нибудь, что именно произойдет, если попытаться пропинговать другой узел следующим образом?
ping comp2
На самом деле, в этом случае начинается целая магия — очень хитрый процесс разрешения имён (картинка из интернетов).
Процесс разрешения сетевых имён
- Поиск информации в hosts.txt или в кеше;
- Попытка найти имя через DNS;
- Попытка найти NetBIOS-имя в кеше;
- Попытка найти NetBIOS-имя через WINS-сервер;
- Попытка найти NetBIOS-имя путём отправки широковещательных пакетов в локальную сеть;
- Попытка найти NetBIOS-имя в LMHOSTS-файле.
Согласно алгоритму разрешения сетевых имен, сначала comp1 попробует найти информацию о comp2 в hosts.txt — файле. Если этой информации там не окажется, то начинается процесс поиска узла через DNS. Вот только вопрос — DNS-имена же находятся в каком-то домене, верно? Какое доменное имя нужно «пристыковать» к comp2 при выполнении пинга?
Вот тут в дело и вступает настройка DHCP, которая называется «имя родительсокго домена». Это как раз тот суффикс, который будет автоматически «пристыкован» к имени comp2 при выполнении DNS-разрешения имени. Так что если имя родительского домена равно «mydomain.com», то команда ping comp2
неявно преобразуется в ping comp2.mydomain.com
.
Если же DNS-разрешение окажется неудачным, дальше начнутся попытки найти comp2 уже по NetBIOS-имени. Что такое WINS, и чем он отличается от Broadcast — информация будет чуть дальше по тексту.
Что ж, в нашем случае имя родительсокго домена должно быть mydomain.com (значение по-умолчанию), а нужный DNS-сервер уже находится в списке, так что в итоге просто кликаем «Далее».
Настройки DNS
Теперь нас попросят указать настройки WINS-сервера. WINS (Windows Internet Name Service) сервер участвует в разрешении NetBIOS-имён в сети (прямо как DNS-сервер для DNS-имён). Вот только, в отличие от DNS, WINS-сервер не обязательно должен присутствовать в сети, чтобы разрешение NetBIOS-имён работало. Так зачем же он нужен тогда?
Дело в том, что по-умолчанию разрешение NetBIOS-имен происходит через широковещательные запросы. С одной стороны, это очень простой механизм (проще не придумаешь), но, с другой стороны, обладает парой недостатков:
- При наличии большого количества NetBIOS-имён в сети широковещательный тафик может начать «зашумлять» канал;
- Широковещательные запросы не могут «выйти» за пределы текущей сети, поэтому узнать NetBIOS-имя из другой сети таким способом не выйдет.
Так вот, WINS-сервер позволяет решить обе этих проблемы. Этот сервер централизованно хранит NetBIOS-имена компьютеров, и обычные узлы в сети могут обращаться к нему для поиска IP-адреса интересующего их имени (как и для DNS). Такой подход, во-первых, резко уменьшает количество широковещательного трафика в сети, а, во-вторых, позволяет посылать NetBIOS-запросы в другие сети, а не только в текущую.
В нашей небольшой сети WINS-сервер нам ни к чему, поэтому просто пропускаем эту настройку и едем дальше.
WINS-серверы
В последнем шаге настройки вам предлагают сразу активировать настроенную область. Соглашаемся, и на этом заканчиваем настройку DHCP.
Активация области
Создаём нового пользователя в домене AD
Собственно настройка контроллера домена и различных сервисов уже фактически закончена, все параметры выставлены как надо. Теперь нужно просто зарегистрировать нового пользователя, от имени которого рабочая станция workstation будет выполнять вход в домен.
Для этого возвращаемся на панель мониторинга, кликаем на «Средства» и затем на «Пользователи и Компьютеры Active Directory»
В открывшемся меню можно заметить созданный домен mydomain.com и его состав. Видно, что помимо пользователей в домене созданы папочки для Computers, Domain Controllers и других сущностей. Но нас сейчас интересуют пользователи, поэтому кликаем правой кнопкой мышки на папке Users и выбираем «Создать» -> «Пользователь»
После этого появляется диалоговое окно с преложением ввести данные нового пользователя. По старой доброй традиции назовём пользователя Foo Bar. Обратите внимание, что пользователь отображается лишь как «Объект» в Active Directory наравне с другими объектами.
Новый объект — Пользователь
Теперь необходимо задать пароль и дополнительные параметры для пользователя. Пароль должен соответсовать политике паролей по-умолчанию, которая, в том числе, предписыват паролям в домене быть довольно сложными (должен использовать числа, буквы верхнего и нижнего регистра, а также спец символы).
Обычно администратор создаёт простой пароль для пользователя, а затем требует от пользователя сменить его при первом входе в систему (первая галочка в списке доступных опций). Это очень хорошая практика с точки зрения безопасности, ведь таким образом даже администратор AD не сможет узнать пароль пользователя. Также хорошей практикой считается ограничивать срок действия пароля. В этом туториале для простоты мы уберём требование о смене пароля пользователем при врходе в систему.
Параметры нового пользователя
После этого останется лишь подтвердить создание нового пользователя.
Подтверждение создания нового пользователя
Ну что ж, вот, кажется, и всё! Осталось лишь проверить ввод рабочей станции в домен.
Ввод рабочей станции в домен
Переключаемся на вторую машину workstation под управлением Windows 7 и заходим в свойства системы. Сейчас видно, что рабочая станция находится в рабочей группе (не в домене). Кстати говоря, WORKGROUP — это тоже NetBIOS-имя. Только в отличии от имени домена оно имеет суффикс 1E.
Щелкаем на кнопку «Изменить параметры», затем в появившемся окне ещё раз «Изменить…».
В окне изменения имени компьютера пишем, что он должен принадлежать домену mydomain.com.
Подключение к домену
Видим предупреждение о нестандартном имени компьютера (testo-ПК содержит кириллицу). Это связано с тем, что NetBIOS-имена не могут содеражать кириллицу. Но мы с вами настроили DNS-сервер (DNS настройки прилетели на рабочую станцию по DHCP), а DNS-механизм разрешения имён, как мы знаем, имеет приоритет перед NetBOIS. Так что в данном случае на работоспособность AD кириллица не влияет. Но на практике так делать не надо!
Нестандартное имя компьютера
Вводим логин-пароль от новой учетной записи FooBar и, наконец, видим заветное сообщение «Добро пожаловать в домен»
После ввода компьютера в домене необходимо перезагрузить компьютер, ну а дальше — вводим учётные данные пользователя в AD.
Логин в AD
И после успешного входа на рабочий стол перепроверяем свойства системы.
Новые свойства системы
Полное имя компьютера поменялось на testo-ПК.mydomain.com, а это значит, что мы успешно ввели рабочую станцию в домен mydomain.com.
Автоматизируем
Как вы могли заметить, весь туториал можно выполнить, пользуясь исключительно мышкой и клавиатурой. Больше того, нам даже не пригодились знания PowerShell, который позволяет выполнять бОльшую часть настройки контроллера домена AD с помощью скриптов.
Так почему бы не автоматизировать все действия с клавиатурой и мышкой, которые мы предпринимали? И нет, я говорю не об AutoIT, я говорю о платформе Testo, создателем которой я являюсь. Эта платформа позволяет фиксировать все действия, проводимые с виртуальными машинами, в виде скриптов на специальном языке Testo-lang. Ну а Testo затем превратит эти скрипты обратно в действия.
Я приведу лишь один скриншот с кусочком скрипта, чтобы у вас сложилось представление о том, о чём я говорю (да, именно скриншот, ведь хабр не умеет подсвечивать скриповый язык Testo-lang). Я даже не буду комментировать этот скрипт, т.к. верю, что код говорит сам за себя.
Секция скрипта на языке Testo-lang
Я не буду сейчас рассказывать о платформе Testo и о её возможностях. Для этого есть отдельная статья на хабре. Вместо этого предлагаю просто увидеть своими глазами, как это работает:
Всё, что Вам потребуется для создания собственного стенда с настроенной Active Directory — это:
- Установочный iso-образ Windows Server 2016 русской версии;
- Установочный iso-образ Windows 7 (придётся поискать самим);
- Скрипты на языке Testo-lang;
- Установленная платформа Testo (бесплатно);
- Выполнить команду.
sudo testo run ./tests.testo --param ISO_DIR /path/to/your/iso/dir
И всё. Как и я обещал — всего одна команда. Через пол часа — час (зависит от шустрости вашего компьютера) вы сможете наслаждаться своим готовым стендом.
Итоги
Надеюсь, вам понравился туториал, и вы нашли его полезным. Возможно, вас заинтересовала платформа Testo, в этом случае вот несколько полезных ссылок:
- сайт платформы Тесто.
- youtube-канал, где можно найти много примеров.
- основная статья на хабре
- статья, где я автоматизировал несколько системных тестов для Dr. Web
- скрипты на языке Testo-lang для этого туториала
Table of Contents
- Workgroup
- Domain
- Create a Domain Environment
- AD DS Installation
- Azure Active Directory connect
- AD DS Configuration
- Directory Services Restore Password (DSRM)
Workgroup
As showing in Figure 1.1 we have a bus-topology and 8 computers are connected with it through a T connector. Any system can independently do any task, what ever he/ she wants. We know if we have to use system or computer then we must have a user with any
name. Spouse we have a network of 8 computers. We create a user on System1 with the name of «Cortana». Now, if Cortana wants to logon on System2 or any other system except System1. He cannot login at that system. If we want to logon at that systems then we
also have to create user with the name of «Cortana». Then we shall be able to login at that systems. But if our System1 down or any disaster occur. Our whole network will be stop. We can solve this problem in Figure 1.2
Figure 1.1
If we create a shared folder on System4, in which our database will store. Whole systems, will have to login after authenticate from this database. If any credentials are incorrect then login access will be denied. But if we have a network of 400 users and
we spouse 1 user creation time is 1 minute. Then the total creation time will be 8 hours and 20 minutes and our job time is 7 hours. Mean to say we create only users in 2 days. If we have to implement Group Policy no our systems, implement some security permissions,
and install some windows updates. We have to go physically to all single system and do required task.
Figure 1.2
In workgroup our password will save in SAM file (Security Account Manager)
NTLM protocol use for authentication in workgroup (New Technology LAN Manager)
It has Decentralized Database, Authentication separately, are all independent systems.
Domain
As you can see we put a Server place of a system. Now all systems will authenticate from it. We create users on Windows Server and login it anywhere in the network. If we have to create 400 users we can create in seconds. If have to change
password of any user just right click on user and click on reset password. We can implement Group Policies or Security Permission from the Server. We also can install Windows Updates to our clients from our Windows Server thought WSUS (Windows Server Update
Services)
Figure 2.1
In Domain our Domain is AD DS (Active Directory Domain Services) every user will authenticate form it.
NTDS.DIT is a database file (New Technology Directory Services Directory Information Tree)
Centralized authentication through Kerberos protocol
It is also called
- Dependent on Windows Server
- Client Server Model
- Centralized Database
- Centralized Management
- Centralized Authentication
- Centralized Authorization
Create a Domain Environment
Install Microsoft Windows Server 2016 on your machine.
Before you continue, please verify
- Strong Password of your Administrator like “Pa$$w0rd”
- Windows Server most current update installed on your system (not compulsory)
- If you don’t have a static IP Address or, have not strong password then you will get an error. (Static IP and Strong Password are Recommended)
Note: Your network adapter must be enable if this is disable (Red cross mark on your network icon) you cannot continue your installation.
AD DS Installation
Click on Server Manager icon from start menu. In dashboard section click on Add Roles and Features.
Next and select on what Server Pool you want to install AD DS
Check mark on Active Directory Domain Services
AD DS works, to store information about objects on network and makes this information available to users and network administrators. AD DS uses domain controllers to give network users access to permitted resources anywhere on the network through a single
logon process.
Microsoft recommend you to must install a ADC (Additional Domain Controller) on your network. If one server down, then not all the network will stop.
If you have install DNS Server on another machine, you can give that machine IP Address in Server DNS section by entering command in run “ncpa.cpl”
Microsoft provide this option first time in Windows Server 2016. Which give you the facility to configure your on-premises Domain. For this, you have to configure Azure Active Directory with Office 365.
Azure Active Directory connect
Integrating your on-premises directories with Azure AD makes your users more productive by providing a common identity for accessing both cloud and on-premises resources.
If you want to configure it click on Configure Office 365 with Azure Active Directory Connect and press next and install.
Now you AD DS role been installed.
Click on Promote this server to a domain controller
AD DS Configuration
select Add a new forest
If you have existing domain and you want to install ADC then select first option
If you have an existing forest and you want to install Child Domain or Tree Domain, then select this option
In our case, we don’t have any existing domain or forest that’s why click on Add a new forest
Enter your domain name don’t enter a dote before your domain name press next. As I did enter
Root domain is the first domain in your forest other are child domains.
Directory Services Restore Password (DSRM)
If accidentally or any disaster occur your active directory is not working well. Then you can restore your domain by enter this password.
DNS delegation caution of creating DNS delegation
NetBIOS domain name is a nick name of your domain its limit is 15 characters.
Functional levels are allow which Servers can connects with you during adding ADCs in your network.
You also can uncheck DNS if you have DNS Server install on another server
Global Catalog (GC) is working of indexing. It tells the server where object is exist.
GC have five other rights are following
- Schema Master
- Domain Naming Master
- RID Pool Master
- PDC Master
- Infrastructure Master
which give different facility in your network if after installation you did uncheck GC then no one user can authenticate from your Windows Server 2016.
Database folder where you NTDS.DIT database file will store “New Technology Directory Services, Directory Information Tree”
Log file folder, all log of your network Server and Client machines are included
SYSVOL folder will save your group policies.
Press next its check prerequisites and then click on install.
After restart your machine you can use your domain controller and create objects.
Back to Top
В этой статье я бы хотел предложить вам пошаговый туториал по развёртыванию контроллера домена Active Directory на Windows Server 2016 (с графической оболочкой), а также по вводу рабочей станции в получившийся домен. Чем этот туториал может выделиться на фоне других:
- Вместо простого «Далее, Далее, кликаем сюда, вбиваем это» я постарался дать внятное объяснение каждому шагу, каждой настройке, которую предстоит выполнить. Помимо основных понятий Active Directory, DNS и DHCP вы также сможете найти много интересной информации по всем галочкам, которые вы часто видели, но не задумывались об их назначении.
- В конце статьи я предложу способ автоматизировать развёртывание получившегося стенда полностью с нуля, имея на компьютере только iso-образы ОС Windows 7 и Windows Server 2016. И никакого PowerShell. Всего одной командой.
Статья предполагает наличие у читателя лишь самых начальных знаний об устройстве сетей (на уровне «Что такое IP-адрес и DNS-адрес»).
Заинтересовало что-то из вышеперечисленного? Тогда погнали.
Туториал будет происходить не в вакууме, а на конкретном виртуальном стенде, состоящим из двух виртуальных машин:
Начальное состояние стенда:
-
На машине windows_server уже установлена ОС Windows Server 2016 Standard Evaluation (с GUI). Машина находится в состоянии «сразу после установки ОС». В процессе туториала на ней будут развернуты службы Active Directory (с доменом mydomain.com), DNS и DHCP.
-
Машина workstation выполняет роль рабочей станции. На ней установлена ОС Windows 7. Машина находится в состоянии «сразу после установки ОС». В процессе туториала она будет подключена к домену mydomain.com.
Туториал построен следующим образом (если вам интересен только конкретный пункт — смело кликайте прямо туда):
- Объясню, почему я выбрал именно такой стенд для туториала;
- Супер-краткое описание технологии Active Directory;
- Выполняется небольшая предварительная настройка windows_server;
- На windows_server производится включение необходимых компонентов;
- На windows_server происходит настройка контроллера домена AD (совместно с DNS);
- На windows_server происходит настройка сервера DHCP;
- На windows_server регистрируется новая учетная запись в AD;
- На workstation происходит подключение к домену.
В конце туториала вас ждет приятный бонус — я покажу вам как можно развернуть у себя на компьютере весь этот работающий стенд одной единственной командой. Вам понадобится только наличие двух установочных iso-образов (windows 7 и windows server 2016), да небольшой скрипт, ссылку на который я вам дам в конце статьи.
Почему такой стенд?
Такой стенд, с моей точки зрения, отлично подходит для первого самостоятельного «прощупывания» технологии Active Directory. Он минималистичен (всего 2 виртуальные машины), занимает минимум ресурсов, но при этом изолирован и самодостаточен. Его можно развернуть даже на довольно средненьком компьютере и ноутбуке. При этом на стенде уже присутствуют основные сетевые службы (AD + DNS). DHCP хоть и необязателен для функционирования AD, всё равно был добавлен в стенд в ознакомительных целях.
Disclaimer
Данный туториал предлагает исключительно пробное знакомство с Active Directory. Ни при каких обстоятельствах не рекомендуется разворачивать подобную конфигурацию при решении реальных задач администрирования сетей. В самом туториале я постараюсь обратить внимание на основные моменты, которые не рекомендуется применять в реальных сетях.
Туториал предполагает подробный разбор всех шагов по настройке, с пояснениями «что, зачем и почему». Туториал ориентирован на людей, не слишком знакомых с технологиями Active Directory, DNS и DHCP, которые хотели бы немного узнать о внутренней кухне администрирования сетей с Active Directory.
Если же базовая настройка AD вызывает у вас лишь зевоту, переходите прямо сюда и посмотрите, как можно автоматизировать весь процесс по развёртыванию собственного стенда с AD и рабочей станцией.
Что такое Active Directory
Active Directory — это службы каталогов от компании Microsoft, как подсказывает нам Википедия. За этим сухим и невзрачным определением скрывается одна из важнейших технологий в администрировании сетей. Благодаря Active Directory администратор сети получает очень удобное централизованное средство управления учетными записями пользователей, групповыми политиками (в т.ч. политиками безопасности) и объектами в сети (причём Active Directory без особых проблем справляется даже с гигантскими сетями). А благодаря встроенному механизму репликации, «положить» правильно настроенные сервисы AD не так-то просто. Ну и напоследок, благодаря Windows настроить Active Directory можно буквально мышкой, так что даже совсем начинающие IT-шники смогут с этим справиться.
Несмотря на то, что технологией заведует Microsoft, она вовсе не ограничивается управлением Windows-машин — все известные Linux-дистрибутивы уже давным давно научились работать с этой технологией. Повстречаться с Active Directory не просто, а очень просто — практически каждый офис предполагает наличие этой технологии, поэтому даже самым заядлым линуксоидам было бы неплохо разбираться в азах работы Active Directory.
Начинаем
Вы установили Windows Server 2016 и (надеюсь) видите следующий экран:
Эта панель — основное (графическое) средство администрирования Windows Server 2016. Здесь вы можете управлять компонентами и сервисами на вашем сервере (проще говоря, настраивать то, что умеет делать сервер). Эту же панель можно использовать и для базовых сетевых настроек Windows Server, для чего есть вкладка «Локальный сервер».
Базовые настройки Windows Server
Первое, что нужно сделать — это поменять сетевое имя сервера.
Сетевое имя (hostname) — это удобный способ идентификации узла в сети. Сетевое имя используется как альтернатива IP-адресу и позволяет не запоминать IP-адрес компьютера (при том, что этот адрес может меняться время от времени), а связываться с этим компьютером по его логическому названию.
Проблема в том, что по-умолчанию для Windows Server генерируется совершенно нечитаемое и неинформативное сетевое имя (я выделил его красным цветом на скриншоте).
Рабочие станции ещё могут позволить себе иметь нечитаемый Hostname, но никак не сервер. Поэтому я предлагаю поменять эту абракадабру его на что-то более разумное (например, на ADController), благо делается это быстро.
Смена сетевого имени
Нужно кликнуть на текущее имя сервера (отмечено красным цветом), затем во вкладке «Имя компьютера» нажать на кнопку «Изменить…», после чего ввести что-то более благоразумное:
После смены имени машину нужно будет перезагрузить.
Теперь зададим статический IP-адрес для сервера. В принципе это делать не обязательно, раз мы всё равно собрались поднимать DHCP службу, но на самом деле это хорошая практика, когда все ключевые элементы корпоративной сети имеют фиксированные адреса. Открыть меню по настройке сетевого адаптера можно из вкладки «Локальный сервер», кликнув на текущие настройки Ethernet-адаптера (тоже выделены красным цветом).
Настройки IP для интерфейса windows_server
Включаем нужные компоненты
Для нашего стенда нам понадобится включить следующие сервисы (или, как они тут называются, роли) на Windows Server:
- Доменные службы Active Directory;
- DNS-сервер;
- DHCP-сервер.
Пройдемся вкратце по каждому из них.
Доменные службы Active Directory
Эта роль фактически «включает» технологию Active Directory на сервере и делает его контроллером домена (под доменом в технологии AD понимается группа логически связанных объектов в сети). Благодаря этой роли администратор получает возможность управлять объектами в сети, а также хранить информацию о них в специальной распределенной базе данных.
Эта база данных содержит всю информацию об объектах в сети (например, именно в неё заносится информация об учётных записях пользователей). Когда человек подходит к рабочей станции и пытается выполнить вход в свою доменную учётную запись, эта рабочая станция связывается с контроллером домена с запросом на аутентификацию, и в случае успеха загружает пользовательский рабочий стол.
Однако, что же делать, если контроллер домена выйдет из строя (или просто будет недоступен для рабочих станций)? Если вы настроили только один контроллер домена, то дела ваши довольно плохи — без связи с рабочим контроллером домена пользователи не смогут выполнить вход на свои рабочие места. Поэтому в реальных сетях всегда рекомендуется устанавливать как минимум два контроллера на каждый домен. Каждый контроллер домена участвует в так называемом механизме репликации, благодаря чему все контроллеры домена имеют полную копию базы данных со всеми объектами в домене. Если по какой-то причине один из контроллеров выйдет из строя, его место всегда может занять резервный контроллер — и пользователи даже ничего не заметят.
Однако этот туториал рассчитан на простое ознакомление с технологией AD «на виртуалках», поэтому здесь не будет рассматриваться вопрос создания нескольких контроллеров AD в одном домене.
С этим пунктом все более менее понятно, а зачем же нам включать дополнительно ещё DNS-сервер?
DNS-сервер
Обычно протокол DNS (Domain Name System) используется для обращения к узлам в сети не по их IP-адресу, а по доменному имени (строковый идентификатор), что, конечно, гораздо удобнее. Другими словами, DNS чаще всего используется для разрешения доменных имен.
Но область применения протокола DNS не ограничивается только сопоставлением хостового имени и IP-адреса, что как раз подтверждает технология Active Directory. Дело в том, что Microsoft решила построить технологию Active Directory не с нуля, а на основе протокола DNS. В частности, протокол DNS используется при определении местонахождения всех ключевых сервисов Active Directory в сети. Другими словами, рабочая станция при подключении к контроллеру домена понимает, «куда» ей надо обращаться, именно с помощью протокола DNS.
Все DNS-записи (в том числе с информацией о сервисах Active Directory) хранятся на DNS-сервере, а это значит, что нам нужно заиметь свой собственный DNS-сервер! Вот только вопрос, откуда его взять? Есть два варианта:
- Использовать отдельную машину в роли DNS-сервера;
- Использовать саму машину windows_server в роли DNS-сервера.
Первый вариант, безусловно, самый правильный — именно так и надо поступать при реальном администрировании сетей (чем больше вы разносите логику по разным узлам в сети — тем лучше). Но в учебных целях я решил выбрать второй вариант (хотя бы потому, что не придётся создавать ещё одну виртуальную машину).
Именно поэтому эту роль (DNS-сервера) тоже нужно добавить к ролям машины windows_server.
Кстати, если не добавить роль «DNS-сервер» сейчас, то в будущем у вас ещё будет такая возможность при конфигурировании контроллера домена AD.
DHCP-сервер
Протокол DHCP (Dynamic Host Configuration Protocol) нужен для автоматической выдачи сетевых настроек узлам в сети. Под сетевыми настройками понимается IP-адрес, адрес шлюза по-умолчанию, адрес DNS-сервера, и ещё ряд других настроек. Этот протокол чрезвычайно удобен при администрировании сетей, особенно больших.
В этом туториале я использую протокол DHCP чтобы рабочая станция workstation могла получить сетевые настройки (в частности, адрес DNS-сервера) без каких-либо действий с моей стороны.
Протокол DHCP не имеет никакого отношения к технологии Active Directory, и можно было бы обойтись вовсе без него (достаточно прописать все сетевые настройки на рабочей станции самостоятельно), но я решил включить этот протокол в данный туториал просто для общего ознакомления. К тому же, такая связка «Контроллер AD — DNS-сервер — DHCP-сервер» довольно часто встречается в реальной жизни, потому что это очень удобный набор сервисов.
При этом вопрос о том, стоит ли выделять отдельную машину под DHCP-сервер, остаётся открытым. Для небольших сетей однозначно не стоит разносить DNS и DHCP-серверы по разным машинам, но для больших сетей, возможно, имеет все-таки смысл задуматься об этом. В нашей же крошечной сети мы абсолютно ничего не потеряем, если включим DHCP-сервер на той же машине, что и DNS-сервер.
Что ж, довольно теории, давайте лучше перейдём к включению этих самых ролей.
Мастер добавления ролей и компонентов
Возвращаемся на панель мониторинга (самый первый скриншот) и щелкаем на пункт «Добавить роли и компоненты». Вас поприветствует мастер добавления ролей и компонентов. Первый экран («Перед началом работы») пропускаем, он совсем неинтересный, а вот дальше идёт экран «Выбор типа установки»
Выбор типа установки
Нас устраивает значение по-умолчанию (Установка ролей или компонентов»), но интересен и второй пункт — он позволяет задействовать ещё одну возможность Windows Server — инфраструктуру виртуальных рабочих мест (Virtual Desktop Environment — VDI). Эта интереснейшая технология позволяет, буквально, виртуализировать рабочее место. То есть для пользователя создаётся виртуальное рабочее место, к которому он может подключаться через тонкий клиент. Пользователь лишь видит картинку, тогда как само рабочее место может совершенно прозрачно работать где угодно.
Впрочем, технология VDI это отдельная большая тема, а в этом туториале надо сосредоточиться на контроллере AD, так что кликаем «Далее» и видим экран выбора целевого сервера.
Выбор целевого сервера
Мастер добавления ролей позволяет устанавливать роль не только на текущую машину, но вообще на любой добавленный сервер, и даже на виртуальный жёсткий диск. Да, если ваша Windows Server развернута на виртуальной машине (а это довольно частое явление), то вы можете администрировать эту виртуальную машину даже не запуская её! Понаблюдать за этим процессом можно, например, здесь
Нам же такая экзотика ни к чему, так что просто выбираем единственный возможный сервер (обратите внимание, что он теперь называется ADController место непонятной абракадабры), жмём «Далее» и, наконец, попадаем на экран выбора ролей, которые нужно добавить.
Выбор добавляемых ролей
Выбираем три роли, о которых уже говорили ранее, и продолжаем.
Выбор компонентов
Теперь необходимо выбрать дополнительные компоненты. В чём разница между ролью и компонентом, можете спросить вы? О, это не такой уж и лёгкий вопрос, честно говоря!
Согласно идеологии Microsoft, роль — это набор программ, которые позволяют компьютеру предоставлять некоторые функции для пользователей в сети. Например, DNS, DHCP, контроллер домена AD — это всё роли. А вот компоненты — это набор программ, которые улучшают либо возможности ролей сервера, либо самого сервера.
При этом глядя на список «Компонентов» так сходу и не скажешь, что какие-то вещи в списке лишь «вспомогательные». Вот например, DHCP-сервер расценивается как роль, а WINS-сервер — уже как компонент. А чем SMTP-сервер хуже DNS?
В общем-то, чёткой границы между ролью и компонентом не существует. Я лично предпочитаю относиться к ролям как к большим функциональным возможностям сервера, а к компонентам — как к небольшим дополнительным аддонам.
В любом случае, дополнительные компоненты нам не нужны, так что кликаем «Далее».
После этого идёт несколько пояснительных экранов с информацией по каждой добавленной роли, но эту информацию я уже разбирал, поэтому останавливаться лишний раз не буду.
Подтверждение устанавливаемых ролей и компонентов
На экране подтверждения ещё раз видим все устанавливаемые роли и компоненты, после чего жмём «Установить».
Остаётся лишь дождаться, когда заполнится progress-bar, и перейти к следующему пункту туториала — настройке контроллера домена AD.
Настраиваем контроллер домена Active Directory
Все роли и компоненты успешно добавлены, о чём свидетельствует следующий экран:
Вот только AD на сервере всё еще не работает — для этого его необходимо донастроить. Для этого нам настойчиво предлагают «Повысить роль этого сервера до уровня контроллера домена».
Погодите-ка, ЧТО?!
А чем же я занимался последние 15 минут? Я же добавлял роли, и судя по сообщению, они успешно добавились! И тут меня снова хотят заставить добавлять какие-то новые роли? В чем-то тут подвох.
Подвох тут действительно имеется, но вообще в не самом очевидном месте. Вот так выглядит предыдущий скриншот в английской версии Windows Server (картинка из интернета).
Английская версия скриншота
Видите разницу? В английской версии ни слова ни про какие роли! Про повышение есть, про роли — нет. Один из тех случаев, когда перевод вносит сумятицу на пустом месте. Согласно английской версии, никакими ролями мы дальше не занимаемся, что и логично, ведь мы их как раз только что добавили.
Что ж, тыкаем на предложение «Повысить роль этого сервера до уровня контроллера домена», и теперь нас привествует мастер настройки доменных служб Active Directory с предложением выбрать конфигурацию развёртывания.
Конфигурация развёртывания
Всего тут есть 3 варианта развития событий. Для того, чтобы выбрать правильный пункт, давайте сначала разберёмся, что эти пункты означают. В этом нам поможет вот такая картинка (картинка, если что, отсюда):
Технология Active Directory (как и DNS) подразумевает иерархическое построение имён на основе доменов. Домены могут выстраиваться в доменные деревья по принципу «родительско-дочерних» отношений. В основе дерева лежит так называемый корневой домен (на картинке выше это sources.com, xyz.com и abc.com). При этом домен может иметь сколько угодно потомков. Домен-потомок располагается в пространстве имён родителя и является его «поддоменом» (subdomain). У доменного имени домена-потомка есть дополнительный префикс относительно доменного имени родителя (rus.abc.com, eng.abc.com). Один корневой домен основывает только одно доменное дерево со своим независимым пространством имён.
Теперь представьте, что таких независимых деревьев может быть много — в этом случае эти деревья образуют структуру, которая называется «лес». При этом в Active Directory доменные деревья не могут быть «сами по себе» — они обязательно должны находиться в лесу (даже если лес будет состоять всего из одного-единственного домена). Первый домен, который добавляется в лес, называется корневым доменом леса (на рисунке выше это sources.com). Корневой домен леса используется для идентификации всего леса (то есть если корневой домен называется sources.com, то и весь лес называется sources.com).
Теперь возвращаемся к мастеру настройки доменных имен. На этом этапе мастер предлагает следующие варианты:
- Добавить контроллер домена в существующий домен (помните про резервирование контроллеров в домене, так ведь?). Этот вариант не для нас, ведь домена ещё никакого нет;
- Добавить новый домен в лес. Этого мы тоже сделать не можем, т.к. и леса у нас тоже никакого нет;
- Добавить новый лес. Это вариант как раз для нас. При этом нам тут же предлагают выбрать корневой домен для этого леса (первый домен, который будет создан в лесу).
Назовём корневой домен mydomain.com и кликнем «Далее»
Параметры контроллера домена
Рассмотрим возможные параметры:
- Режим работы леса и домена. Домены в одном лесу могут работать в разных режимах в зависимости от версии Windows Server на борту. Лес должен иметь режим не выше, чем самый «старый» домен в его составе. Т.к. мы планируем использовать только Windows Server 2016, то оставим этот режим и для леса и для домена;
- DNS-сервер. Если ранее Вы не активировали роль DNS-сервера в мастере добавления ролей, то можете сделать это сейчас (вам даже предложат такой вариант по-умолчанию);
- Должен ли контроллер домена выступать в роли Global Catalog-сервера;
- Включить ли режим базы данных Active Directory «только на чтение». Основная задача, которую преследует технология RODC — возможность безопасной установки собственного контролера домена в удаленных филиалах и офисах, в которых сложно обеспечить физическую защиту сервера с ролью DC. Контроллер домена RODC содержит копию базы Active Directory, доступную только на чтение. Это означает, что никто, даже при получении физического доступа к такому контроллеру домена, не сможет изменить данные в AD (в том числе сбросить пароль администратора домена) (информация взята отсюда)
А вот пункт 3 рассмотрим поподробнее, он довольно интересный.
Как я уже упоминал выше, каждый контроллер домена имеет полную и исчерпывающую информацию обо всех объектах в своём домене. Если же в домене несколько контроллеров, то они ещё и участвуют в механизме репликации, поддерживая несколько актуальных копий базы данных с объектами домена. Получается, что рабочая станция в домене может узнать информацию о любом объекте из этого домена от своего ближайшего контроллера домена.
Но что же делать, если рабочей станции нужно получить информацию об объекте из другого домена? И вот тут в дело вступает ещё один важнейший механизм технологии Active Directory, который называется глобальный каталог.
Что такое вообще «Глобальный каталог»? Согласно Miscrosoft — это распределенное хранилище данных, которое хранит частичное представление обо всех AD-объектах в лесу. Это хранилище располагается на котроллерах домена, которые имеют дополнительную роль «Global Catalog Server» (Сервер глобального каталога). От обычного контроллера домена GC-сервер отличается в первую очередь тем, что помимо полной копии всех объектов в своем домене, хранит также частичную информацию обо всех объектах в других доменах леса.
Чего это позволяет достичь? Давайте представим, что рабочая станция запросила информацию об объекте из другого домена. Она обращается на ближайший GC-сервер с просьбой предоставить ей информацию об этом объекте. GC-сервер, в свою очередь, может:
- Либо отдать рабочей станции нужную информацию сразу (если эта информация у GC-сервера имеется);
- Либо перенаправить запрос к нужному контроллеру домена, где эта информация точно будет находиться. Чтобы понять, какому контроллеру домена нужно перенаправить запрос, как раз и происходит поиск по GC.
Информация о том, какие атрибуты попадают в глобальный каталог, определена в Partial Attribute Set (PAS), который может настраивать администратор AD. Например, если администратор понимает, что рабочие станции часто будут обращаться к атрибуту, который не содержится в глобальном каталоге, он может добавить туда этот атрибут. Тогда запросы рабочих станций при чтении этого атрибута будут выполняться значительно быстрее, т.к. уже ближайший GC-сервер сможет предоставить им всю нужную информацию.
Однако, если в лесе всего один домен (как у нас), то Глобальный каталог содержит полную копию объектов в домене и всё.
Что ж, возвращаемся к галочке GC, которую за нас уже проставил мастер настройки доменных служб. Если вы попробуете её отключить, то убедитесь, что отключить её нельзя. Это связано с тем, что каждый домен в AD должен иметь хотя бы один GC-сервер, и при добавлении первого контроллера в домен этот контроллер сразу помечается как GC-сервер.
Что ж, давайте согласимся с этим «выбором» мастера и перейдём к последнему параметру на этом скриншоте — к паролю для режима восстановления служб каталогов. Это особый режим безопасной загрузки Windows Server, который позволяет администратору работать с базой данных AD. Этот режим применяется, например, в следующих случаях:
- база Active Directory повреждена и нуждается в исправлении;
- требуется выполнить обслуживание базы данных AD (сжатие, анализ на наличие ошибок);
- требуется восстановить резервную копию базы данных AD;
- требуется сменить пароль администратора.
Да да, вы не ослышались. Чтобы просто восстановить резервную копию базы данных, нужно перезагрузить машину и загрузиться в особом «безопасном» режиме. Это вам не Linux какой-нибудь.
Фух, вроде разобрались. Давайте перейдем дальше на шаг, где нам предложат настроить делегирование DNS.
Делегирование DNS
Что такое делегирование DNS? По большей части, это передача ответственности за некоторую DNS-зону отдельному DNS-серверу. Это распространенная практика в больших сетях, в которых требуется разграничить зоны ответственности за доменные зоны между различными серверами. При делегировании DNS в «главный» DNS-сервер вносится запись о том, что «вот за эту DNS-зону несёт ответственность вон тот DNS-сервер, обращайся туда».
Т.к. у нас всего одна зона DNS и DNS-сервер тоже один, то этот шаг нам необходимо пропустить и перейти к выбору NetBIOS-имени.
NetBIOS-имя
Мы видим, что мастер предложил нам на выбор сразу же имя для нашего домена — MYDOMAIN. Но вы можете (и должны) задать себе вопрос: а что такое вообще NetBIOS-имя и зачем оно нужно? И разве мы уже не настраивали сетевое имя узла (Hostname) в самом начале? Чего же от вас хотят?
NetBIOS (Network Basic Input/Output) — это ещё один способ разрешения имён узлов в сети (более древний и более примитивный, чем DNS). NetBIOS-имена не предполагают никакой иерархии, их длина ограничивается всего лишь 16 символами, и они применяются только для разрешения имён компьютеров в локальной сети. Когда мы в самом начале туториала выбрали сетевое имя ADController — мы, на самом деле, задали именно NetBIOS-имя для сервера. Но теперь от нас снова требуют выбрать NetBIOS-имя (да ещё и другое, отличное от ADContoller). Не много ли NetBIOS-имён для одного компьютера?
Дело в том, что Microsoft пошла ещё дальше — и ограничила длину NetBIOS-имен не 16 символами, а 15 символами. 16-ый символ при этом считается зарезервированным суффиксом, который может принимать фиксированные значения. В зависимости от значения 16-го байта получаются разные классы NetBIOS-имён. Например, если суффикс равен 00, то NetBIOS-имя относится к рабочей станции. Если суффикс равен 1С, то это имя относится к имени домена.
То есть, как вы понимаете, на первом шаге мы задавали NetBIOS-имя для компьютера Windows Server (с суффиком 00). А теперь задаём NetBIOS-имя домена mydomain.com (с суффиксом 1С).
Кстати, можете, ради интереса, отмотать туториал в самое начало и посчитать количество символов в «нечитаемом» автоматически сгенерированном сетевом имени windows_server. Будет как раз 15 символов (максимальная длина NetBIOS-имени).
И напоследок скажу, что вы не можете пропустить этот шаг. NetBIOS хоть и устаревшая технология, но до сих пор используется ради совместимости с некоторыми старыми службами. Настроить контроллер домена Active Directory без NetBIOS-имени нельзя.
Что ж, и с этим тоже разобрались. Оставляем NetBIOS-имя по-умолчанию и двигаемся дальше, к выбору места расположения базы данных AD. Можно оставить значение по-умолчанию, комментировать особо нечего.
Расположение базы данных
Все ваши настройки должны пройти предварительную проверку:
Проверка предварительных требований
Как только всё готово, жмите «Установить» и можете спокойно идти пить чай, потому что после установки автоматически начнётся очень-очень долгая перезагрузка. Зато настройка контроллера домена AD на этом закончена, поздравляю!
Настройка DHCP-сервера
Пришло время заняться настройкой DHCP-сервера. Настройка глобально состоит из двух частей:
- Авторизация DHCP-сервера в домене AD. Не каждый DHCP-сервер может раздавать сетевые настройки в домене AD — только авторизованные. Это сделано с целях безопасности, чтобы другие DHCP-серверы не могли «подсунуть» неправильные настройки компьютерам в домене;
- Настройка новой DHCP-области. Это уже непосредственно настройка самого DHCP-сервера, в ходе которой определяются какие сетевые настройки будут выдаваться компьютерам в сегменте сети.
Для того, чтобы авторизировать DHCP-сервер, нужно вернуться на панель мониторинга (она и так должна быть перед вами после перезагрузки), перейти на вкладку DHCP (слева) и кликнуть на предложение донастроить DHCP-сервер:
Запуск авторизации DHCP-сервера
В открывшемся мастере настройки DHCP после установки пропускаем первый приветственный экран и переходим к экрану авторизации
Авторизация DHCP-сервера в домене
На выбор предлагаются три варианта:
- Использовать учётные данные администратора (по-умолчанию)
- Использовать учётные данные другого пользователя;
- Пропустить авторизацию AD.
По-умолчанию авторизовать DHCP-сервер в домене могут только члены группы EnterpriseAdmins, куда как раз и входит пользователь MYDOMAINАдминистратор. При желании можно потратить немного времени и делегировать эту возможность админам «помельче» (региональным администраторам), почерпнуть больше информации по этой теме можно отсюда.
Итак, выбираем вариант по-умолчанию и завершаем первый этап настроки DHCP-сервера.
Завершение авторизации DHCP-сервера
Теперь переходим непосредственно к настройкам DHCP. Для этого на панели мониторинга кликаем вкладку «Средства» и выбираем пункт «DHCP»
В открывшемся окне с настройками DHCP нужно кликнуть правой кнопкой мышки на IPv4 и затем на пункт меню «Создать область». После этого откроется мастер создания новой области.
Открытие мастера создания новой области
Что такое DHCP-область? Под этим понимается некий диапазон IP-адресов, которые может выдавать DHCP-сервер другим компьютерам в сети. Каждая область помимо диапазона IP-адресов также содержит другие сетевые настройки, с которыми мы сейчас и познакомимся.
Назовём DHCP-область SCOPE1 и перейдём дальше.
На следующем экране вам предложат выбрать диапазон адресов, которые будут выдаваться компьютерам в сети. Ранее я настраивал сетевой интерфейс на Windows Server, выдав ему адрес 192.168.1.1/24. Это статический адрес и он зарезервирован, его выдавать другим компьютерам нельзя.
Зато никто не мешает выдавать все остальные адреса в сети 192.168.1.0/24 — так что задаём диапазон от 192.168.1.2 до 192.168.1.254 (192.168.1.255 — это зарезервированный широковещательный адрес, его выдавать тоже нельзя).
Настройка диапазона адресов
В целом, никто не мешает вам как администратору выдавать меньше IP-адресов, чем доступно в адресации сети. Например, можно было бы выделить в сети всего 100 адресов для автоматической выдачи: 192.168.1.101-192.168.1.200.
Переходим далее и видим предложение о выборе исключений из указанонного диапазона адресов, а также о настройке задержки при передаче сообщения DHCPOFFER
Исключения в диапазоне и задержка DHCPOFFER
С исключениями всё более-менее понятно: если вы не хотите выдавать некоторые адреса в указанном ранее диапазоне, то вы можете указать эти адреса здесь в виде исключений. А что за задержка в DHCPOFFER такая?
Эта настройка уже относится к довольно продвинутому администрированию сетей: если в вашей сети есть несколько DHCP-серверов, то с помощью этой задержки вы можете регулировать нагрузку между ними (подробнее можно прочитать, например, тут).
В любом случае, исключений в диапазоне у нас нет, да и задержка по-умолчанию нас устраивает, так что кликаем дальше и видим настройку сроков аренды адресов.
Настройка времени аренды адресов
Протокол DHCP предполагает выделение адресов только на определённое время, после чего компьютеры должны продлять аренду. Здесь можно настроить это время (по-умолчанию — 8 дней).
8 дней меня лично вполне устраивает, так что кликаем «Далее» и видим предложение настроить другие настройки, которые будут получать клиенты в сети (помимо IP-адреса). Соглашаемся.
Настроить дополнительные параметры
Первая сетевая настройка для клиентов — это шлюз по-умолчанию. В стенде из двух виртуальных машин эта настройка в принципе не нужна. Но можно представить, что windows_server будет играть роль шлюза во внешнюю сеть, и добавить адрес 192.168.1.1 как шлюз по-умолчанию.
Шлюз по-умолчанию
Далее идет настройка DNS. Здесь можно задать имя родительского домена и адреса DNS-серверов. С адресами DNS-серверов всё более-менее понятно — это IP-адреса серверов, куда следует обращаться клиентам за помощью в разрешении DNS-имён. Сейчас в этом списке фигурирует тот же адрес, что мы добавили как шлюз по-умолчанию.
А вот для понимания имени родительского домена, рассмотрим следующую ситуацию.
Допустим, есть домен mydomain.com и есть два компьютера в этом домене с именами comp1.mydomain.com и comp2.mydomain.com. Если comp1 хочет связаться с comp2, то он должен, по-хорошему, использовать следующую команду (обращение по Fully Qualified Domain Name — FQDN):
ping comp2.mydomain.com
Но задумывались ли вы когда-нибудь, что именно произойдет, если попытаться пропинговать другой узел следующим образом?
ping comp2
На самом деле, в этом случае начинается целая магия — очень хитрый процесс разрешения имён (картинка из интернетов).
Процесс разрешения сетевых имён
- Поиск информации в hosts.txt или в кеше;
- Попытка найти имя через DNS;
- Попытка найти NetBIOS-имя в кеше;
- Попытка найти NetBIOS-имя через WINS-сервер;
- Попытка найти NetBIOS-имя путём отправки широковещательных пакетов в локальную сеть;
- Попытка найти NetBIOS-имя в LMHOSTS-файле.
Согласно алгоритму разрешения сетевых имен, сначала comp1 попробует найти информацию о comp2 в hosts.txt — файле. Если этой информации там не окажется, то начинается процесс поиска узла через DNS. Вот только вопрос — DNS-имена же находятся в каком-то домене, верно? Какое доменное имя нужно «пристыковать» к comp2 при выполнении пинга?
Вот тут в дело и вступает настройка DHCP, которая называется «имя родительсокго домена». Это как раз тот суффикс, который будет автоматически «пристыкован» к имени comp2 при выполнении DNS-разрешения имени. Так что если имя родительского домена равно «mydomain.com», то команда ping comp2
неявно преобразуется в ping comp2.mydomain.com
.
Если же DNS-разрешение окажется неудачным, дальше начнутся попытки найти comp2 уже по NetBIOS-имени. Что такое WINS, и чем он отличается от Broadcast — информация будет чуть дальше по тексту.
Что ж, в нашем случае имя родительсокго домена должно быть mydomain.com (значение по-умолчанию), а нужный DNS-сервер уже находится в списке, так что в итоге просто кликаем «Далее».
Настройки DNS
Теперь нас попросят указать настройки WINS-сервера. WINS (Windows Internet Name Service) сервер участвует в разрешении NetBIOS-имён в сети (прямо как DNS-сервер для DNS-имён). Вот только, в отличие от DNS, WINS-сервер не обязательно должен присутствовать в сети, чтобы разрешение NetBIOS-имён работало. Так зачем же он нужен тогда?
Дело в том, что по-умолчанию разрешение NetBIOS-имен происходит через широковещательные запросы. С одной стороны, это очень простой механизм (проще не придумаешь), но, с другой стороны, обладает парой недостатков:
- При наличии большого количества NetBIOS-имён в сети широковещательный тафик может начать «зашумлять» канал;
- Широковещательные запросы не могут «выйти» за пределы текущей сети, поэтому узнать NetBIOS-имя из другой сети таким способом не выйдет.
Так вот, WINS-сервер позволяет решить обе этих проблемы. Этот сервер централизованно хранит NetBIOS-имена компьютеров, и обычные узлы в сети могут обращаться к нему для поиска IP-адреса интересующего их имени (как и для DNS). Такой подход, во-первых, резко уменьшает количество широковещательного трафика в сети, а, во-вторых, позволяет посылать NetBIOS-запросы в другие сети, а не только в текущую.
В нашей небольшой сети WINS-сервер нам ни к чему, поэтому просто пропускаем эту настройку и едем дальше.
WINS-серверы
В последнем шаге настройки вам предлагают сразу активировать настроенную область. Соглашаемся, и на этом заканчиваем настройку DHCP.
Активация области
Создаём нового пользователя в домене AD
Собственно настройка контроллера домена и различных сервисов уже фактически закончена, все параметры выставлены как надо. Теперь нужно просто зарегистрировать нового пользователя, от имени которого рабочая станция workstation будет выполнять вход в домен.
Для этого возвращаемся на панель мониторинга, кликаем на «Средства» и затем на «Пользователи и Компьютеры Active Directory»
В открывшемся меню можно заметить созданный домен mydomain.com и его состав. Видно, что помимо пользователей в домене созданы папочки для Computers, Domain Controllers и других сущностей. Но нас сейчас интересуют пользователи, поэтому кликаем правой кнопкой мышки на папке Users и выбираем «Создать» -> «Пользователь»
После этого появляется диалоговое окно с преложением ввести данные нового пользователя. По старой доброй традиции назовём пользователя Foo Bar. Обратите внимание, что пользователь отображается лишь как «Объект» в Active Directory наравне с другими объектами.
Новый объект — Пользователь
Теперь необходимо задать пароль и дополнительные параметры для пользователя. Пароль должен соответсовать политике паролей по-умолчанию, которая, в том числе, предписыват паролям в домене быть довольно сложными (должен использовать числа, буквы верхнего и нижнего регистра, а также спец символы).
Обычно администратор создаёт простой пароль для пользователя, а затем требует от пользователя сменить его при первом входе в систему (первая галочка в списке доступных опций). Это очень хорошая практика с точки зрения безопасности, ведь таким образом даже администратор AD не сможет узнать пароль пользователя. Также хорошей практикой считается ограничивать срок действия пароля. В этом туториале для простоты мы уберём требование о смене пароля пользователем при врходе в систему.
Параметры нового пользователя
После этого останется лишь подтвердить создание нового пользователя.
Подтверждение создания нового пользователя
Ну что ж, вот, кажется, и всё! Осталось лишь проверить ввод рабочей станции в домен.
Ввод рабочей станции в домен
Переключаемся на вторую машину workstation под управлением Windows 7 и заходим в свойства системы. Сейчас видно, что рабочая станция находится в рабочей группе (не в домене). Кстати говоря, WORKGROUP — это тоже NetBIOS-имя. Только в отличии от имени домена оно имеет суффикс 1E.
Щелкаем на кнопку «Изменить параметры», затем в появившемся окне ещё раз «Изменить…».
В окне изменения имени компьютера пишем, что он должен принадлежать домену mydomain.com.
Подключение к домену
Видим предупреждение о нестандартном имени компьютера (testo-ПК содержит кириллицу). Это связано с тем, что NetBIOS-имена не могут содеражать кириллицу. Но мы с вами настроили DNS-сервер (DNS настройки прилетели на рабочую станцию по DHCP), а DNS-механизм разрешения имён, как мы знаем, имеет приоритет перед NetBOIS. Так что в данном случае на работоспособность AD кириллица не влияет. Но на практике так делать не надо!
Нестандартное имя компьютера
Вводим логин-пароль от новой учетной записи FooBar и, наконец, видим заветное сообщение «Добро пожаловать в домен»
После ввода компьютера в домене необходимо перезагрузить компьютер, ну а дальше — вводим учётные данные пользователя в AD.
Логин в AD
И после успешного входа на рабочий стол перепроверяем свойства системы.
Новые свойства системы
Полное имя компьютера поменялось на testo-ПК.mydomain.com, а это значит, что мы успешно ввели рабочую станцию в домен mydomain.com.
Автоматизируем
Как вы могли заметить, весь туториал можно выполнить, пользуясь исключительно мышкой и клавиатурой. Больше того, нам даже не пригодились знания PowerShell, который позволяет выполнять бОльшую часть настройки контроллера домена AD с помощью скриптов.
Так почему бы не автоматизировать все действия с клавиатурой и мышкой, которые мы предпринимали? И нет, я говорю не об AutoIT, я говорю о платформе Testo, создателем которой я являюсь. Эта платформа позволяет фиксировать все действия, проводимые с виртуальными машинами, в виде скриптов на специальном языке Testo-lang. Ну а Testo затем превратит эти скрипты обратно в действия.
Я приведу лишь один скриншот с кусочком скрипта, чтобы у вас сложилось представление о том, о чём я говорю (да, именно скриншот, ведь хабр не умеет подсвечивать скриповый язык Testo-lang). Я даже не буду комментировать этот скрипт, т.к. верю, что код говорит сам за себя.
Секция скрипта на языке Testo-lang
Я не буду сейчас рассказывать о платформе Testo и о её возможностях. Для этого есть отдельная статья на хабре. Вместо этого предлагаю просто увидеть своими глазами, как это работает:
Всё, что Вам потребуется для создания собственного стенда с настроенной Active Directory — это:
- Установочный iso-образ Windows Server 2016 русской версии;
- Установочный iso-образ Windows 7 (придётся поискать самим);
- Скрипты на языке Testo-lang;
- Установленная платформа Testo (бесплатно);
- Выполнить команду.
sudo testo run ./tests.testo --param ISO_DIR /path/to/your/iso/dir
И всё. Как и я обещал — всего одна команда. Через пол часа — час (зависит от шустрости вашего компьютера) вы сможете наслаждаться своим готовым стендом.
Итоги
Надеюсь, вам понравился туториал, и вы нашли его полезным. Возможно, вас заинтересовала платформа Testo, в этом случае вот несколько полезных ссылок:
- сайт платформы Тесто.
- youtube-канал, где можно найти много примеров.
- основная статья на хабре
- статья, где я автоматизировал несколько системных тестов для Dr. Web
- скрипты на языке Testo-lang для этого туториала
В этой статье я бы хотел предложить вам пошаговый туториал по развёртыванию контроллера домена Active Directory на Windows Server 2016 (с графической оболочкой), а также по вводу рабочей станции в получившийся домен. Чем этот туториал может выделиться на фоне других:
- Вместо простого «Далее, Далее, кликаем сюда, вбиваем это» я постарался дать внятное объяснение каждому шагу, каждой настройке, которую предстоит выполнить. Помимо основных понятий Active Directory, DNS и DHCP вы также сможете найти много интересной информации по всем галочкам, которые вы часто видели, но не задумывались об их назначении.
- В конце статьи я предложу способ автоматизировать развёртывание получившегося стенда полностью с нуля, имея на компьютере только iso-образы ОС Windows 7 и Windows Server 2016. И никакого PowerShell. Всего одной командой.
Статья предполагает наличие у читателя лишь самых начальных знаний об устройстве сетей (на уровне «Что такое IP-адрес и DNS-адрес»).
Заинтересовало что-то из вышеперечисленного? Тогда погнали.
Туториал будет происходить не в вакууме, а на конкретном виртуальном стенде, состоящим из двух виртуальных машин:
Начальное состояние стенда:
- На машине windows_server уже установлена ОС Windows Server 2016 Standard Evaluation (с GUI). Машина находится в состоянии «сразу после установки ОС». В процессе туториала на ней будут развернуты службы Active Directory (с доменом mydomain.com), DNS и DHCP.
- Машина workstation выполняет роль рабочей станции. На ней установлена ОС Windows 7. Машина находится в состоянии «сразу после установки ОС». В процессе туториала она будет подключена к домену mydomain.com.
Туториал построен следующим образом (если вам интересен только конкретный пункт — смело кликайте прямо туда):
- Объясню, почему я выбрал именно такой стенд для туториала;
- Супер-краткое описание технологии Active Directory;
- Выполняется небольшая предварительная настройка windows_server;
- На windows_server производится включение необходимых компонентов;
- На windows_server происходит настройка контроллера домена AD (совместно с DNS);
- На windows_server происходит настройка сервера DHCP;
- На windows_server регистрируется новая учетная запись в AD;
- На workstation происходит подключение к домену.
В конце туториала вас ждет приятный бонус — я покажу вам как можно развернуть у себя на компьютере весь этот работающий стенд одной единственной командой. Вам понадобится только наличие двух установочных iso-образов (windows 7 и windows server 2016), да небольшой скрипт, ссылку на который я вам дам в конце статьи.
Почему такой стенд?
Такой стенд, с моей точки зрения, отлично подходит для первого самостоятельного «прощупывания» технологии Active Directory. Он минималистичен (всего 2 виртуальные машины), занимает минимум ресурсов, но при этом изолирован и самодостаточен. Его можно развернуть даже на довольно средненьком компьютере и ноутбуке. При этом на стенде уже присутствуют основные сетевые службы (AD + DNS). DHCP хоть и необязателен для функционирования AD, всё равно был добавлен в стенд в ознакомительных целях.
Disclaimer
Туториал предполагает подробный разбор всех шагов по настройке, с пояснениями «что, зачем и почему». Туториал ориентирован на людей, не слишком знакомых с технологиями Active Directory, DNS и DHCP, которые хотели бы немного узнать о внутренней кухне администрирования сетей с Active Directory.
Active Directory — это службы каталогов от компании Microsoft, как подсказывает нам Википедия. За этим сухим и невзрачным определением скрывается одна из важнейших технологий в администрировании сетей. Благодаря Active Directory администоратор сети получает очень удобное централизированное средство управления учетными записями пользователей, групповыми политиками (в т.ч. политиками безопасности) и объектами в сети (причём Active Directory без особых проблем справляется даже с гигантскими сетями). А благодаря встроенному механизму репликации, «положить» правильно настроенные сервисы AD не так-то просто. Ну и напоследок, благодаря Windows настроить Active Directory можно буквально мышкой, так что даже совсем начинающие IT-шники смогут с этим справиться.
Несмотря на то, что технологией заведует Microsoft, она вовсе не ограничивается управлением Windows-машин — все известные Linux-дистрибутивы уже давным давно научились работать с этой технологией. Повстречаться с Active Directory не просто, а очень просто — практически каждый офис предполагает наличие этой технологии, поэтому даже самым заядлым линуксоидам было бы неплохо разбираться в азах работы Active Directory.
Начинаем
Вы установили Windows Server 2016 и (надеюсь) видите следующий экран:
Эта панель — основное (графическое) средство администрирования Windows Server 2016. Здесь вы можете управлять компонентами и сервисами на вашем сервере (проще говоря, настраивать то, что умеет делать сервер). Эту же панель можно использовать и для базовых сетевых настроек Windows Server, для чего есть вкладка «Локальный сервер».
Базовые настройки Windows Server
Первое, что нужно сделать — это поменять сетевое имя сервера.
Сетевое имя (hostname) — это удобный способ идентификации узла в сети. Сетевое имя используется как альтернатива IP-адресу и позволяет не запоминать IP-адрес компьютера (при том, что этот адрес может меняться время от времени), а связываться с этим компьютером по его логическому названию.
Проблема в том, что по-умолчанию для Windows Server генерируется совершенно нечитаемое и неинформативное сетевое имя (я выделил его красным цветом на скриншоте).
Рабочии станции ещё могут позволить себе иметь нечитаемый Hostname, но никак не сервер. Поэтому я предлагаю поменять эту абракадабру его на что-то более разумное (например, на ADController), благо делается это быстро.
Смена сетевого имени
Нужно кликнуть на текущее имя сервера (отмечено красным цветом), затем во вкладке «Имя компьютера» нажать на кнопку «Изменить…», после чего ввести что-то более благоразумное:
После смены имени машину нужно будет перезагрузить.
Теперь зададим статический IP-адрес для сервера. В принципе это делать не обязательно, раз мы всё равно собрались поднимать DHCP службу, но на самом деле это хорошая практика, когда все ключевые элементы корпоративной сети имеют фиксированные адреса. Открыть меню по настройке сетевого адаптера можно из вкладки «Локальный сервер», кликнув на текущие настройки Ethernet-адаптера (тоже выделены красным цветом).
Настройки IP для интерфейса windows_server
Включаем нужные компоненты
Для нашего стенда нам понадобится включить следующие сервисы (или, как они тут называются, роли) на Windows Server:
- Доменные службы Active Directory;
- DNS-сервер;
- DHCP-сервер.
Пройдемся вкратце по каждому из них.
Доменные службы Active Directory
Эта роль фактически «включает» технологию Active Directory на сервере и делает его контроллером домена (под доменом в технологии AD понимается группа логически связанных объектов в сети). Благодаря этой роли администратор получает возможность управлять объектами в сети, а также хранить информацию о них в специальной распределенной базе данных.
Эта база данных содержит всю информацию об объектах в сети (например, именно в неё заносится информация об учётных записях пользователей). Когда человек подходит к рабочей станции и пытается выполнить вход в свою доменную учётную запись, эта рабочая станция связывается с контроллером домена с запросом на аутентификацию, и в случае успеха загружает пользовательский рабочий стол.
Однако, что же делать, если контроллер домена выйдет из строя (или просто будет недоступен для рабочих станций)? Если вы настроили только один контроллер домена, то дела ваши довольно плохи — без связи с рабочим контроллером домена пользователи не смогут выполнить вход на свои рабочие места. Поэтому в реальных сетях всегда рекомендуется устанавливать как минимум два контроллера на каждый домен. Каждый контроллер домена участвует в так называемом механизме репликации, благодаря чему все контроллеры домена имеют полную копию базы данных со всеми объектами в домене. Если по какой-то причине один из контроллеров выйдет из строя, его место всегда может занять резервный контроллер — и пользователи даже ничего не заметят.
Однако этот туториал рассчитан на простое ознакомление с технологией AD «на виртуалках», поэтому здесь не будет рассматриваться вопрос создания нескольких контроллеров AD в одном домене.
С этим пунктом все более менее понятно, а зачем же нам включать дополнительно ещё DNS-сервер?
DNS-сервер
Обычно протокол DNS (Domain Name System) используется для обращения к узлам в сети не по их IP-адресу, а по доменному имени (строковый идентификатор), что, конечно, гораздо удобнее. Другими словами, DNS чаще всего используется для разрешения доменных имен.
Но область применения протокола DNS не ограничивается только сопоставлением хостового имени и IP-адреса, что как раз подтверждает технология Active Directory. Дело в том, что Microsoft решила построить технологию Active Directory не с нуля, а на основе протокола DNS. В частности, протокол DNS используется при определении местонахождения всех ключевых сервисов Active Directory в сети. Другими словами, рабочая станция при подключении к контроллеру домена понимает, «куда» ей надо обращаться, именно с помощью протокола DNS.
Все DNS-записи (в том числе с информацией о сервисах Active Directory) хранятся на DNS-сервере, а это значит, что нам нужно заиметь свой собственный DNS-сервер! Вот только вопрос, откуда его взять? Есть два варианта:
- Использовать отдельную машину в роли DNS-сервера;
- Использовать саму машину windows_server в роли DNS-сервера.
Первый вариант, безусловно, самый правильный — именно так и надо поступать при реальном администрировании сетей (чем больше вы разносите логику по разным узлам в сети — тем лучше). Но в учебных целях я решил выбрать второй вариант (хотя бы потому, что не придётся создавать ещё одну виртуальную машину).
Именно поэтому эту роль (DNS-сервера) тоже нужно добавить к ролям машины windows_server.
Кстати, если не добавить роль «DNS-сервер» сейчас, то в будущем у вас ещё будет такая возможность при конфигурировании контроллера домена AD.
DHCP-сервер
Протокол DHCP (Dynamic Host Configuration Protocol) нужен для автоматической выдачи сетевых настроек узлам в сети. Под сетевыми настройками понимается IP-адрес, адрес шлюза по-умолчанию, адрес DNS-сервера, и ещё ряд других настроек. Этот протокол чрезвычайно удобен при администрировании сетей, особенно больших.
В этом туториале я использую протокол DHCP чтобы рабочая станция workstation могла получить сетевые настройки (в частности, адрес DNS-сервера) без каких-либо действий с моей стороны.
Протокол DHCP не имеет никакого отношения к технологии Active Directory, и можно было бы обойтись вовсе без него (достаточно прописать все сетевые настройки на рабочей станции самостоятельно), но я решил включить этот протокол в данный туториал просто для общего ознакомления. К тому же, такая связка «Контроллер AD — DNS-сервер — DHCP-сервер» довольно часто встречается в реальной жизни, потому что это очень удобный набор сервисов.
При этом вопрос о том, стоит ли выделять отдельную машину под DHCP-сервер, остаётся открытым. Для небольших сетей однозначно не стоит разносить DNS и DHCP-серверы по разным машинам, но для больших сетей, возможно, имеет все-таки смысл задуматься об этом. В нашей же крошечной сети мы абсолютно ничего не потеряем, если включим DHCP-сервер на той же машине, что и DNS-сервер.
Что ж, довольно теории, давайте лучше перейдём к включению этих самых ролей.
Мастер добавления ролей и компонентов
Возвращаемся на панель мониторинга (самый первый скриншот) и щелкаем на пункт «Добавить роли и компоненты». Вас поприветствует мастер добавления ролей и компонентов. Первый экран («Перед началом работы») пропускаем, он совсем неинтересный, а вот дальше идёт экран «Выбор типа установки»
Выбор типа установки
Нас устраивает значение по-умолчанию (Установка ролей или компонентов»), но интересен и второй пункт — он позволяет задействовать ещё одну возможность Windows Server — инфраструктуру виртуальных рабочих мест (Virtual Desktop Environment — VDI). Эта интереснейшая технология позволяет, буквально, виртуализировать рабочее место. То есть для пользователя создаётся виртуальное рабочее место, к которому он может подключаться через тонкий клиент. Пользователь лишь видит картинку, тогда как само рабочее место может совершенно прозрачно работать где угодно.
Впрочем, технология VDI это отдельная большая тема, а в этом туториале надо сосредоточиться на контроллере AD, так что кликаем «Далее» и видим экран выбора целевого сервера.
Выбор целевого сервера
Мастер добавления ролей позволяет устанавливать роль не только на текущую машину, но вообще на любой добавленный сервер, и даже на виртуальный жёсткий диск. Да, если ваша Windows Server развернута на виртуальной машине (а это довольно частое явление), то вы можете администрировать эту виртуальную машину даже не запуская её! Понаблюдать за этим процессом можно, например, здесь.
Нам же такая экзотика ни к чему, так что просто выбираем единственный возможный сервер (обратите внимание, что он теперь называется ADController место непонятной абракадабры), жмём «Далее» и, наконец, попадаем на экран выбора ролей, которые нужно добавить.
Выбор добавляемых ролей
Выбираем три роли, о которых уже говорили ранее, и продолжаем.
Выбор компонентов
Теперь необходимо выбрать дополнительные компоненты. В чём разница между ролью и компонентом, можете спросить вы? О, это не такой уж и лёгкий вопрос, честно говоря!
Согласно идеологии Microsoft, роль — это набор программ, которые позволяют компьютеру предоставлять некоторые функции для пользователей в сети. Например, DNS, DHCP, контроллер домена AD — это всё роли. А вот компоненты — это набор программ, которые улучшают либо возможности ролей сервера, либо самого сервера.
При этом глядя на список «Компонентов» так сходу и не скажешь, что какие-то вещи в списке лишь «вспомогательные». Вот например, DHCP-сервер расценивается как роль, а WINS-сервер — уже как компонент. А чем SMTP-сервер хуже DNS?
В общем-то, чёткой границы между ролью и компонентом не существует. Я лично предпочитаю относиться к ролям как к большим функциональным возможностям сервера, а к компонентам — как к небольшим дополнительным аддонам.
В любом случае, дополнительные компоненты нам не нужны, так что кликаем «Далее».
После этого идёт несколько пояснительных экранов с информацией по каждой добавленной роли, но эту информацию я уже разбирал, поэтому останавливаться лишний раз не буду.
Подтверждение устанавливаемых ролей и компонентов
На экране подтверждения ещё раз видим все устанавливаемые роли и компоненты, после чего жмём «Установить».
Остаётся лишь дождаться, когда заполнится progress-bar, и перейти к следующему пункту туториала — настройке контроллера домена AD.
Настраиваем контроллер домена Active Directory
Все роли и компоненты успешно добавлены, о чём свидетельствует следующий экран:
Вот только AD на сервере всё еще не работает — для этого его необходимо донастроить. Для этого нам настойчиво предлагают «Повысить роль этого сервера до уровня контроллера домена».
Погодите-ка, ЧТО?!
А чем же я занимался последние 15 минут? Я же добавлял роли, и судя по сообщению, они успешно добавились! И тут меня снова хотят заставить добавлять какие-то новые роли? В чем-то тут подвох.
Подвох тут действительно имеется, но вообще в не самом очевидном месте. Вот так выглядит предыдущий скриншот в английской версии Windows Server (картинка из интернета).
Английская версия скриншота
Видите разницу? В английской версии ни слова ни про какие роли! Про повышение есть, про роли — нет. Один из тех случаев, когда перевод вносит сумятицу на пустом месте. Согласно английской версии, никакими ролями мы дальше не занимаемся, что и логично, ведь мы их как раз только что добавили.
Что ж, тыкаем на предложение «Повысить роль этого сервера до уровня контроллера домена», и теперь нас приветствует мастер настройки доменных служб Active Directory с предложением выбрать конфигурацию развёртывания.
Конфигурация развёртывания
Всего тут есть 3 варианта развития событий. Для того, чтобы выбрать правильный пункт, давайте сначала разберёмся, что эти пункты означают. В этом нам поможет вот такая картинка (картинка, если что, отсюда):
Технология Active Directory (как и DNS) подразумевает иерархическое построение имён на основе доменов. Домены могут выстраиваться в доменные деревья по принципу «родительско-дочерних» отношений. В основе дерева лежит так называемый корневой домен (на картинке выше это sources.com, xyz.com и abc.com). При этом домен может иметь сколько угодно потомков. Домен-потомок располагается в просранстве имён родителя и является его «поддоменом» (subdomain). У доменного имени домена-потомка есть дополнительный префикс относительно доменного имени родителя (rus.abc.com, eng.abc.com). Один корневой домен основывает только одно доменное дерево со своим независимым пространством имён.
Теперь представьте, что таких независимых деревьев может быть много — в этом случае эти деревья образуют структуру, которая называется «лес». При этом в Active Directory доменные деревья не могут быть «сами по себе» — они обязательно должны находиться в лесу (даже если лес будет состоять всего из одного-единственного домена). Первый домен, который добавляется в лес, называется корневым доменом леса (на рисунке выше это sources.com). Корневой домен леса используется для идентификации всего леса (то есть если корневой домен называется sources.com, то и весь лес называется sources.com).
Теперь возвращаемся к мастеру настройки доменных имен. На этом этапе мастер предлагает следующие варианты:
- Добавить контроллер домена в существующий домен (помните про резервирование контроллеров в домене, так ведь?). Этот вариант не для нас, ведь домена ещё никакого нет;
- Добавить новый домен в лес. Этого мы тоже сделать не можем, т.к. и леса у нас тоже никакого нет;
- Добавить новый лес. Это вариант как раз для нас. При этом нам тут же предлагают выбрать корневой домен для этого леса (первый домен, который будет создан в лесу).
Назовём корневой домен mydomain.com и кликнем «Далее»
Параметры контроллера домена
Рассмотрим возможные параметры:
- Режим работы леса и домена. Домены в одном лесу могут работать в разных режимах в зависимости от версии Windows Server на борту. Лес должен иметь режим не выше, чем самый «старый» домен в его составе. Т.к. мы планируем использовать только Windows Server 2016, то оставим этот режим и для леса и для домена;
- DNS-сервер. Если ранее Вы не активировали роль DNS-сервера в мастере добавления ролей, то можете сделать это сейчас (вам даже предложат такой вариант по-умолчанию);
- Должен ли контроллер домена выступать в роли Global Catalog-сервера;
- Включить ли режим базы данных Active Directory «только на чтение». Основная задача, которую преследует технология RODC — возможность безопасной установки собственного контролера домена в удаленных филиалах и офисах, в которых сложно обеспечить физическую защиту сервера с ролью DC. Контроллер домена RODC содержит копию базы Active Directory, доступную только на чтение. Это означает, что никто, даже при получении физического доступа к такому контроллеру домена, не сможет изменить данные в AD (в том числе сбросить пароль администратора домена) (информация взята [отсюда].(https://winitpro.ru/index.php/2017/11/08/ustanovka-rodc-kontrollera-domena-na-windows-server-2016/))
А вот пункт 3 рассмотрим поподробнее, он довольно интересный.
Как я уже упоминал выше, каждый контроллер домена имеет полную и исчерпывающую информацию обо всех объектах в своём домене. Если же в домене несколько контроллеров, то они ещё и участвуют в механизме репликации, поддерживая несколько актуальных копий базы данных с объектами домена. Получается, что рабочая станция в домене может узнать информацию о любом объекте из этого домена от своего ближайшего контроллера домена.
Но что же делать, если рабочей станции нужно получить информацию об объекте из другого домена? И вот тут в дело вступает ещё один важнейший механизм технологии Active Directory, который называется глобальный каталог.
Что такое вообще «Глобальный каталог»? Согласно Miscrosoft — это распределенное хранилище данных, которое хранит частичное представление обо всех AD-объектах в лесу. Это хранилище располагается на котроллерах домена, которые имеют дополнительную роль «Global Catalog Server» (Сервер глобального каталога). От обычного контроллера домена GC-сервер отличается в первую очередь тем, что помимо полной копии всех объектов в своем домене, хранит также частичную информацию обо всех объектах в других доменах леса.
Чего это позволяет достичь? Давайте представим, что рабочая станция запросила информацию об объекте из другого домена. Она обращается на ближайший GC-сервер с просьбой предоставить ей информацию об этом объекте. GC-сервер, в свою очередь, может:
- Либо отдать рабочей станции нужную информацию сразу (если эта информация у GC-сервера имеется);
- Либо перенаправить запрос к нужному контроллеру домена, где эта информация точно будет находиться. Чтобы понять, какому контроллеру домена нужно перенаправить запрос, как раз и происходит поиск по GC.
Информация о том, какие атрибуты попадают в глобальный каталог, определена в Partial Attribute Set (PAS), который может настраивать администратор AD. Например, если администроатр понимает, что рабочие станции часто будут обращаться к атрибуту, который не содержится в глобальном каталоге, он может добавить туда этот атрибут. Тогда запросы рабочих станций при чтении этого атрибута будут выполняться значительно быстрее, т.к. уже ближайший GC-сервер сможет предоставить им всю нужную информацию
Однако, если в лесе всего один домен (как у нас), то Глобальный каталог содержит полную копию объектов в домене и всё.
Что ж, возвращаемся к галочке GC, которую за нас уже проставил мастер настройки доменных служб. Если вы попробуете её отключить, то убедитесь, что отключить её нельзя. Это связано с тем, что каждый домен в AD должен иметь хотя бы один GC-сервер, и при добавлении первого контроллера в домен этот контроллер сразу помечается как GC-сервер.
Что ж, давайте согласимся с этим «выбором» мастера и перейдём к последнему параметру на этом скриншоте — к паролю для режима восстановления служб каталогов. Это особый режим безопасной загрузки Windows Server, который позволяет администратору работать с базой данных AD. Этот режим применяется, например, в следующих случаях:
- база Active Directory повреждена и нуждается в исправлении;
- требуется выполнить обслуживание базы данных AD (сжатие, анализ на наличие ошибок);
- требуется восстановить резервную копию базы данных AD;
- требуется сменить пароль администратора.
Да да, вы не ослышались. Чтобы просто восстановить резервную копию базы данных, нужно перезагрузить машину и загрузиться в особом «безопасном» режиме. Это вам не Linux какой-нибудь.
Фух, вроде разобрались. Давайте перейдем дальше на шаг, где нам предложат настроить делегирование DNS.
Делегирование DNS
Что такое делегирование DNS? По большей части, это передача ответственности за некоторую DNS-зону отдельному DNS-серверу. Это распространенная практика в больших сетях, в которых требуется разграничить зоны ответственности за доменные зоны между различными серверами. При делегировании DNS в «главный» DNS-сервер вносится запись о том, что «вот за эту DNS-зону несёт ответственность вон тот DNS-сервер, обращайся туда».
Т.к. у нас всего одна зона DNS и DNS-сервер тоже один, то этот шаг нам необходимо пропустить и перейти к выбору NetBIOS-имени.
NetBIOS-имя
Мы видим, что мастер предложил нам на выбор сразу же имя для нашего домена — MYDOMAIN. Но вы можете (и должны) задать себе вопрос: а что такое вообще NetBIOS-имя и зачем оно нужно? И разве мы уже не настраивали сетевое имя узла (Hostname) в самом начале? Чего же от вас хотят?
NetBIOS (Network Basic Input/Output) — это ещё один способ разрешения имён узлов в сети (более древний и более примитивный, чем DNS). NetBIOS-имена не предполагают никакой иерархии, их длина ограничивается всего лишь 16 символами, и они применяются только для разрешения имён компьютеров в локальной сети. Когда мы в самом начале туториала выбрали сетевое имя ADController — мы, на самом деле, задали именно NetBIOS-имя для сервера. Но теперь от нас снова требуют выбрать NetBIOS-имя (да ещё и другое, отличное от ADContoller). Не много ли NetBIOS-имён для одного компьютера?
Дело в том, что Microsoft пошла ещё дальше — и ограничила длину NetBIOS-имен не 16 символами, а 15 символами. 16-ый символ при этом считается зарезервированным суффиксом, который может принимать фиксированные значения. В зависимости от значения 16-го байта получаются разные классы NetBIOS-имён. Например, если суффикс равен 00, то NetBIOS-имя относится к рабочей станции. Если суффикс равен 1С, то это имя относится к имени домена.
То есть, как вы понимаете, на первом шаге мы задавали NetBIOS-имя для компьютера Windows Server (с суффиком 00). А теперь задаём NetBIOS-имя домена mydomain.com (с суффиксом 1С).
Кстати, можете, ради интереса, отмотать туториал в самое начало и посчитать количество символов в «нечитаемом» автоматически сгенерированном сетевом имени windows_server. Будет как раз 15 символов (максимальная длина NetBIOS-имени).
И напоследок скажу, что вы не можете пропустить этот шаг. NetBIOS хоть и устаревшая технология, но до сих пор используется ради совместимости с некоторыми старыми службами. Настроить контроллер домена Active Directory без NetBIOS-имени нельзя.
Что ж, и с этим тоже разобрались. Оставляем NetBIOS-имя по-умолчанию и двигаемся дальше, к выбору места расположения базы данных AD. Можно оставить значение по-умолчанию, комментировать особо нечего.
Расположение базы данных
Все ваши настройки должны пройти предварительную проверку:
Проверка предварительных требований
Как только всё готово, жмите «Установить» и можете спокойно идти пить чай, потому что после установки автоматически начнётся очень-очень долгая перезагрузка. Зато настройка контроллера домена AD на этом закончена, поздравляю!
Настройка DHCP-сервера
Пришло время заняться настройкой DHCP-сервера. Настройка глобально состоит из двух частей:
- Авторизация DHCP-сервера в домене AD. Не каждый DHCP-сервер может раздавать сетевые настройки в домене AD — только авторизованные. Это сделано с целях безопасности, чтобы другие DHCP-серверы не могли «подсунуть» неправильные настройки компьютерам в домене;
- Настройка новой DHCP-области. Это уже непосредственно настройка самого DHCP-сервера, в ходе которой определяются какие сетевые настройки будут выдаваться компьютерам в сегменте сети.
Для того, чтобы авторизировать DHCP-сервер, нужно вернуться на панель мониторинга (она и так должна быть перед вами после перезагрузки), перейти на вкладку DHCP (слева) и кликнуть на предложение донастроить DHCP-сервер:
Запуск авторизации DHCP-сервера
В открывшемся мастере настройки DHCP после установки пропускаем первый приветственный экран и переходим к экрану авторизации
Авторизация DHCP-сервера в домене
На выбор предлагаются три варианта:
- Использовать учётные данные администратора (по-умолчанию)
- Использовать учётные данные другого пользователя;
- Пропустить авторизацию AD.
По-умолчанию авторизовать DHCP-сервер в домене могут только члены группы EnterpriseAdmins, куда как раз и входит пользователь MYDOMAINАдминистратор. При желании можно потратить немного времени и делегировать эту возможность админам «помельче» (региональным администраторам), почерпнуть больше информации по этой теме можно отсюда.
Итак, выбираем вариант по-умолчанию и завершаем первый этап настроки DHCP-сервера.
Завершение авторизации DHCP-сервера
Теперь переходим непосредственно к настройкам DHCP. Для этого на панели мониторинга кликаем вкладку «Средства» и выбираем пункт «DHCP»
В открывшемся окне с настройками DHCP нужно кликнуть правой кнопкой мышки на IPv4 и затем на пункт меню «Создать область». После этого откроется мастер создания новой области.
Открытие мастера создания новой области
Что такое DHCP-область? Под этим понимается некий диапазон IP-адресов, которые может выдавать DHCP-сервер другим компьютерам в сети. Каждая область помимо диапазона IP-адресов также содержит другие сетевые настройки, с которыми мы сейчас и познакомимся.
Назовём DHCP-область SCOPE1 и перейдём дальше.
На следующем экране вам предложат выбрать диапазон адресов, которые будут выдаваться компьютерам в сети. Ранее я настраивал сетевой интерфейс на Windows Server, выдав ему адрес 192.168.1.1/24. Это статический адрес и он зарезервирован, его выдавать другим компьютерам нельзя.
Зато никто не мешает выдавать все остальные адреса в сети 192.168.1.0/24 — так что задаём диапазон от 192.168.1.2 до 192.168.1.254 (192.168.1.255 — это зарезервированный широковещательный адрес, его выдавать тоже нельзя).
Настройка диапазона адресов
В целом, никто не мешает вам как администратору выдавать меньше IP-адресов, чем доступно в адресации сети. Например, можно было бы выделить в сети всего 100 адресов для автоматической выдачи: 192.168.1.101-192.168.1.200.
Переходим далее и видим предложение о выборе исключений из указанонного диапазона адресов, а также о настройке задержки при передаче сообщения DHCPOFFER
Исключения в диапазоне и задержка DHCPOFFER
С исключениями всё более-менее понятно: если вы не хотите выдавать некоторые адреса в указанном ранее диапазоне, то вы можете указать эти адреса здесь в виде исключений. А что за задержка в DHCPOFFER такая?
Эта настройка уже относится к довольно продвинутому администрированию сетей: если в вашей сети есть несколько DHCP-серверов, то с помощью этой задержки вы можете регулировать нагрузку между ними (подробнее можно прочитать, например, тут).
В любом случае, исключений в диапазоне у нас нет, да и задержка по-умолчанию нас устраивает, так что кликаем дальше и видим настройку сроков аренды адресов.
Настройка времени аренды адресов
Протокол DHCP предполагает выделение адресов только на определённое время, после чего компьютеры должны продлять аренду. Здесь можно настроить это время (по-умолчанию — 8 дней).
8 дней меня лично вполне устраивает, так что кликаем «Далее» и видим предложение настроить другие настройки, которые будут получать клиенты в сети (помимо IP-адреса). Соглашаемся.
Настроить дополнительные параметры
Первая сетевая настройка для клиентов — это шлюз по-умолчанию. В стенде из двух виртуальных машин эта настройка в принципе не нужна. Но можно представить, что windows_server будет играть роль шлюза во внешнюю сеть, и добавить адрес 192.168.1.1 как шлюз по-умолчанию.
Шлюз по-умолчанию
Далее идет настройка DNS. Здесь можно задать имя родительского домена и адреса DNS-серверов. С адресами DNS-серверов всё более-менее понятно — это IP-адреса серверов, куда следует обращаться клиентам за помощью в разрешении DNS-имён. Сейчас в этом списке фигурирует тот же адрес, что мы добавили как шлюз по-умолчанию.
А вот для понимания имени родительского домена, рассмотрим следующую ситуацию.
Допустим, есть домен mydomain.com и есть два компьютера в этом домене с именами comp1.mydomain.com и comp2.mydomain.com. Если comp1 хочет связаться с comp2, то он должен, по-хорошему, использовать следующую команду (обращение по Fully Qualified Domain Name — FQDN):
ping comp2.mydomain.com
Но задумывались ли вы когда-нибудь, что именно произойдет, если попытаться пропинговать другой узел следующим образом?
ping comp2
На самом деле, в этом случае начинается целая магия — очень хитрый процесс разрешения имён (картинка из интернетов).
Процесс разрешения сетевых имён
- Поиск информации в hosts.txt или в кеше;
- Попытка найти имя через DNS;
- Попытка найти NetBIOS-имя в кеше;
- Попытка найти NetBIOS-имя через WINS-сервер;
- Попытка найти NetBIOS-имя путём отправки широковещательных пакетов в локальную сеть;
- Попытка найти NetBIOS-имя в LMHOSTS-файле.
Согласно алгоритму разрешения сетевых имен, сначала comp1 попробует найти информацию о comp2 в hosts.txt — файле. Если этой информации там не окажется, то начинается процесс поиска узла через DNS. Вот только вопрос — DNS-имена же находятся в каком-то домене, верно? Какое доменное имя нужно «пристыковать» к comp2 при выполнении пинга?
Вот тут в дело и вступает настройка DHCP, которая называется «имя родительсокго домена». Это как раз тот суффикс, который будет автоматически «пристыкован» к имени comp2 при выполнении DNS-разрешения имени. Так что если имя родительского домена равно «mydomain.com», то команда ping comp2
неявно преобразуется в ping comp2.mydomain.com
.
Если же DNS-разрешение окажется неудачным, дальше начнутся попытки найти comp2 уже по NetBIOS-имени. Что такое WINS, и чем он отличается от Broadcast — информация будет чуть дальше по тексту.
Что ж, в нашем случае имя родительсокго домена должно быть mydomain.com (значение по-умолчанию), а нужный DNS-сервер уже находится в списке, так что в итоге просто кликаем «Далее».
Настройки DNS
Теперь нас попросят указать настройки WINS-сервера. WINS (Windows Internet Name Service) сервер участвует в разрешении NetBIOS-имён в сети (прямо как DNS-сервер для DNS-имён). Вот только, в отличие от DNS, WINS-сервер не обязательно должен присутствовать в сети, чтобы разрешение NetBIOS-имён работало. Так зачем же он нужен тогда?
Дело в том, что по-умолчанию разрешение NetBIOS-имен происходит через широковещательные запросы. С одной стороны, это очень простой механизм (проще не придумаешь), но, с другой стороны, обладает парой недостатков:
- При наличии большого количества NetBIOS-имён в сети широковещательный тафик может начать «зашумлять» канал;
- Широковещательные запросы не могут «выйти» за пределы текущей сети, поэтому узнать NetBIOS-имя из другой сети таким способом не выйдет.
Так вот, WINS-сервер позволяет решить обе этих проблемы. Этот сервер централизованно хранит NetBIOS-имена компьютеров, и обычные узлы в сети могут обращаться к нему для поиска IP-адреса интересующего их имени (как и для DNS). Такой подход, во-первых, резко уменьшает количество широковещательного трафика в сети, а, во-вторых, позволяет посылать NetBIOS-запросы в другие сети, а не только в текущую.
В нашей небольшой сети WINS-сервер нам ни к чему, поэтому просто пропускаем эту настройку и едем дальше.
WINS-серверы
В последнем шаге настройки вам предлагают сразу активировать настроенную область. Соглашаемся, и на этом заканчиваем настройку DHCP.
Активация области
Создаём нового пользователя в домене AD
Собственно настройка контроллера домена и различных сервисов уже фактически закончена, все параметры выставлены как надо. Теперь нужно просто зарегистрировать нового пользователя, от имени которого рабочая станция workstation будет выполнять вход в домен.
Для этого возвращаемся на панель мониторинга, кликаем на «Средства» и затем на «Пользователи и Компьютеры Active Directory»
В открывшемся меню можно заметить созданный домен mydomain.com и его состав. Видно, что помимо пользователей в домене созданы папочки для Computers, Domain Controllers и других сущностей. Но нас сейчас интересуют пользователи, поэтому кликаем правой кнопкой мышки на папке Users и выбираем «Создать» -> «Пользователь»
После этого появляется диалоговое окно с преложением ввести данные нового пользователя. По старой доброй традиции назовём пользователя Foo Bar. Обратите внимание, что пользователь отображается лишь как «Объект» в Active Directory наравне с другими объектами.
Новый объект — Пользователь
Теперь необходимо задать пароль и дополнительные параметры для пользователя. Пароль должен соответсовать политике паролей по-умолчанию, которая, в том числе, предписыват паролям в домене быть довольно сложными (должен использовать числа, буквы верхнего и нижнего регистра, а также спец символы).
Обычно администратор создаёт простой пароль для пользователя, а затем требует от пользователя сменить его при первом входе в систему (первая галочка в списке доступных опций). Это очень хорошая практика с точки зрения безопасности, ведь таким образом даже администратор AD не сможет узнать пароль пользователя. Также хорошей практикой считается ограничивать срок действия пароля. В этом туториале для простоты мы уберём требование о смене пароля пользователем при врходе в систему.
Параметры нового пользователя
После этого останется лишь подтвердить создание нового пользователя.
Подтверждение создания нового пользователя
Ну что ж, вот, кажется, и всё! Осталось лишь проверить ввод рабочей станции в домен.
Ввод рабочей станции в домен
Переключаемся на вторую машину workstation под управлением Windows 7 и заходим в свойства системы. Сейчас видно, что рабочая станция находится в рабочей группе (не в домене). Кстати говоря, WORKGROUP — это тоже NetBIOS-имя. Только в отличии от имени домена оно имеет суффикс 1E.
Щелкаем на кнопку «Изменить параметры», затем в появившемся окне ещё раз «Изменить…».
В окне изменения имени компьютера пишем, что он должен принадлежать домену mydomain.com.
Подключение к домену
Видим предупреждение о нестандартном имени компьютера (testo-ПК содержит кириллицу). Это связано с тем, что NetBIOS-имена не могут содеражать кириллицу. Но мы с вами настроили DNS-сервер (DNS настройки прилетели на рабочую станцию по DHCP), а DNS-механизм разрешения имён, как мы знаем, имеет приоритет перед NetBOIS. Так что в данном случае на работоспособность AD кириллица не влияет. Но на практике так делать не надо!
Нестандартное имя компьютера
Вводим логин-пароль от новой учетной записи FooBar и, наконец, видим заветное сообщение «Добро пожаловать в домен»
Авторизация в домене
После ввода компьютера в домене необходимо перезагрузить компьютер, ну а дальше — вводим учётные данные пользователя в AD.
Логин в AD
И после успешного входа на рабочий стол перепроверяем свойства системы.
Новые свойства системы
Полное имя компьютера поменялось на testo-ПК.mydomain.com, а это значит, что мы успешно ввели рабочую станцию в домен mydomain.com.
Автоматизируем
Как вы могли заметить, весь туториал можно выполнить, пользуясь исключительно мышкой и клавиатурой. Больше того, нам даже не пригодились знания PowerShell, который позволяет выполнять бОльшую часть настройки контроллера домена AD с помощью скриптов.
Так почему бы не автоматизировать все действия с клавиатурой и мышкой, которые мы предпринимали? И нет, я говорю не об AutoIT, я говорю о платформе Testo, создателем которой я являюсь. Эта платформа позволяет фиксировать все действия, проводимые с виртуальными машинами, в виде скриптов на специальном языке Testo-lang. Ну а Testo затем превратит эти скрипты обратно в действия.
Я приведу лишь один скриншот с кусочком скрипта, чтобы у вас сложилось представление о том, о чём я говорю (да, именно скриншот, ведь хабр не умеет подсвечивать скриповый язык Testo-lang). Я даже не буду комментировать этот скрипт, т.к. верю, что код говорит сам за себя.
Секция скрипта на языке Testo-lang
Всё, что Вам потребуется для создания собственного стенда с настроенной Active Directory — это:
- Установочный iso-образ Windows Server 2016 русской версии;
- Установочный iso-образ Windows 7 (придётся поискать самим);
- Скрипты на языке Testo-lang;
- Установленная платформа Testo (бесплатно);
- Выполнить команду.
sudo testo run ./tests.testo --param ISO_DIR /path/to/your/iso/dir
И всё. Как и я обещал — всего одна команда. Через пол часа — час (зависит от шустрости вашего компьютера) вы сможете наслаждаться своим готовым стендом.
Итоги
Надеюсь, вам понравился туториал, и вы нашли его полезным. Возможно, вас заинтересовала платформа Testo, в этом случае вот несколько полезных ссылок:
- сайт платформы Тесто.
- youtube-канал, где можно найти много примеров.
- основная статья на хабре
- статья, где я автоматизировал несколько системных тестов для Dr. Web
- скрипты на языке Testo-lang для этого туториала
Возможно вам будет интересно —Подборка бесплатных программ для мониторинга сети и серверов
источник
Теперь давайте рассмотрим некоторые другие элементы, которые идут рука об руку с безопасностью — улучшения в стеке идентификаторов Windows Server 2016.
Содержание:
- 1 Идентификаторы Windows Server 2016
- 1.1 Privileged Access Management
- 1.2 Azure Active Directory Join
Идентификаторы Windows Server 2016
Microsoft в этом релизе сосредоточилась на улучшении трёх основных областей:
- Privileged Access Management
- Azure Active Directory Join
- Microsoft Passport
Давайте, чтобы объяснить новые внедрённые в платформу вещи, рассмотрим каждую из этих тем чуть глубже.
Privileged Access Management
Мир кибер-угроз с каждым днём усложняется, и поскольку в большинстве случаев эта угроза невидимая, для смягчения любой вероятной возможности, нам необходимо думать о безопасности на разных уровнях. Для облегчения общих угроз кражи учётных данных, таких как pass-the-hash, spishing phishing и т. д., был введён PAM. PAM требует развёртывания Microsoft Identify Manager (MIM).
Подробнее. Для получения информации о внедрении и развёртывании MIM перейдите на https://aka.ms/vaz62m .
Хотелось бы верить, что большинство сред Active Directory полностью очищены от злонамеренной деятельности, но на самом деле быть в этом на 100 процентов уверенными мы не можем. По этой причине одна из первых вещей, что реализует PAM — это новый бастион областей, в которых он может гарантировать, что свободен от злонамеренной деятельности. Существует особый тип доверия, называемый PAM Trust. Эта бастионная область, во время первоначального развёртывания, обеспечивается MIM. На рисунке ниже показана базовая концепция новой области и установленного доверительного управления PAM.
Новая бастионная область и PAM Trust в PAM
PAM предоставляет возможность изолировать использование привилегированных учётных записей, сохраняя их в этой бастионной области и затрудняя для злоумышленников получение привилегированного доступа. MIM используется для предоставления пользователям возможности, по мере необходимости, безопасно запрашивать и получать административные привилегии. После «одобрения» рабочими процессами MIM, в бастионной области предусмотрен теневой принцип безопасности. Эти теневые принципы безопасности «связаны» ссылкой, которая хранится в атрибуте Active Directory, и по существу указывает на идентификатор SID привилегированной группы исходной области.
Пользователи могут запрашивать привилегированный доступ следующими способами:
- MIM Services Web API
- REST Endpoint
- Windows PowerShell (с помощью командлета New-PAMRequest)
Эти простые методы обеспечения дальнейшего контроля над общим процессом могут быть интегрированы в другие инструменты, такие как автоматические рабочие книги и системы продажи билетов.
Ранее мы упомянули концепции и технологии JIT и JEA, PAM способ реализации это концепции для вашей среды. Подобно JIT и JEA, PAM предоставляет временные привилегии для учётной записи запроса и, конечно же, связывает её с привилегированной группой, которая имеет необходимые для выполнения задачи разрешения.
А также, чтобы гарантировать минимальное значение Time-to-Live (TTL), вы можете настроить срок службы Kerberos. Таким образом, если вы входите в систему и получаете билет Kerberos, срок его службы будет привязан к времени, оставшемуся от того общего количества, на которое PAM предоставил вам доступ к привилегированной группе.
PAM, для обеспечения более глубокого понимания того, кто запрашивал доступ, какой тип доступа был фактически предоставлен, и, что более важно, какие действия выполнял этот человек во время назначения привилегированного доступа, имеет множество новых функций мониторинга.
Вы можете просмотреть эту информацию в MIM или в средстве просмотра событий, или, если вы уже подготовили System Center Operations Manager 2012 и используете Audit Collection Services, вы можете создать визуализацию информации. Другие сторонние инструменты и Operations Management Suite (OMS) также смогут в будущем визуализировать информацию.
Azure Active Directory Join
Когда предприятия начинают работать с облаком, а сама работа становится мобильной, управление имуществом, которое редко затрагивает корпоративную сеть, может стать затруднительным. Существует множество других возникающих проблем, например, как предоставить доступ к организационным ресурсам на некорпоративном устройстве. Независимо от сложности задач Azure Active Directory (AD Azure), Domain Join — ещё одна особенность Windows Server 2016, позволяющая повысить общий опыт идентификации и предоставления новых возможностей как для корпоративных, так и для персональных устройств. Следующий рисунок демонстрирует возможности Azure AD Join.
Azure AD Join
Вот некоторые из преимуществ, которые сегодня доступны в Azure AD:
- Наличие современных параметров
На любом подключённом к домену Windows или присоединённом к Azure AD Tenant устройстве, теперь вы можете получить доступ к настройкам корпоративных учётных данных, таким как:
- Роуминг или персонализация, параметры доступности и учётные данные
- Бэкап и восстановление
- Доступ к Магазину Windows с корпоративными учётными данными
- Живые плитки и уведомления
- Доступ к организационным ресурсам
На любом устройстве, которое не может быть подключена к домену традиционно. Теперь можно предоставить доступ к корпоративным ресурсам.
- Единый вход (SSO)
Обеспечивает возможность единого входа в Microsoft Office 365, внутренние ресурсы, решения Software as a Service (SaaS) и так далее.
- Оборудование Bring Your Own Device (BYOD)
На персональных устройствах, где необходимо получить доступ к корпоративным ресурсам, теперь можно указать рабочую учётную запись, с которой получить доступ к этим ресурсам и использовать новые технологии, такие как Conditional Access.
- Интеграция MDM
Предоставляет возможность сценарию BYOD, с помощью Mobile Device Management (MDM), например Microsoft Intune, стать корпоративно управляемым ресурсом.
- Kiosk Mode для нескольких пользователей
Для того, чтобы много пользователей могло работать с одним современным приложением, вы можете настроить устройство в режиме киоска. Например, как приложение на ресепшен предприятия.
- Опыт разработчиков
Позволяет разработчикам создавать приложения, которые могут обслуживать бизнес и персональное использование в одном стеке
- Обработка образов
Для получения корпоративного образа или настройки корпоративных политик во время первого запуска, дайте контроль конечным пользователям.
Даже если всё так хорошо, почему вы вдруг должны начать использовать Azure AD Join? На самом деле, для этого может быть множество причин, что зависит от вашей организации.
Например, если ваша организация — это предоставляющая пользователям возможность использования своих собственных ноутбуков или персональных компьютеров мобильная стартап-организация, подключение к Azure AD Join, сэкономит время и силы для развёртывания корпоративной политики. Это также верно для более крупных организаций, которые хотят завоевать новые рынки и обойти трудности, имеющие место при отправке машин из корпоративного в удалённые офисы.
Другая возможность — учебные заведения и решения электронной почты, такие как те, что предлагаются облачным Office 365. Эти учреждения могут управлять своими пользователями в Azure AD, предоставлять доступ к облачной электронной почте и контролировать доступ к другим ресурсам, например, Microsoft SharePoint Online.
И наконец важно подчеркнуть не только вариации различных методов и как в них будут затронуты пользователи, но и то, что они смогут сделать. В таблице ниже перечислены некоторые из ключевых различий.
Таблица: вариации разных методов «соединения»
Корпоративное устройство (присоединение к локальному домену) | Корпоративное устройство (присоединённое к облаку) | Персональное устройство |
Пользователи могут войти в Windows под рабочими учётными данными (как они это делают сегодня). | Пользователи могут войти в Windows под рабочими учётными данными, которые управляются в Azure AD. Это актуально для корпоративных устройств в трёх случаях:
|
Пользователи могут войти в Windows под своими личными учётными данными Microsoft (без изменений). |
Пользователи имеют доступ к настройкам роуминга и корпоративному хранилищу Windows. Эти службы работают с рабочими учётными записями и не требуют персональной учётной записи Microsoft. Это требует от организаций подключения их локального Active Directory к Azure AD. | Пользователи могут выполнить настройку самообслуживания. Они могут получить первый навык (FRX) в своей рабочей учётной записи, как альтернативное резервирование устройств, хотя поддерживаются оба метода. | Пользователи могут легко добавить управляемую рабочую учётную запись в Active Directory или Azure AD. |
Пользователи SSO имеют возможность с рабочего стола, работать с приложениями, веб-сайтами и ресурсами, включая как локальные ресурсы, так и облачные приложения, использующие для аутентификации Azure AD. | Устройства автоматически регистрируются в директории предприятия (Azure AD) и в управлении мобильными устройствами. (Функция Azure AD Premium). | Пользователи SSO могут использовать приложения и веб-сайты/ресурсы под этой учётной записью. |
Пользователи, для доступа к своим личным изображениям и файлам, не затрагивая данные предприятия, могут добавлять свои личные учётные записи Microsoft. (Настройки роуминга продолжают работать со своими рабочими учётными записями.) Учётная запись Microsoft делает SSO возможным и больше не требует настроек роуминга. | Пользователи могут сбросить пароль самообслуживания (SSPR) на winlogon, то есть, они могут сбросить забытый пароль. (Функция Azure AD Premium). | Пользователи имеют доступ к корпоративному хранилищу Windows, и могут приобретать и использовать бизнес-приложения на своих персональных устройствах. |
На чтение 8 мин. Просмотров 807 Опубликовано 22.04.2021
Есть два способа управления клиентскими и серверными машинами в домашней или бизнес-среде, включая инфраструктуру рабочей группы и домена. Рабочая группа – это децентрализованная сетевая инфраструктура, используемая для домашних сетей и сетей малого бизнеса до 10 машин. Рабочей группе не требуется выделенный сервер для управления машинами, каждая машина имеет свою учетную запись пользователя. С другой стороны, доменная инфраструктура – это централизованная сетевая инфраструктура, которая поддерживает тысячи машин. Для реализации доменной инфраструктуры вам потребуется приобрести как минимум один сервер, который будет действовать как доменные службы Active Directory и службы доменных имен. После внедрения AD DS и DNS вам нужно будет присоединить все машины в сети к вашему домену и создать учетные записи пользователей домена для каждого пользователя. В следующий раз пользователь войдет в систему, используя учетную запись пользователя домена, а не учетную запись локального пользователя. Использование доменной инфраструктуры дает множество преимуществ, включая централизованное и упрощенное управление, отказоустойчивость, одну учетную запись пользователя для множества служб и другие. Некоторые пользователи приветствовали проблему при входе в домен, включая ошибку: Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом.
Эта проблема возникает в клиентских и серверных операционных системах, от Windows XP до Windows 10 и от Windows Server 2003 до Windows Server 2016. Там Существуют разные причины возникновения этой проблемы, в том числе проблема с учетной записью пользователя, проблема во взаимоотношениях между клиентом и сервером домена и другие. Для этой статьи я создал инфраструктуру домена appuals.com на Windows Server 2008 R2 и Windows Server 2016.
Есть семь методов, которые помогут вам решить эту проблему.
Содержание
- Метод 1. Проверьте конфигурацию DHCP
- Метод 2: повторно присоединиться к компьютеру из домена
- Метод 3. Восстановите доверие с помощью PowerShell
- Метод 4. Добавьте контроллер домена в диспетчер учетных данных
- Метод 5. Используйте Netdom.exe для сброса учетной записи компьютера Пароль
- Метод 6: сбросить учетную запись компьютера
- Метод 7. Выполнение восстановления системы
Метод 1. Проверьте конфигурацию DHCP
Добавили ли вы новый DHCP-сервер или перенастроить текущий пул DHCP? Если нет, прочтите следующий метод. Если да, продолжайте читать этот метод. Существует два способа назначения IP-адресов хостам в компьютерной сети, включая статическую и динамическую адресацию. Статическая адресация – это ручное присвоение IP-адресов вашим машинам, что отнимает гораздо больше времени и снижает производительность ИТ-администратора. Мы рекомендуем вам использовать динамическую адресацию с использованием протокола DHCP (Dynamic Host Computer Protocol). Лучшая практика будет включать статическую адресацию для серверов, хранилищ и сетевых принтеров, а также динамическую адресацию к другим хостам в сети. Немногие пользователи поощряли проблему после того, как добавили еще один DHCP-сервер в текущую сеть. Проблема заключалась в неправильном пуле DHCP для хостов в сети. Исходя из этого, мы рекомендуем вам проверить, правильно ли работает DHCP и правильно ли вы используете сетевую подсеть. Мы покажем вам, как проверить DHCP на Windows Server 2016 и маршрутизаторе TP-Link TL-ER6120. Представьте, правая сеть работает в классе C, 192.168. 1.0/24. Итак, приступим.
- Удерживайте логотип Windows и нажмите
- Введите dhcpmgmt.msc и нажмите Enter , чтобы открыть инструмент Управление DHCP .
- Разверните свой сервер следующим образом: appuals.com IPv4 Scope. Как видите, этот DHCP настроен неправильно. Наша сеть – 192.168.1.0/24, а настроенная сеть – 192.168.100.1/24. В этом случае вам нужно будет изменить конфигурацию DHCP.
- Закрыть Управление устройствами
Во втором примере мы покажем вам, как проверить конфигурацию DHCP на маршрутизаторе TP-Link. Если вы не знаете, как получить доступ к маршрутизатору, прочтите техническую документацию на него.
- Откройте интернет-браузер (Google Chrome, Mozilla Firefox, Edge или другие)
- Введите IP-адрес маршрутизатора для доступа к маршрутизатору
- В разделе Сеть На вкладке strong> выберите LAN , а затем DHCP , чтобы проверить конфигурацию DHCP. В нашем примере DHCP включен и настроен следующим образом: 192.168.1.100 – 192.168.1.200, и это нормально.
- Закрыть край
Метод 2: повторно присоединиться к компьютеру из домена
В этом методе вам нужно будет повторно подключиться к клиентской машине из домена. Для этого действия вам необходимо использовать учетную запись администратора домена, у которой есть разрешение на внесение изменений, таких как присоединение или повторное присоединение к машине из домена. Мы покажем вам, как вернуться к Windows 10 Pro из Windows Server 2016 Standard. Та же процедура совместима с другими клиентскими и серверными операционными системами, включая клиентскую операционную систему от Windows XP до Windows 8 и серверную операционную систему от Windows Server 2003 до Windows Server 2012 R2.
- Войдите в Windows 10, используя учетную запись локального администратора
- Удерживайте логотип Windows и нажмите E , чтобы открыть Проводник.
- Справа от File Explorer щелкните правой кнопкой мыши This PC и выберите
- Нажмите Advanced Системные настройки
- Выберите вкладку Компьютер Имя .
- Нажмите Измените на добавить компьютер в рабочую группу.
- Выберите Workgroup и введите Workgroup В нашем примере имя Workgroup – WORKGROUP . Вы можете вводить все, что хотите.
- Нажмите
- Введите учетную запись администратора домена и пароль , а затем нажмите OK
- Нажмите OK , а затем
- Закрыть свойства системы
- Перезагрузите компьютер с Windows.
- Войдите в Windows 10, используя учетную запись локального администратора
- Удерживая логотип Windows , нажмите E , чтобы открыть Проводник
- В правой части Проводника щелкните правой кнопкой мыши Этот ПК и выберите Свойства
- Нажмите Расширенные настройки системы .
- Выберите Компьютер N вкладка ame
- Нажмите Изменить , чтобы добавить компьютер в домен
- Выберите домен и введите домен . В нашем примере это appuals.com.
- Нажмите
- Введите учетную запись администратора домена и пароль , а затем нажмите
- Нажмите OK , а затем
- Закрыть Свойства системы
- Перезагрузить ваш компьютер с Windows
- Войдите в Windows 10, используя учетную запись пользователя домена
- Наслаждайтесь работой на своем компьютере.
Метод 3. Восстановите доверие с помощью PowerShell
В этом методе мы восстановим доверие между контроллером домена и клиентом с помощью PowerShell. Вам нужно будет войти в систему, используя учетную запись локального администратора.
- Войдите в Windows 10, используя учетную запись локального администратора
- Нажмите меню «Пуск» и введите
- Щелкните правой кнопкой мыши на PowerShell и выберите Запуск от имени администратора
- Нажмите Да , чтобы подтвердить запуск от имени администратора.
- Введите $ credential = Get-Credential и нажмите
- Введите учетную запись администратора домена и пароль, а затем нажмите OK
- Введите Reset-ComputerMachinePassword -Credential $ credential и нажмите Enter
- Закройте PowerShell
- Перезагрузите компьютер с Windows
- Войдите в Windows 10, используя учетную запись пользователя домена
Метод 4. Добавьте контроллер домена в диспетчер учетных данных
В этом методе вы будете использовать диспетчер учетных данных, где вы добавите учетную запись контроллеров домена в учетные данные Windows. Мы покажем вам, как это сделать в Windows 10.
- Войдите в Windows 10, используя учетную запись локального администратора
- Удерживайте логотип Windows и нажмите
- Введите control.exe /name Microsoft.CredentialManager и нажмите Enter , чтобы открыть Диспетчер учетных данных .
- Выберите Учетные данные Windows
- Введите адрес веб-сайта или сетевого расположения и ваш CR edentials
- Нажмите
- Закройте диспетчер учетных данных
- Перезагрузите компьютер с Windows
- Журнал в Windows 10 с использованием пользователя домена account
Метод 5. Используйте Netdom.exe для сброса учетной записи компьютера Пароль
Этот метод совместим с Windows Server 2003 и Windows Server 2008 R2. Если вы используете более новую версию серверных операционных систем, прочтите следующий метод. Мы покажем вам, как сбросить пароль учетной записи компьютера в Windows Server 2008 R2.
- Войдите в Windows Server, используя учетная запись администратора домена
- Удерживайте логотип Windows и нажмите
- Введите cmd и нажмите Enter , чтобы открыть командную строку .
- Введите netdom resetpwd/s: server/ud: domain User/pd: * и нажмите Enter, где s – это имя сервера домена , домен – это имя домена, а Пользователь – это учетная запись пользователя, которая не может подключиться к контроллеру домена
- Закрыть командную строку
- Переместить на клиентский компьютер Windows
- Перезагрузите компьютер с Windows
- Войдите в систему на компьютере с Windows, используя домен аккаунт пользователя
- Наслаждайтесь работой на вашем компьютере
Метод 6: сбросить учетную запись компьютера
В этом методе вам нужно будет сбросить учетную запись компьютера с помощью инструмента «Пользователи и компьютеры Active Directory», который интегрирован в серверы с ролью доменных служб Active Directory.. Процедура проста и совместима с серверными операционными системами от Windows Server 2003 до Windows Server 2016.
- Удерживайте логотип Windows и нажмите R
- Введите dsa.msc и нажмите Enter , чтобы открыть Пользователи и компьютеры Active Directory
- Развернуть доменное имя. В нашем примере это
- Выберите
- Перейдите к учетной записи компьютера, который не может подключиться к домену. В нашем примере это компьютер
- Щелкните правой кнопкой мыши на компьютере (Jasmin ) и выберите Сбросить учетную запись
- Нажмите Да , чтобы подтвердить сброс учетной записи компьютера.
- Нажмите
- Закрыть Активно Пользователь каталога и компьютеры
- Перезагрузите компьютер с Windows 10
- Войдите в свой domain
- Наслаждайтесь работой на машине Windows
Метод 7. Выполнение восстановления системы
Мы так много говорили о восстановлении системы, потому что оно много раз помогало нам в устранении неполадок с системой или приложением. Кроме того, восстановление системы может помочь вам решить проблему с возвратом вашей системы в предыдущее состояние, когда все работало правильно. Обратите внимание, что вы не можете восстановить ваш компьютер с Windows до предыдущего состояния, если восстановление системы отключено. Прочтите, как выполнить восстановление системы.