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

Что такое доменное имя? Для многих это синоним адреса сайта, например, www.сайт . Набирая этот адрес вы твердо уверены, что попадете именно на этот сайт, а не куда-нибудь еще. В тоже время доменное имя может обозначать не только сайт, но и сервер электронной почты, обмена короткими сообщениями или иной другой интернет и сетевой сервис. Доменные имена входят в доменные зоны, которые расположены внутри друг друга в иерархическом порядке.

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

Система DNS является глобальной и имеет строгую иерархию. Рассмотрим следующую схему:

Верхним уровнем иерархии является корневой домен, обозначаемый точкой, который содержит информацию о доменах первого уровня, например, ru , сom , org и т.п. Работу корневой зоны обеспечивают 13 корневых серверов, расположенных по всему миру и постоянно реплицирующих свои данные между собой. На самом деле корневых серверов больше, но особенности протокола позволяют указать только 13 узлов верхнего уровня, поэтом масштабируемость и отказоустойчивость системы обеспечивается зеркалами каждого корневого сервера.

Домены первого уровня являются привычными нам доменными зонами и могут управляться как национальными, так и международными организациями и иметь свои условия использования. Каждая доменная зона первого уровня позволяет размещать неограниченное количество доменов второго уровня, которые знакомы каждому пользователю интернета как адреса сайтов.

В свою очередь домены второго уровня тоже являются доменными зонами и позволяют размещать в себе домены третьего уровня, в которые, как в матрешку, помещать домены четвертого, пятого и т.д. уровней. Для того, чтобы можно было однозначно определять узлы, находящиеся в разных зонах, введено понятие полностью определенное имя домена (FQDN, Fully Qualified Domain Name ), которое включает в себя все имена родительских доменов в иерархии DNS. Например, для нашего сайта FQDN будет: сайт. Именно так, с окончанием на точку, обозначающее корневую зону.

Это очень важный момент. В повседневном использовании завершающую точку принято отбрасывать, но в записях DNS отсутствие последней точки обозначает, что данное доменное имя принадлежит текущей доменной зоне, т.е. DNS-сервер прибавит к такому имени собственную доменную зону и все вышестоящие зоны вплоть до корня.

Например, на нашем сервере в зоне сайт мы добавляем запись типа CNAME, которая будет указывать на сторонний сервер, скажем, Яндекс-почты. Правильно запись должна выглядеть так:

MailIN CNAMEdomain.mail.yandex.net.

В данном случае имя mail не является FQDN и будет дополнено до mail.сайт. , если же мы забудем поставить точку в конце имени домена Яндекса, то это имя также не будет восприниматься как FQDN и должно быть дополнено до полного имени домена. Ниже показана неправильная запись:

Mail IN CNAME domain.mail.yandex.net

Неподготовленным взглядом разницу заметить сложно, но вместо веб-интерфейса почты Яндекса такая конструкция отправит нас на несуществующий адрес: domain.mail.yandex.net.сайт.

Еще один момент. Все записи для доменной зоны вносятся администраторами зон на собственных DNS-серверах, каким образом данные записи становятся известны системе DNS? Ведь мы же не оповещаем вышестоящие DNS-сервера, что изменили какую-либо запись.

Любая DNS-зона содержит записи только о входящих в нее узлах и дочерних зонах. Информация об узлах нижестоящей зоны хранится на ее собственных серверах. Это называется делегированием и позволяет снизить нагрузку на корневые сервера и предоставить необходимую автономию владельцам дочерних доменных зон.

Итак, вы купили домен, скажем, example.org , после чего вы должны его делегировать, т.е. указать сервера имен (DNS-сервера), которые будут содержать записи данной файловой зоны. Это могут быть как ваши собственные сервера, так и публичные сервисы, например, DNS Яндекса.

В этом случае в доменной зоне org будет добавлена запись:

Example IN NS dns1.yandex.net.

Которая будет указывать, что все записи этой зоны расположены на сервере dns1.yandex.net . По правилам, каждая доменная зона должна иметь не менее двух NS-серверов, расположенных в разных подсетях. На практике часто обходятся одним сервером, приобретая для него два IP-адреса из разных диапазонов.

