Обеспечение отказоустойчивости службы DNS
Когда я впервые начал заниматься внештатным техническим письмом десять лет назад, я довольно быстро понял, что мне нужно настроить сеть у себя дома, чтобы я мог экспериментировать с различными продуктами и методами, о которых я пишу. Когда я впервые настроил свою домашнюю сеть, она была довольно скромной. Он состоял из двух серверов и двух рабочих станций. Я использовал одну из рабочих станций в качестве текстового процессора и сохранил свои документы на одном из серверов. Я использовал другой сервер и рабочую станцию в экспериментальных целях.
То, что начиналось как помощь другу путем написания случайных статей для его журнала, вскоре переросло в полноценный бизнес. Вскоре я писал около 50 статей каждый месяц. Мне пришлось добавить в свою сеть десятки компьютеров только для того, чтобы разместить все продукты и методы, о которых я писал. Я по-прежнему придерживался основного принципа, с которого начал: иметь рабочую сеть и тестовую сеть. Моя тестовая сеть состоит из всех машин, на которых я экспериментирую с техниками для своих статей. Практически все подходит для тестовой сети, так как это просто лабораторная среда, но я всегда старался поддерживать свою производственную сеть надлежащим образом, поскольку она содержит все мои данные и все машины, которые я использую для ведения своего бизнеса.
Конечно, выпуск около 50 статей в месяц не оставляет мне много времени на то, чтобы играть в сетевого администратора. Некоторые вещи просто обязаны время от времени упускаться из виду. Около года назад я на горьком опыте узнал, что одна из деталей, которую я упустил из виду при расширении своей сети, — это второй DNS-сервер.
Как вы, наверное, знаете, Active Directory полностью зависит от служб DNS. Если DNS-сервер выйдет из строя, Active Directory полностью перестанет функционировать, пока вы не восстановите DNS-сервер. Моя проблема заключалась в том, что жесткий диск на моем единственном DNS-сервере вышел из строя. Есть несколько методов, которые можно использовать для установки Windows на сервер, загрузки служб DNS и ручного воссоздания необходимых записей DNS, чтобы вернуть Active Directory в оперативный режим. К сожалению, моя ситуация была немного сложнее, чем эта.
При установке Windows 2000 Server или Windows Server 2003 в качестве первого контроллера домена в лесу происходит несколько вещей. Одна из вещей, которая происходит, заключается в том, что программа установки спрашивает вас, хотите ли вы сделать этот сервер DNS-сервером или предпочитаете использовать существующий DNS-сервер. Как и большинство людей, впервые развертывающих Active Directory, я решил установить службы DNS непосредственно на контроллере домена. Поэтому мой отказавший сервер действовал как контроллер домена и как DNS-сервер. Первому контроллеру домена в лесу также автоматически назначаются все роли хозяина операций для леса и все роли хозяина операций для домена, в котором находится контроллер домена. Если вы не знакомы с ролями хозяина операций, они используются для обозначения серверов, которые будут выполнять различные домашние дела для Active Directory на уровне домена и на уровне леса. Сбой роли хозяина операций обычно не критичен в краткосрочной перспективе, но Active Directory не может функционировать в долгосрочной перспективе без выполнения этих различных задач.
Есть еще одна задача, которая была назначена серверу, который не удалось выполнить. Он был назначен единственным сервером глобального каталога домена. Как вы, наверное, знаете, Active Directory позволяет создавать объекты на любом контроллере домена, а затем объекты реплицируются на другие контроллеры домена. В этом случае теоретически два разных администратора могут создать два разных объекта на двух разных контроллерах домена, используя одно и то же имя. Чтобы этого не произошло, в глобальном каталоге хранится список всех объектов домена. Когда создается новый объект, глобальный каталог обращается к нему, чтобы убедиться, что объект с таким именем еще не существует.
Можно предположить, что побочным эффектом сбоя глобального каталога является невозможность создания новых объектов Active Directory. Хотя все немного серьезнее. Если глобальный каталог организации дает сбой, то никто, кроме администратора домена, не может войти в систему. Можно назначить несколько контроллеров домена в качестве серверов глобального каталога, но в большинстве случаев существует только один глобальный каталог для каждого домена, если только вы специально не взять на себя инициативу, чтобы создать больше.
Как видите, моя ситуация была, мягко говоря, плачевной. У меня произошел сбой жесткого диска на контроллере домена, а на контроллере домена размещался глобальный каталог, все роли хозяина операций и DNS. При необходимости вы можете захватить роли хозяина операций, но для этого вам потребуется работающий DNS-сервер. Вы можете назначить дополнительные серверы для работы в качестве серверов глобального каталога, но опять же, DNS должен работать, чтобы сервер мог получать список объектов с других контроллеров домена.
Короче говоря, моя Active Directory была уничтожена. Я попытался вручную перестроить DNS, захватить роли хозяина операций и назначить новый сервер глобального каталога, но я просто не смог заставить новый глобальный каталог работать правильно, если старый не был доступен. В конце концов мне пришлось полностью перестраивать свою Active Directory с нуля. Для меня это было большим неудобством, потому что моя сеть не работала несколько дней. Помните, однако, что это сеть, которую я построил у себя дома. Вы НЕ хотите, чтобы эта ситуация произошла в корпоративной среде. Процесс восстановления вещей занял бы намного больше времени и был бы намного сложнее, если бы в нем участвовали пользователи. Единственное, что вам нужно сделать, чтобы предотвратить сбой такого типа, — это убедиться, что в вашей сети есть как минимум два DNS-сервера и как минимум два сервера глобального каталога.
Самый простой способ настроить другой DNS-сервер — настроить его в качестве вторичного DNS-сервера. Для этого перейдите к машине, которая будет выступать в качестве вторичного DNS, и выберите параметр «Установка и удаление программ» на панели управления. Когда запустится апплет «Установка и удаление программ», нажмите кнопку «Установка и удаление компонентов Windows». Теперь вы увидите список дополнительных компонентов Windows. Выберите параметр «Сетевые службы» и нажмите кнопку «Подробнее». Затем установите флажок «Система доменных имен (DNS)» и нажмите «ОК», а затем «Далее». Теперь Windows установит службы DNS. Вам может быть предложено вставить установочный компакт-диск Windows. Щелкните Готово, чтобы закрыть мастер после завершения установки.
Следующее, что вам нужно будет сделать, это открыть консоль DNS, выбрав опцию DNS в меню «Администрирование» сервера. Перейдите через дерево консоли к DNS | ваш сервер | Зона прямого просмотра (не забудьте нажать знак «плюс» рядом с контейнером «Зона прямого просмотра», даже если подконтейнеров нет). Теперь щелкните правой кнопкой мыши контейнер «Зона прямого просмотра» и выберите команду «Новая зона» в появившемся контекстном меню. Это заставит Windows запустить мастер создания новой зоны. Нажмите «Далее», чтобы пропустить экран приветствия мастера, и вы увидите экран с вопросом, хотите ли вы создать первичную, вторичную или тупиковую зону. Выберите опцию «Вторичная зона» и нажмите «Далее». Теперь вам будет предложено ввести имя зоны. Введите DNS-имя вашей организации. Например, в моей организации я бы ввел brienposey.com в качестве имени зоны. Нажмите «Далее», и вам будет предложено ввести IP-адрес сервера, с которого вы хотите скопировать информацию о зоне. Введите IP-адрес существующего DNS-сервера и нажмите «Далее». Теперь вы увидите итоговый экран, отображающий выбранные вами параметры. Если все выглядит правильно, нажмите «Готово».
В этот момент появится зона прямого просмотра, которую вы указали в части имени зоны мастера. Мы еще не совсем закончили. Если ваш основной DNS-сервер работает под управлением Windows Server 2003, вам придется настроить основной DNS-сервер, чтобы разрешить передачу информации о зоне. Для этого откройте консоль DNS на основном DNS-сервере. Щелкните правой кнопкой мыши зону и выберите команду «Свойства» в контекстном меню. Когда вы это сделаете, вы увидите лист свойств зоны. Теперь выберите вкладку «Передача зон», установите флажок «Разрешить передачу зон» и нажмите «ОК». Теперь вернитесь на вторичный DNS-сервер, щелкните правой кнопкой мыши зону и выберите команду Transfer From Master из контекстного меню. Данные зоны должны передаться (возможно, вам придется попробовать пару раз). Теперь, когда у вас есть вторичный DNS-сервер, не забудьте изменить конфигурацию TCP/IP на своих рабочих станциях, чтобы машины знали о вторичном DNS-сервере.
Теперь, когда я обсудил настройку вторичного DNS-сервера, я хочу быстро показать вам, как назначить контроллер домена глобальным каталогом. Помните, что вам нужно иметь как минимум два сервера глобального каталога в каждом домене, чтобы предотвратить описанные выше проблемы.
Чтобы назначить контроллер домена сервером глобального каталога, откройте консоль сайтов и служб Active Directory. Теперь перейдите по дереву консоли к Active Directory Sites and Services | Сайты | Имя первого сайта по умолчанию | Серверы | сервер, который вы выбрали в качестве сервера глобального каталога | Настройки NTDS. Теперь щелкните правой кнопкой мыши контейнер «Настройки NTDS» и выберите команду «Свойства» в появившемся контекстном меню. Когда вы это сделаете, вы увидите лист свойств настроек NTDS. Установите флажок «Глобальный каталог» на вкладке «Общие» листа свойств и нажмите «ОК». Примерно через пять минут сервер начнет функционировать как сервер глобального каталога.
Вывод
Наличие DNS-сервера может иметь катастрофические последствия для вашей сети, если отказавший DNS-сервер также является единственным сервером глобального каталога организации и выполняет роли хозяина операций для организации. В этой статье я объяснил, как вы можете создать вторичный DNS-сервер и дополнительные серверы глобального каталога, чтобы предотвратить эту проблему.