Удаление контроллера домена
В некоторых ситуациях (изменение архитектуры сети, плановый вывод сервера из эксплуатации, выход сервера из строя и т. д.) возникает необходимость в удалении контроллера домена путем понижения его роли до рядового сервера. При работе с контроллерами домена Эллес для этой цели используется подкоманда samba-tool domain demote (операция demote).
Некорректное выполнение операции demote может привести к нестабильной работе домена, включая следующие проблемы:
-
нестабильная работа процесса репликации;
-
замедление работы остальных контроллеров домена из-за ожидания ответов от некорректно смещенного контроллера и неудачных попыток репликации;
-
проблемы с входом в домен либо увеличение времени входа на участниках домена.
Поэтому после ее проведения обязательно должны быть проведены все необходимые проверки.
Сценарии удаления
Возможны следующие сценарии использования операции demote:
-
понижение роли работающего контроллера домена;
-
удаление неработоспособного контроллера домена, доступ к которому отсутствует.
|
Удаление роли контроллера домена в удаленном режиме должно выполняться только в том случае, если сервер не подключен к домену (например, по причине выхода из строя аппаратной части) и восстанавливать подключение не планируется. В противном случае необходимо придерживаться первого сценария, который обеспечивает репликацию всех изменений с удаляемого контроллера на другие работающие контроллеры домена. |
Понижение роли работающего контроллера домена
Для планового удаления одного из работающих контроллеров домена (RWDC или RODC):
-
Выполните вход на удаляемый контроллер домена, используя локальную учетную запись с правами суперпользователя.
-
Убедитесь, что на сервере работает сервис
inno-samba:systemctl status inno-samba.service
-
Убедитесь, что сервер входит в список контроллеров домена, любым из доступных способов. Например:
-
с помощью утилиты
samba-tool:samba-tool computer list --base-dn "OU=Domain Controllers"
-
с помощью утилиты
ldapsearch:ldapsearch -H ldap://dc-name.domain.name -b 'OU=Domain Controllers,DC=domain,DC=name' '(objectClass=computer)'
Если утилита отсутствует, предварительно установите ее:
sudo apt install ldap-utils
-
на участнике домена под управление ОС Windows в списке контроллеров в оснастке Remote Server Administration Tools (RSAT):
-
запустите RSAT;
-
в списке контейнеров в домене в панели слева нажмите Domain Controllers.
-
-
-
Проверьте наличие у контроллера ролей FSMO:
samba-tool fsmo show
При необходимости передайте роли другим контроллерам домена (см. подробнее в разделе «Администрирование ролей FSMO»):
-
выполните вход на целевой контроллер домена под учетной записью с необходимыми для передачи роли правами;
-
выполните подкоманду передачи роли, указав ее имя с помощью ключа
--role:samba-tool fsmo transfer --role=<role>
-
-
Убедитесь, что контроллер домена не является единственным сервером глобального каталога в лесу:
samba-tool gc list
При необходимости включите роль сервера глобально каталога на других контроллерах в домене (см. подробнее в разделе «Администрирование роли Global Catalog»):
-
выполните вход на целевой контроллер домена под учетной записью с необходимыми для передачи роли правами;
-
выполните подкоманду включение роли глобального каталога:
samba-tool gc enable
-
-
Для проверки корректности удаления записей DNS после операции понижения получите и сохраните
objectGUIDконтроллера домена, указав его имя хоста (DC-NAMEв примере):ldbsearch -H /app/inno-samba/private/sam.ldb '(invocationId=*)' --cross-ncs objectguid | grep -A1 DC-NAME
-
Выполните операцию понижения:
samba-tool domain demote -U 'administrator@DOMAIN.NAME'
В случае успешного завершения процесса смещения в конце лога операции будет выведено сообщение:
Demote successful
-
Убедитесь, что контроллер выведен из домена:
-
выполните вход на любой другой контроллер в домене под учетной записью с необходимыми правами;
-
убедитесь, что выведенный из домена контроллер отсутствует в списке работающих контроллеров:
-
с помощью утилиты
samba-tool:samba-tool computer list --base-dn "OU=Domain Controllers"
-
с помощью утилиты
ldapsearch:ldapsearch -H ldap://dc-name.domain.name -b 'OU=Domain Controllers,DC=domain,DC=name' '(objectClass=computer)'
Если утилита отсутствует, предварительно установите ее:
sudo apt install ldap-utils
-
на участнике домена под управление ОС Windows в списке контроллеров в оснастке Remote Server Administration Tools (RSAT):
-
запустите RSAT;
-
в списке контейнеров в домене в панели слева нажмите Domain Controllers;
-
-
-
убедитесь, что в логах команд репликации отсутствуют записи, относящиеся к выведенному из домена контроллеру; например:
samba-tool drs kcc -U 'administrator@DOMAIN.NAME' samba-tool drs showrepl -U 'administrator@DOMAIN.NAME'
-
убедитесь, что для выведенного контроллера отсутствуют записи DNS:
samba-tool dns query 127.0.0.1 _msdcs.domain.name @ ALL -U 'administrator@DOMAIN.NAME'
-
-
Если контроллер домена также выполнял функции DNS-сервера для определенных зон DNS, убедитесь, что участники домена и другие контроллеры домена больше не используют его для разрешения зон DNS.
После понижения сервер остается в домене в роли рядового участника.
Чтобы удалить его из домена, выполните вход на работающий контроллер домена под учетной записью с необходимыми правами:
-
убедитесь, что сервер присутствует в списке участников домена:
samba-tool computer list
-
удалите учетную запись сервера, указав имя хоста (
demoted-dc-nameв примере):samba-tool computer delete demoted-dc-name
Удаление недоступного контроллера домена
Для удаления из домена контроллера (RWDC или RODC), который по какой-либо причине оказался недоступен и не может быть снова подключен к сети:
-
Выполните вход на любой работающий контроллер домена в лесу, используя локальную учетную запись с правами суперпользователя.
-
Убедитесь, что удаляемый сервер входит в список контроллеров домена, любым из доступных способов. Например:
-
с помощью утилиты
samba-tool:samba-tool computer list --base-dn "OU=Domain Controllers"
-
с помощью утилиты
ldapsearch:ldapsearch -H ldap://dc-name.domain.name -b 'OU=Domain Controllers,DC=domain,DC=name' '(objectClass=computer)'
Если утилита отсутствует, предварительно установите ее:
sudo apt install ldap-utils
-
на участнике домена под управление ОС Windows в списке контроллеров в оснастке Remote Server Administration Tools (RSAT):
-
запустите RSAT;
-
в списке контейнеров в домене в панели слева нажмите Domain Controllers.
-
-
-
Проверьте наличие у контроллера FSMO-ролей:
samba-tool fsmo show
При необходимости выполните захват ролей, передав их другим контроллерам домена (см. подробнее в разделе «Администрирование ролей FSMO»):
-
выполните вход на целевой контроллер домена под учетной записью с необходимыми для передачи роли правами;
-
выполните подкоманду захвата роли, указав ее имя с помощью ключа
--role:samba-tool fsmo seize --role=<role>
-
-
Убедитесь, что удаляемый контроллер домена не является единственным сервером глобального каталога в лесу:
samba-tool gc list
При необходимости включите роль сервера глобально каталога на других контроллерах в домене (см. подробнее в разделе «Администрирование роли Global Catalog»):
-
выполните вход на целевой контроллер домена под учетной записью с необходимыми для передачи роли правами;
-
выполните подкоманду включение роли глобального каталога:
samba-tool gc enable
-
-
Для проверки корректности удаления записей DNS после операции понижения получите и сохраните
objectGUIDконтроллера домена, указав его имя хоста (DC-NAMEв примере):ldbsearch -H /app/inno-samba/private/sam.ldb '(invocationId=*)' --cross-ncs objectguid | grep -A1 DC-NAME
-
Выполните операцию удаления с указанием имени удаляемого контроллера в качестве значения параметра
--remove-other-dead-server:samba-tool domain demote \ -U 'administrator@DOMAIN.NAME' \ --remove-other-dead-server=DC-NAME -
Убедитесь, что контроллер выведен из домена:
-
выполните вход на любой другой контроллер в домене под учетной записью с необходимыми правами;
-
убедитесь, что выведенный из домена контроллер отсутствует в списке работающих контроллеров:
-
с помощью утилиты
samba-tool:samba-tool computer list --base-dn "OU=Domain Controllers"
-
с помощью утилиты
ldapsearch:ldapsearch -H ldap://dc-name.domain.name -b 'OU=Domain Controllers,DC=domain,DC=name' '(objectClass=computer)'
Если утилита отсутствует, предварительно установите ее:
sudo apt install ldap-utils
-
на участнике домена под управление ОС Windows в списке контроллеров в оснастке Remote Server Administration Tools (RSAT):
-
запустите RSAT;
-
в списке контейнеров в домене в панели слева нажмите Domain Controllers;
-
-
-
убедитесь, что в логах команд репликации отсутствуют записи, относящиеся к выведенному из домена контроллеру; например:
samba-tool drs kcc -U 'administrator@DOMAIN.NAME' samba-tool drs showrepl -U 'administrator@DOMAIN.NAME'
-
убедитесь, что для выведенного контроллера отсутствуют записи DNS:
samba-tool dns query 127.0.0.1 _msdcs.domain.name @ ALL -U 'administrator@DOMAIN.NAME'
-
-
Если контроллер домена также выполнял функции DNS-сервера для определенных зон DNS, убедитесь, что участники домена и другие контроллеры домена больше не используют его для разрешения зон DNS.
Формат вызова
Общий формат вызова:
samba-tool domain demote [options]
В процессе выполнения операции:
-
локальные изменения в базе данных работающего контроллера домена реплицируются на один из доступных контроллеров домена;
-
сервер удаляется из списка контроллеров домена и переводится в разряд рядовых участников;
-
в базе данных службы каталогов удаляются связанные с контроллером объекты, обеспечивающие его участие в процессах репликации и т. д.;
-
удаляются относящиеся к контроллеру домена записи DNS.
В случае успешного завершения операции сервер переводится в разряд рядовых участников домена.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--remove-other-dead-server=REMOVE_OTHER_DEAD_SERVER— контроллер домена (имя или NTDS GUID), все ссылки на который должны быть удалены; -
--server=SERVER— доступный для записи контроллер домена (RWDC) для фиксации изменений, связанных с понижением роли.
Примеры
Пример понижения роли текущего работающего сервера:
samba-tool domain demote -U 'administrator@DOMAIN.NAME'
Пример понижения роли текущего работающего сервера с явным указанием целевого сервера, на который должны реплицироваться локальные изменения:
samba-tool domain demote \ -U 'administrator@DOMAIN.NAME' \ --server=DC1
Пример удаления роли контроллера домена для недоступного сервера в удаленном режиме:
samba-tool domain demote \
-U 'administrator@DOMAIN.NAME' \
--remove-other-dead-server=DC2
Пример удаления роли контроллера домена для недоступного сервера в удаленном режиме с явным указанием сервера, через который должна выполняться операция удаления:
samba-tool domain demote \
-U 'administrator@DOMAIN.NAME' \
--remove-other-dead-server=DC2 \
--server=DC1