Теперь разберем, каким образом происходит поиск необходимой нам DNS-записи и почему запись, сделанная на вашем сервере, позволяет попасть на ваш сайт посетителям из любой точки земного шара.

Допустим, пользователь хочет посетить популярный ресурс Яндекс Маркет, он набирает в адресной строке браузера соответствующее имя сайта и нажимает кнопку Enter. Для того, чтобы отобразить пользователю содержимое страницы браузер должен отправить запрос обслуживающему сайт веб-серверу, а для этого нужно знать его IP-адрес. Поэтому браузер обращается к DNS-клиенту с целью узнать, какой адрес соответствует введенному пользователем доменному имени.

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

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

Итак, клиент отправляет DNS-запрос серверу провайдера с целью узнать адрес домена market.yandex.ru , сервер провайдера не располагает подобной информации, поэтому обращается к одному из корневых серверов, передавая ему запрос. Корневой сервер также не имеет нужных записей, но отвечает, что знает сервер, отвечающий за зону ru - a.dns.ripn.net . Вместе с данным именем корневой сервер может сразу сообщить его IP-адрес (и в большинстве случаев сообщит), но может и не сделать этого, если не располагает такой информацией, в таком случае, перед тем как обратиться к данному серверу, нужно будет выполнить еще один рекурсивный запрос, только уже для определения его имени.

Выяснив адрес сервера, отвечающего за зону ru, сервер провайдера передаст запрос ему, но данный сервер также не имеет нужных записей, но сообщит, что за зону yandex отвечает сервер ns1.yandex.ru и обязательно сообщит его адрес. Иначе рекурсию завершить не удастся, так как за зону yandex отвечает сервер, находящийся в зоне yandex . Для этого в вышестоящей зоне, кроме NS-записи об обслуживающих зону серверах имен, создается "связанная" А-запись , которая позволяет узнать адрес такого сервера.

Наконец, отправив запрос серверу, обслуживающему зону yandex , сервер провайдера получит адрес искомого домена и сообщит его клиенту. Также он поместит полученный результат в кэш на время, предусмотренное значением TTL в SOA-записи этого домена. На практике, так как рекурсивные запросы весьма затратны, время кэширования записей у провайдеров может игнорировать значения TTL домена и достигать значений от двух-четырех часов до нескольких дней или даже недели.

Теперь рассмотрим еще один момент. Запросы могут быть рекурсивными или нерекурсивными. Рекурсивный запрос предусматривает получение готового ответа, т.е. IP-адреса или сообщения что домен не существует, не делегирован и т.п. Нерекурсивный запрос предусматривает ответ только о той зоне, за которую отвечает данный сервер или возврат ошибки.

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

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

Например, если пользователь после посещения Яндекс Маркета решит воспользоваться почтовым сервисом, то сервер сразу направит запрос к ns1.yandex.ru , так как уже знает, какой сервер содержит записи для зоны yandex .

От теории к практике

Когда вы приобретаете у регистратора домен, вам будет предложено его делегировать, т.е. указать DNS-сервера, на которых будет расположена доменная зона. Это могут быть сервера регистратора (обычно бесплатно), сервера хостера, публичные DNS-сервисы или собственные сервера имен, если он будет расположен в этой же доменной зоне, то вам потребуется также указать IP-адреса. Например, так выглядит окно делегирования домена у одного известного регистратора:

Что именно туда указывать? Это зависит от того, где и как вы будете размещать свой сайт. Если вы используете виртуальный хостинг, то все необходимые записи создаются хостером автоматически, при добавлении в панели управления хостингом вашего сайта, все что вам надо - это делегировать домен на NS-сервера хостера, т.е. указать их в данном окне. Этот способ хорошо подходит начинающим, благодаря своей простоте, но есть и обратная сторона, возможность управления DNS-зоной со стороны пользователя отсутствует или минимальна. Кроме того, на виртуальном хостинге IP-адрес сайта может быть изменен администраторами без уведомления пользователя, поэтому, если вы не хотите использовать NS-сервера хостера, то этот вопрос следует обязательно обсудить с техподдержкой.

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

1.2.3.4 example.com

Где 1.2.3.4 и example.com соответственно новый IP-адрес и имя вашего домена.

Если у вас свой VPS или вы хотите полностью контролировать доменную зону, то следует воспользоваться серверами регистратора или публичными сервисами. Создание собственного сервера имен, на наш взгляд, не оправдывающая себя затея, если только вы не делаете собственный хостинг.

В этом случае вам нужно создать, как минимум, две А-записи, которые будут указывать на веб-сервер обслуживающий сайт в данном домене:

@ IN A 1.2.3.4
www IN A 1.2.3.4

Символ "собачки" в DNS-записях обозначает сам домен, кроме того обязательно следует создать запись для поддомена www, чтобы пользователи, набравшие адрес сайта с www, также могли получить к нему доступ.

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

При переносе сайта вам потребуется изменить только IP-адреса в A-записях и дождаться обновления DNS информации. Обычно, это самый неприятный момент - вроде бы все сделано, но ничего изменить вы не можете, остается только ждать. Но если выполнить некоторые рекомендации, то данный процесс можно провести максимально безболезненно и незаметно для посетителей.

Прежде всего измените значение TTL в SOA-записи. По-умолчанию оно равно нескольким часам и именно столько вам придется ждать обновления вашей записи в кэше DNS-серверов. Чтобы узнать текущее значение TTL можно выполнить команду, указав нужное доменное имя:

Nslookup -typr=soa сайт

В нашем случае это 4 часа:

Поэтому заранее, не менее 4 часов (старое значение TTL) до планируемого переноса, измените значение TTL на более низкое, например, 900 (15 минут). Затем переведите свой сайт в режим "только чтение" и перенесите его на новый сервер. Выключать или переводить на техобслуживание сайт не следует, он может и должен оставаться доступным. Но вы должны исключить изменение и добавление информации пользователями, т.е. запретить регистрацию, комментирование, размещение заказов и т.п. Также не забудьте разместить на видном месте сообщение о технических работах и примерный срок их завершения.

Для того, чтобы работать с новым сервером, не изменяя DNS-записи, добавьте нужную строку в файл hosts. Разместив сайт на новой площадке и убедившись в его нормальной работе измените DNS-записи, теперь уже через 15 минут первые пользователи начнут посещать ваш сайт на новом сервере. Работоспособность старого сервера требуется поддерживать еще некоторое время, в идеале до недели, так как не все провайдеры используют значение TTL из SOA-записи для обновления кэша, для уменьшения нагрузки на оборудование могут быть использованы собственные настройки.

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

Мы рассмотрели самую простую схему, но на практике, кроме сайта, обычно есть еще офисная сеть, многие ресурсы которой должны быть также доступны извне. Рассмотрим следующую схему:

У нас имеются публичные сервера для сайта и электронной почты и офисная сеть, для которой мы выделили поддомен office . Если с почтой и веб-сервером особых вопросов нет, то с офисной зоной есть варианты. Обычно локальная зона обслуживается собственным DNS и никак не связана с материнской зоной. Для глобальной системы DNS зона office.example.com не существует, но существует одноименный хост. Это оправдано, если сеть предприятия находится за NAT и ее узлы имеют только серые адреса, а доступ извне осуществляется только к шлюзу, на который проброшены соответствующие порты от внутренних узлов.

В этом случае DNS записи зоны example.com могут выглядеть следующим образом:

@ IN A 1.2.3.4
www IN A 1.2.3.4
mail IN A 1.2.3.5
office IN A 5.6.7.8

Но возникает некоторая сложность, внутри сети клиенты обращаются к сетевым сервисам по внутренним именам: corp.office.example.com или rdp.office.example.com , которые указывают на внутренние "серые" адреса". Однако за пределами локальной сети разрешить IP-адрес для таких имен не представляется возможным, так как содержащей их зоны для глобальной системы DNS не существует. Выйти из положения позволяет механизм, называемый Split-DNS, который позволяет отдавать различные результаты в зависимости от положения клиента.

В локальной сети DNS-запросы клиентов обслуживает локальный сервер, которые имеет соответствующие записи, за ее пределами запросы будут направлены серверу, обслуживающему зону example.com . При этом все корпоративные ресурсы, которые в локальной сети представлены различными серверами, извне доступны по единственному адресу: office.example.com . Поэтому самое время вспомнить о записи псевдонима или CNAME. Данная запись позволяет связывать с реальным именем хоста дополнительные мнемонические имена или псевдонимы. При этом учтите, что использовать в других записях псевдонимов недопустимо. В нашем случае следует добавить записи:

Corp.office IN CNAME office.example.com.
rdp.office IN CNAME office.example.com.

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

Также записи типа CNAME можно использовать для перенаправления за пределы обслуживаемой доменной зоны. Главное условие - CNAME запись должна указывать на реальное имя в формате FQDN.

Еще одно применение псевдонимов - это сокращение адреса. Допустим, в качестве почтового сервера для всего домена example.com мы хотим использовать сервер, который расположен в московском офисе и имеет адрес mail.office.msk.example.com , согласитесь, выглядит не слишком привлекательно. Гораздо удобнее был бы адрес вида mail.example.com , нет ничего проще, добавим следующую запись:

Mail IN CNAME mail.office.msk.example.com.

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

Example.com. IN MX 10 mail

Правильно будет так:

Example.com. IN MX 10 mail.office.msk

Напоследок поговорим о делегировании доменных зон. В примере выше мы рассмотрели ситуацию, когда внутри домена различным подразделениям выделены свои поддомены, так как у каждого подразделения имеется своя инфраструктура, то есть смысл делегировать им управление собственными доменными зонами. Для этого в зоне example.com следует разместить NS и связанную с ней A-запись для каждой зоны. Например:

Msk IN NS ns1.msk.example.com.
msk IN NS ns2.msk.example.com.

ns1.msk IN A 1.2.3.4
ns2.msk IN A 5.6.7.8

Теперь при обращении по адресу, скажем mail.office.msk.example.com сервера имен зоны example.com будут выдавать имя и адрес сервера, обслуживающего зону msk.example.com . Это позволяет администраторам зоны самостоятельно вносить необходимые изменения, не затрагивая при этом функционирования вышестоящей зоны и не обращаясь к ее администраторам по любому вопросу, требующему изменения записей.

  • Теги:

Please enable JavaScript to view the

У меня возникла необходимость развернуть службу Active Directory в территориально разделенных местах, сети которых объединены с помощью vpn. На первый взгляд задача кажется простой, но лично я раньше подобными вещами не занимался и при беглом поиске не смог найти какую-то единую картину или план действий в таком случае. Пришлось собирать информацию из разных источников и самому разбираться с настройками.

Из этой статьи вы узнаете:

Планирование установки Active Directory в разных подсетях

Итак, у нас имеется две подсети 10.1.3.0/24 и 10.1.4.0/24 , в каждой из которых некоторое количество компьютеров и сетевых шар. Нужно объединить все это в один домен. Сети соединены между собой vpn тоннелем, компьютеры пингуют друг друга в обе стороны, проблем с сетевым доступом нет.

Для нормальной работы службы Active Directory установим в каждой подсети по контроллеру домена и настроим репликацию между ними. Использовать будем Windows Server 2012R2. Последовательность действий следующая:

  • Устанавливаем контроллер домена в одной подсети, поднимаем на нем новый домен в новом лесу
  • Устанавливаем контроллер домена во второй подсети и добавляем его в домен
  • Настраиваем между доменами репликацию

Первый контроллер домена будет называться xs-winsrv с адресом 10.1.3.4 , второй — xm-winsrv 10.1.4.6 . Домен, который мы будем создавать будет называться xs.local

Настройка контроллеров домена для работы в разных подсетях

Первым делом устанавливаем контроллер домена в новом лесу на первом сервере xs-winsrv . Подробно останавливаться на этом я не буду, в интернете много обучалок и инструкций на эту тему. Все делаем стандартно, ставим AD, DHCP и DNS службы. В качестве первого DNS сервера указываем локальный ip адрес, в качестве второго 127.0.0.1 :

Дальше устанавливаем Windows Server 2012R2 на второй сервер xm-winsrv . Теперь делаем несколько важных шагов, без которых добавить второй сервер в домен не получится. Оба сервера должны по имени пинговать друг друга. Для этого в файлы C:\Windows\System32\drivers\etc\host добавляем записи друг о друге.

В xs-winsrv добавляем строку:

10.1.4.6 xm-winsrv

В xm-winsrv добавляем:

10.1.3.4 xs-winsrv

Теперь второй важный момент. На сервере xm-winsrv указываем в качестве первого DNS сервера первый контроллер домена 10.1.3.4:

Теперь оба сервера резолвят друг друга. Проверим это в первую очередь на сервере xm-winsrv , который мы будем добавлять в домен:

После этого сервер xs-winsrv нужно перенести из сайта Default-First-Site-Name в новый созданный для него сайт. Теперь все готово для добавления второго сервера в домен.

Добавление второго контроллера домена из другой подсети

Идем на второй сервер xm-winsrv, запускаем мастер добавления ролей и добавляем так же как и на первом сервере 3 роли — AD, DNS, DHCP. Когда будет запущен Мастер настройки доменных служб Active Directory, выбираем там первый пункт — Добавить контроллер домена в существующий домен , указываем наш домен xs.local :

На следующем шаге в параметрах контроллера домена указываем имя сайта, к которому мы присоединим контроллер:

Напомню, что это должен быть сайт, к которому привязана подсеть 10.1.4.0/24. Первый и второй контроллеры оказываются в разных сайтах. Не забываем поставить галочку Глобальный каталог (GC) . Дальше все настройки оставляем по-умолчанию.

После перезагрузки сервера, он окажется в домене xs.local . Зайти под локальным администратором не получится, нужно использовать доменную учетную запись. Заходим, проверяем прошла ли репликация с основным контроллером домена, синхронизировались ли записи DNS. У меня все это прошло благополучно, всех пользователей и записи DNS второй контроллер домена забрал с первого. На обоих серверах в оснастке Active-Directory — сайты и службы отображаются оба контроллера, каждый в своем сайте:

На этом все. Можно добавлять компьютеры в обоих офисах в домен.

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

Надеюсь, что я все сделал правильно. Глубоких знаний в репликации Active Directory у меня нет. Если у кого-то есть замечания по содержанию статьи, напишите об этом в комментариях. Всю информацию я собрал в основном по форумам, где задавали вопросы или решали проблемы по схожей тематике работы домена в разных подсетях.

Онлайн курс "Администратор Linux"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по.

А сейчас давайте первым делом пропишем DNS-сервера купленному домену. Для этого выберем в выпадающем списке пункт "Изменить DNS-сервера домена". Что следует писать в появившейся форме, какие DNS-сервера?

Если домен уже куплен, а хостинг еще не выбран, то нужно под предложенной формой поставить галочку напротив строки "Использовать сервера регистратора" или "Использовать сервера хостинга Reg.ru". В этом случае сервера автоматически отобразятся в форме.

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

Поскольку моим провайдером является компания Cishost.ru, то запись приобрела такой вид - ns1.cishost.ru в первой строке и ns2.cishost.ru - во второй строке.

Вот такая запись появится, если вы поставите галочку напротив "Использовать сервера регистратора". Либо (при наличии хостинга) впишите самостоятельно сервера хостинг-провайдера. Ip-адреса указывать необязательно.

Если вы вписали сервера хостинг-провайдера, то не забудьте после этого нажать на кнопку "Изменить". Через некоторое время, сервера автоматически изменятся на указанные вами. Интервал времени, в течение которого происходит смена DNS-серверов может затянуться до 72 часов. Почему так долго? Потому что происходит обновление базы DNS по всему миру. И до момента, пока не произойдет обновление всей базы, ваш сайт не будет открываться. Так что не стоит паниковать и забрасывать службы техподдержки вопросами "Почему мой сайт не работает?" Как только обновится база DNS, ваш сайт станет работать на серверах выбранного хостинг-провайдера.

Думаю с вопросом изменения DNS мы разобрались.

Пора перейти к следующему пункту. Если вы не хотите, чтобы ваша личная информация (ФИО и др) отображались в сервисе whois всем любознательным пользователям, то следует вооспользоваться функцией Privat person, бесплатно предоставленной регистратором 2domains.ru.

Чтобы ее включить, выберите соответствующий пункт в том же выпадающем списке, где и "Изменение DNS". В открывшейся форме поставьте галочку напротив "Снять / поставить флаг Privat person". Теперь в сервисе whois будет отображаться из всех ваших данных лишь указанный при регистрации е-мэйл и номер телефона, которые в дальнейшем можно изменить в "Личном кабинете".

Основные настройки вами выполнены (изменить их можно в любой момент), доменное имя зарегистрировано. Пора переходить к выбору хостинг-провайдера. В следующем посте мы также подробно разберем процесс покупки хостинга на примере хостинговой компании Cishost.ru, предоставляющей самый минимальный тарифный план "Микро" по цене 10 рублей в месяц.

Настройка Active Directory представляет из себя достаточно простой процесс и рассматривается на множестве ресурсов в интернете, включая официальные. Тем не менее на своем блоге я не могу не затронуть этот момент, поскольку большинство дальнейших статей будет так или иначе основано на окружении, настройкой которого я планирую заняться как раз сейчас.

Если вам интересна тематика Windows Server, рекомендую обратиться к тегу на моем блоге. Также рекомендую ознакомиться с основной статье по Active Directory —

Разворачивать роль AD я планирую на двух виртуальных серверах (будущих контроллерах домена) по очереди.

  1. Первым делом нужно задать подходящие имена серверов , у меня это будут DC01 и DC02;
  2. Далее прописать статические настройки сети (подробно этот момент я рассмотрю ниже);
  3. Установите все обновления системы , особенно обновления безопасности (для КД это важно как ни для какой другой роли).

На этом этапе необходимо определиться какое имя домена у вас будет . Это крайне важно, поскольку потом смена доменного имени будет очень большой проблемой для вас, хоть и сценарий переименования официально поддерживается и внедрен достаточно давно.

Примечание: н екоторые рассуждения, а также множество ссылок на полезный материал, вы можете найти в моей статье . Рекомендую ознакомиться с ней, а также со списком использованных источников.

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

Примечание: отключение синхронизации с хостом виртуализации — самый простой и быстрый вариант. Тем не менее, это не best practic. Согласно рекомендациям Microsoft, нужно отключать синхронизацию с хостом лишь частично. Для понимания принципа работы читайте официальную документацию, которая в последние годы радикально подскочила вверх по уровню изложения материала .

Вообще сам подход к администрированию виртуализованных контроллеров домена отличается в виду некоторых особенностей функционирования AD DS:

Виртуальные среды представляют особую трудность для распределенных рабочих потоков, зависящих от логической схемы репликации по времени. Например, репликация AD DS использует равномерно увеличивающееся значение (которое называется USN, или номер последовательного обновления), назначенное транзакциям в каждом контроллере домена. Каждый экземпляр базы данных контроллера домена также получает идентификатор под названием InvocationID. InvocationID контроллера домена и его номер последовательного обновления вместе служат уникальным идентификатором, который связан с каждой транзакцией записи, выполняемой на каждом контроллере домена, и должны быть уникальны в пределах леса.

На этом основные шаги по подготовке окружения завершены, переходим к этапу установки.

Установка Active Directory

Установка производится через Server Manager и в ней нет ничего сложного, подробно все этапы установки вы можете увидеть ниже:


Сам процесс установки претерпел некоторые измененияпо сравнению с предыдущими версиями ОС:

Развертывание доменных служб Active Directory (AD DS) в Windows Server 2012 стало проще и быстрее по сравнению с предыдущими версиями Windows Server. Установка AD DS теперь выполняется на основе Windows PowerShell и интегрирована с диспетчером серверов. Сократилось количество шагов, необходимых для внедрения контроллеров домена в существующую среду Active Directory.

Необходимо выбрать только роль Доменные службы Active Directory , никакие дополнительные компоненты устанавливать не нужно. Процесс установки занимает незначительно время и можно сразу переходить к настройке.

Когда установится роль, справа вверху Server Manager вы увидите восклицательный знак — требуется провести конфигурацию после развертывания. Нажимаем Повысить роль этого сервера до контроллера домена .

Повышение роли сервера до контроллера домена

Этапы работы мастера подробно описаны в документации. Тем не менее, пройдемся по основным шагам.

Поскольку мы разворачиваем AD с нуля, то нужно добавлять новый лес. Не забудьте надежно сохранить пароль для режима восстановления служб каталогов (DSRM). Расположение базы данных AD DS можно оставить по умолчанию (именно так и рекомендуют. Однако для разнообразия в своей тестовой среде я указал другой каталог).

Дожидаемся установки.

После этого сервер самостоятельно перезагрузится.

Создание учетных записей администраторов домена/предприятия

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

Настройка DNS на единственном DC в домене

Во время установки AD также была установлена роль AD DNS, поскольку других серверов DNS у меня в инфраструктуре не было. Для правильно работы сервиса необходимо изменить некоторые настройки. Для начала нужно проверить предпочитаемые серверы DNS в настройках сетевого адаптера. Необходимо использовать только один DNS-сервер с адресом 127.0.0.1. Да, именно localhost. По умолчанию он должен прописаться самостоятельно.

Убедившись в корректности настроек, открываем оснастку DNS. Правой кнопкой нажимаем на имени сервера и открываем его свойства, переходим на вкладку «Сервер пересылки». Адрес DNS-сервера, который был указан в настройках сети до установки роли AD DS, автоматически прописался в качестве единственного сервера пересылки:

Необходимо его удалить и создать новый и крайне желательно, чтобы это был сервер провайдера, но никак не публичный адрес типа общеизвестных 8.8.8.8 и 8.8.4.4. Для отказоустойчивости пропишите минимум два сервера. Не снимайте галочку для использования корневых ссылок, если нет доступных серверов пересылки. Корневые ссылки — это общеизвестный пул DNS-серверов высшего уровня.

Добавление второго DC в домен

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

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

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

Настройка DNS на нескольких DC в домене

Для предупреждения проблем с репликацией нужно снова изменить настройки сети и делать это необходимо на каждом контроллере домена (и на существовавших ранее тоже) и каждый раз при добавлении нового DC:

Если у вас больше трех DC в домене, необходимо прописать DNS-серверы через дополнительные настройки именно в таком порядке. Подробнее про DNS вы можете прочитать в моей статье .

Настройка времени

Этот этап нужно выполнить обязательно, особенно если вы настраиваете реальное окружение в продакшене. Как вы помните, ранее я отключил синхронизацию времени через гипервизор и теперь нужно её настроить должным образом. За распространение правильного время на весь домен отвечает контроллер с ролью FSMO PDC эмулятор (Не знаете что это такая за роль? Читайте статью ). В моем случае это конечно же первый контроллер домена, который и является носителем всех ролей FSMO изначально.

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

Назовите её как считаете нужным и как объект будет создан, нажмите правой кнопкойИзменить . Переходим в Конфигурация компьютера\Политики\Административные шаблоны\Система\Служба времени Windows\Поставщики времени . Активируем политики Включить NTP-клиент Windows и Включить NTP-сервер Windows , заходим в свойства политики Настроить NTP-клиент Windows и выставляем тип протокола — NTP , остальные настройки не трогаем:

Дожидаемся применения политик (у меня это заняло примерно 5-8 минут, несмотря на выполнение gpupdate /force и пару перезагрузок), после чего получаем:

Вообще надо сделать так, чтобы время с внешних источников синхронизировал только PDC эмулятор, а не все контроллеры домена под ряд, а будет именно так, поскольку групповая политика применяется ко всем объектам в контейнере. Нужно её перенацелить на конкретный объект учетной записи компьютера-владельца роли PDC-эмулятор. Делается это также через групповые политики — в консоли gpmc.msc нажимаем левой кнопкой нужную политику и справа у вас появятся её настройки. В фильтрах безопасности нужно добавить учетную запись нужного контроллера домена:

Подробнее о принципе работы и настройке службы времени читайте в официальной документации.

На этом настройка времени, а вместе с ней и начальная настройка Active Directory, завершена.

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

Использование наших серверов имен (DNS) для обслуживания домена.

Создайте на VPS через панель ISPmanager WWW-домен с вашим существующим доменным именем.

Через свой личный кабинет на сайте регистратора доменного имени измените серверы имен (NS) на наши: ns1.ispvds.com и ns2.ispvds.com. Затем В течение последующих 72 часов сайт будет открываться через браузер по этому имени.

Использование стороннего DNS сервера.

В этом случае используемый сервер устанавливается как первичный (master) DNS для нашего - вторичного (slave) - сервера имен. Здесь нужно конфигурировать DNS на вашем VPS. Зайдите в ISPmanager, перейдите в раздел “Домены” -> “Доменные имена”, выделите нужное доменное имя и нажмите кнопку “Записи”, как описано выше. Среди появившихся ресурсных записей DNS сервера выберите запись типа “NS (серверы имен)” и нажмите “Изменить”.

Измените значение поля “Домен” на имя вашего DNS-сервера. Таких записей должно быть две, замените их обе.

Как перенести домен на обслуживание ISPserver от другого регистратора?

Для доменных зон верхнего уровня.com, .net, .org, .info, .biz получите у текущего регистратора код - authcode. Затем оформите заявку в личном кабинете на ISPserver, в которой укажите этот код.

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

Как поменять серверы имен для доменного имени, зарегистрированного у стороннего регистратора?

Зайдите в свой личный кабинет BILLmanager у нас, перейдите раздел “Домены” и нажмите кнопку "NS".

В появившемся окне пропишите новые серверы и имен и нажмите “Изменить”.

Для чего нужны записи A, CNAME, MX, TXT, SRV на сервере имен?

Сервер имен DNS содержит так называемые ресурсные записи, которые регламентируют ему работу с доменами (дают служебную информацию).

A - запись, устанавливающая соответствие между доменным именем и IP-адресом сервера, где находится ваш интернет-ресурс. Например,

Example.org IN A 192.0.2.77

CNAME - ресурсная запись, присоединяющая к основному доменному имени дополнительное. Например, к www.mydomain.ru присоединяется дополнительно mydomain.ru, тогда и то, и другое имя ведет к одному и тому же сайту. Ресурсная запись в этому случае имеет вид

Mydomain.ru IN CNAME www.mydomain.ru.

MX - запись, указывающая на почтовые серверы, на которые нужно перенаправлять почту, приходящую на адреса данного домена. Серверов может быть указано несколько, поэтому для каждого предусмотрен приоритет для отправки. Например, запись

Example.org IN MX 20 mail.example.org

назначает переадресацию всей почты для домена example.org на mail.example.org, на котором почта будет обрабатываться почтовым сервером. Приоритет отправки в данном примере 20, чем меньше это число, тем более приоритетный сервер. В MX-записи допустимо использовать только имена почтовых серверов, но не их IP-адреса.

TXT - свободное текстовое поле, в которое можно поместить специфическую информацию. Например, SPF-записи (Sender Policy Framework), которые не позволяют делать злоумышленникам рассылки от доменов, которые не принадлежат:

Example.org. IN TXT "v=spf1 a mx -all"

SRV - служебная запись, предназначенная для указания серверов для определенных служб.