ActiveDirectory/Migration/Replace: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Сценарий '''замещающей''' миграции доменной инфраструктуры MS AD на {{pkg|Samba}}. <div id="prep"></div> == Описание == Данный сценарий подразумевает единовременное замещение имеющихся MS AD контроллеров домена на контроллеры домена Samba. При этом основная часть учётных дан...»)
 
 
(не показано 16 промежуточных версий 2 участников)
Строка 8: Строка 8:


Вначале база данных MS AD переносится в закрытое окружение, где, на её основе, разворачивается КД (контроллер домена) Samba. Следующим этапом разворачиваются другие контроллеры (реплики первого), соответствующие своим MS AD оригиналам. В зависимости от конфигурации сетевой инфраструктуры (DNS, DHCP), новые контроллеры могут дублировать имена и IP-адреса своих MS AD прототипов.
Вначале база данных MS AD переносится в закрытое окружение, где, на её основе, разворачивается КД (контроллер домена) Samba. Следующим этапом разворачиваются другие контроллеры (реплики первого), соответствующие своим MS AD оригиналам. В зависимости от конфигурации сетевой инфраструктуры (DNS, DHCP), новые контроллеры могут дублировать имена и IP-адреса своих MS AD прототипов.
Процесс проходит в несколько этапов:
* Подготовка промежуточного КД MS AD.
* Подготовка закрытого окружения.
* Размещение в закрытом окружении промежуточного КД MS AD и машины с {{pkg|samba-dc}}.
* Перенос базы на машину с {{pkg|samba-dc}}.
* Разворачивание первого КД {{pkg|samba-dc}} с использованием полученной базы.
* Дублирование структуры парка КД MS AD, но уже на {{pkg|samba-dc}}.
* Публикация полученной доменной инфраструктуры.


Особенности:
Особенности:
Строка 29: Строка 19:
* Сохраняются DNS записи
* Сохраняются DNS записи


{{note|КД - контроллер домена}}
Процесс проходит в несколько этапов:


== Подготовка промежуточного КД ==
* Подготовка закрытого окружения.
* Выгрузка слепка базы из MS AD
* Разворачивание первого КД {{pkg|samba-dc}} с использованием полученной базы.
* Дублирование структуры парка КД MS AD, но уже на {{pkg|samba-dc}}.
* Публикация полученной доменной инфраструктуры.


Необходимо ввести в MS AD домен машину с Windows Server подходящей версии (с поддержкой необходимой версии леса) и дождаться полного завершения репликации. Затем машину можно переносить в закрытое окружение, а в MS AD сделать для неё offline demote.
{{note|КД - контроллер домена}}


== Подготовка закрытого окружения ==
== Подготовка закрытого окружения ==
Строка 39: Строка 33:
Под закрытым окружением здесь подразумевается сетевое окружение, отрезанное от оригинальной MS AD инфраструктуры и позволяющее использовать IP-адреса MS AD контроллеров домена без конфликтов.
Под закрытым окружением здесь подразумевается сетевое окружение, отрезанное от оригинальной MS AD инфраструктуры и позволяющее использовать IP-адреса MS AD контроллеров домена без конфликтов.


== Размещение в закрытом окружении промежуточного КД MS AD и машины с {{pkg|samba-dc}} ==
Такое окружение позволяет свободно построить доменную инфраструктуру на базе {{pkg|samba-dc}} дублирующую оригинальную инфраструктуру MS AD, отработать процесс переноса слепка базы MS AD на КД с {{pkg|samba-dc}} и проверить получившийся результат.


Необходимо, чтобы в закрытом окружении оказались машина с промежуточным КД MS AD и машина с {{pkg|samba-dc}}. В этом же окружении можно развернуть клиентские машины с MS Windows и Linux для предварительного тестирования результатов миграции.
В окружении рекомендуется развернуть следующие машины:
* Промежуточный КД MS AD (если необходим)
* Сервер с {{pkg|samba-dc}} на базе ALT Server
* Рабочая станция на базе MS Windows
* Рабочая станция c ALT Workstation


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


{| class="wikitable"
{| class="wikitable"
|+Промежуточный КД MS AD
!Машина
!Hostname
!IP
!Domain short name (NetBIOS name)
!Domain DNS
|-
|-
|Hostname
|Промежуточный КД MS AD
|ORIGIN_DC
|ORIGIN_DC
|-
|IP
|172.16.0.10/24
|172.16.0.10/24
|-
|Domain short name (NetBIOS name)
|MIGRATION
|MIGRATION
|-
|Domain DNS
|migration.alt
|migration.alt
|}
{{attention|IP-адрес промежуточного КД MS AD в закрытом окружении должно совпадать с его адресом в реальной инфраструктуре}}
{| class="wikitable"
|+КД с {{pkg|samba-dc}}
|-
|-
|Hostname
|Сервер с {{pkg|samba-dc}}
|ALT_DC.migration.alt
|ALT_DC.migration.alt
|-
|IP
|172.16.0.20/24
|172.16.0.20/24
|
|
|-
|-
|Domain short name (NetBIOS name)
|Рабочая станция на базе MS Windows
|
|WIN_WS.migration.alt
|172.16.0.100
|MIGRATION
|migration.alt
|-
|-
|Domain DNS
|Рабочая станция c ALT Workstation
|
|ALT_WS.migration.alt
|172.16.0.101
|MIGRATION
|migration.alt
|}
|}
{{attention|IP-адрес промежуточного КД MS AD в закрытом окружении должно совпадать с его адресом в реальной инфраструктуре}}
{{note|Промежуточный КД MS AD необходим только в случае реализации сценария '''выгрузки слепка базы из MS AD в закрытом окружении'''}}
{{note|Выше приведённый набор машин носить рекомендательный характер. В зависимости от особенностей конкретной инфраструктуры имеет смысл расширить его}}
== Выгрузка слепка базы из MS AD ==
Создание полного слепка базы MS AD является ключевым этапом миграции доменной инфраструктуры. Для создания этого слепка существует два варианта:
* Выгрузка базы в закрытом окружении
*: Подразумевает создание промежуточного КД MS AD, его очистку и перенос в закрытое окружение. Затем производится выгрузка базы.
* Выгрузка базы в рабочем окружении
*: Выгрузка базы производится напрямую с одного из КД рабочей MS AD инфраструктуры. В процессе производится исключительно чтение данных с КД, потому оригинальная MS AD инфраструктура не будет затронута.
=== Подготовка к выгрузка базы в закрытом окружении ===
{{note|Данную секцию можно проигнорировать, если вы планируете выгружать базу с рабочего КД MS AD}}
==== Подготовка промежуточного КД ====


=== Подготовка ORIGIN_DC ===
Необходимо ввести в MS AD домен машину (ORIGIN_DC) с Windows Server подходящей версии (с поддержкой необходимой версии леса) и дождаться полного завершения репликации. Затем машину можно переносить в закрытое окружение, а в MS AD сделать для неё offline demote.
 
==== Размещение в закрытом окружении промежуточного КД MS AD и машины с {{pkg|samba-dc}} ====
 
Необходимо, чтобы в закрытом окружении оказались машина с промежуточным КД MS AD и машина с {{pkg|samba-dc}}. В этом же окружении можно развернуть клиентские машины с MS Windows и Linux для предварительного тестирования результатов миграции.
 
==== Подготовка ORIGIN_DC ====


Запускаем ORIGIN_DC, а затем перехватываем на нём FSMO роли ([https://learn.microsoft.com/ru-ru/windows-server/identity/ad-ds/manage/ad-forest-recovery-seizing-operations-master-role инструкция]).
Запускаем ORIGIN_DC, а затем перехватываем на нём FSMO роли ([https://learn.microsoft.com/ru-ru/windows-server/identity/ad-ds/manage/ad-forest-recovery-seizing-operations-master-role инструкция]).
Строка 85: Строка 105:


ORIGIN_DC готов к выгрузке базы.
ORIGIN_DC готов к выгрузке базы.
=== Выгрузка базы ===
Выгрузка слепка базы домена MS AD должна производиться на машине с ОС ALT с последними обновлениями.
Устанавливаем {{pkg|samba-dc}}:
# apt-get install task-samba-dc
Выгружаем слепок базы:
# samba-tool domain backup online --server <FQDN КД> --targetdir=/tmp -U<domain admin>
{{note|<FQDN КД> - полное доменное имя КД MS AD}}
{{note|<domain admin> - пользователь с максимальными правами администратора домена, желательно Administrator или Администратор}}
Если выгрузка произошла успешно, то, в результате, получаем архив с базой в понятном {{pkg|samba-dc}} формате:
# ls /tmp/samba-backup-<domain DNS name>-<timestamp>.tar.bz2
== Разворачивание первого КД {{pkg|samba-dc}} с использованием полученной базы ==
Этап восстановления из файла резервной копии аналогичен разворачиванию домена, который выполнялся при первой настройке сети Samba, за исключением того, что резервная копия содержит в себе все объекты базы данных, которые были добавлены с момента создания домена. Как и при создании нового домена, при запуске команды восстановления домена потребуется указать новый контроллер домена. Этот контроллер домена '''не должен''' был существовать ранее в сети Samba.
Подготовка ОС
# apt-get install task-samba-dc
# for service in smb nmb krb5kdc slapd bind; do systemctl disable $service; systemctl stop $service; done
# rm -f /etc/samba/smb.conf
# rm -rf /var/lib/samba
# rm -rf /var/cache/samba
# mkdir -p /var/lib/samba/sysvol
Команда для восстановления из файла бэкапа:
# samba-tool domain backup restore --backup-file=<tar-file> --newservername=<DC-name> --targetdir=<new-samba-dir>
Следует обратить внимание, что указанный целевой каталог должен быть пустым (или не должен существовать).
Восстановленный DC будет добавлен на сайт 'Default-First-Site-Name'. Этот сайт будет создан в восстановленной БД, если он еще не существует. Можно указать альтернативный сайт для добавления восстановленного контроллера домена с помощью параметра --site.
# samba-tool domain backup restore --site=<newsite> --backup-file=<tar-file> --newservername=<DC-name> --targetdir=<new-samba-dir>
Скопировать smb.conf и krb5.conf
# cp /var/lib/samba/etc/smb.conf /etc/samba/
# cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Запустить Samba и проверить ее работу
# systemctl enable --now samba
# samba-tool domain info 127.0.0.1
Forest          : <domain.tld>
Domain          : <domain.tld>
Netbios domain  : <DOMAIN>
DC name          : newdc.<domain.tld>
DC netbios name  : NEWDC
Server site      : Default-First-Site-Name
Client site      : Default-First-Site-Name
# smbclient -L localhost -U<domain admin>
Password for [<DOMAIN>\<domain admin>]:
    Sharename      Type      Comment
    ---------      ----      -------
    sysvol          Disk
    netlogon        Disk
    share          Disk      Commonplace
    Free            Disk
    IPC$            IPC      IPC Service (Samba 4.16.10)
SMB1 disabled -- no workgroup available
# host -t SRV _kerberos._udp.<domain.tld>.
_kerberos._udp.<domain.tld> has SRV record 0 100 88 newdc.<domain.tld>.
# host -t SRV _ldap._tcp.<domain.tld>.
_ldap._tcp.<domain.tld> has SRV record 0 100 389 newdc.<domain.tld>.
#  samba-tool fsmo show
SchemaMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
== Дублирование структуры парка КД MS AD, но уже на {{pkg|samba-dc}} ==
== Публикация полученной доменной инфраструктуры ==

Текущая версия от 14:08, 16 июня 2023

Сценарий замещающей миграции доменной инфраструктуры MS AD на Samba.

Описание

Данный сценарий подразумевает единовременное замещение имеющихся MS AD контроллеров домена на контроллеры домена Samba. При этом основная часть учётных данных из базы MS AD сохраняется.

Вначале база данных MS AD переносится в закрытое окружение, где, на её основе, разворачивается КД (контроллер домена) Samba. Следующим этапом разворачиваются другие контроллеры (реплики первого), соответствующие своим MS AD оригиналам. В зависимости от конфигурации сетевой инфраструктуры (DNS, DHCP), новые контроллеры могут дублировать имена и IP-адреса своих MS AD прототипов.

Особенности:

  • Имя домена остаётся прежним
  • SID домена остаётся прежним
  • Сохраняются аккаунты и пароли пользователей
  • Сохраняются группы
  • Сохраняются подразделения
  • Сохраняются машинные аккаунты
  • Сохраняются DNS записи

Процесс проходит в несколько этапов:

  • Подготовка закрытого окружения.
  • Выгрузка слепка базы из MS AD
  • Разворачивание первого КД samba-dc с использованием полученной базы.
  • Дублирование структуры парка КД MS AD, но уже на samba-dc.
  • Публикация полученной доменной инфраструктуры.
Примечание: КД - контроллер домена


Подготовка закрытого окружения

Под закрытым окружением здесь подразумевается сетевое окружение, отрезанное от оригинальной MS AD инфраструктуры и позволяющее использовать IP-адреса MS AD контроллеров домена без конфликтов.

Такое окружение позволяет свободно построить доменную инфраструктуру на базе samba-dc дублирующую оригинальную инфраструктуру MS AD, отработать процесс переноса слепка базы MS AD на КД с samba-dc и проверить получившийся результат.

В окружении рекомендуется развернуть следующие машины:

  • Промежуточный КД MS AD (если необходим)
  • Сервер с samba-dc на базе ALT Server
  • Рабочая станция на базе MS Windows
  • Рабочая станция c ALT Workstation

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

Машина Hostname IP Domain short name (NetBIOS name) Domain DNS
Промежуточный КД MS AD ORIGIN_DC 172.16.0.10/24 MIGRATION migration.alt
Сервер с samba-dc ALT_DC.migration.alt 172.16.0.20/24
Рабочая станция на базе MS Windows WIN_WS.migration.alt 172.16.0.100 MIGRATION migration.alt
Рабочая станция c ALT Workstation ALT_WS.migration.alt 172.16.0.101 MIGRATION migration.alt
Внимание! IP-адрес промежуточного КД MS AD в закрытом окружении должно совпадать с его адресом в реальной инфраструктуре
Примечание: Промежуточный КД MS AD необходим только в случае реализации сценария выгрузки слепка базы из MS AD в закрытом окружении
Примечание: Выше приведённый набор машин носить рекомендательный характер. В зависимости от особенностей конкретной инфраструктуры имеет смысл расширить его


Выгрузка слепка базы из MS AD

Создание полного слепка базы MS AD является ключевым этапом миграции доменной инфраструктуры. Для создания этого слепка существует два варианта:

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

Подготовка к выгрузка базы в закрытом окружении

Примечание: Данную секцию можно проигнорировать, если вы планируете выгружать базу с рабочего КД MS AD


Подготовка промежуточного КД

Необходимо ввести в MS AD домен машину (ORIGIN_DC) с Windows Server подходящей версии (с поддержкой необходимой версии леса) и дождаться полного завершения репликации. Затем машину можно переносить в закрытое окружение, а в MS AD сделать для неё offline demote.

Размещение в закрытом окружении промежуточного КД MS AD и машины с samba-dc

Необходимо, чтобы в закрытом окружении оказались машина с промежуточным КД MS AD и машина с samba-dc. В этом же окружении можно развернуть клиентские машины с MS Windows и Linux для предварительного тестирования результатов миграции.

Подготовка ORIGIN_DC

Запускаем ORIGIN_DC, а затем перехватываем на нём FSMO роли (инструкция).

Теперь необходимо удалить все прочие недоступные из закрытого окружения КД (инструкция).

ORIGIN_DC готов к выгрузке базы.

Выгрузка базы

Выгрузка слепка базы домена MS AD должна производиться на машине с ОС ALT с последними обновлениями.

Устанавливаем samba-dc:

# apt-get install task-samba-dc

Выгружаем слепок базы:

# samba-tool domain backup online --server <FQDN КД> --targetdir=/tmp -U<domain admin>
Примечание: <FQDN КД> - полное доменное имя КД MS AD
Примечание: <domain admin> - пользователь с максимальными правами администратора домена, желательно Administrator или Администратор


Если выгрузка произошла успешно, то, в результате, получаем архив с базой в понятном samba-dc формате:

# ls /tmp/samba-backup-<domain DNS name>-<timestamp>.tar.bz2

Разворачивание первого КД samba-dc с использованием полученной базы

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

Подготовка ОС

# apt-get install task-samba-dc
# for service in smb nmb krb5kdc slapd bind; do systemctl disable $service; systemctl stop $service; done
# rm -f /etc/samba/smb.conf
# rm -rf /var/lib/samba
# rm -rf /var/cache/samba
# mkdir -p /var/lib/samba/sysvol

Команда для восстановления из файла бэкапа:

# samba-tool domain backup restore --backup-file=<tar-file> --newservername=<DC-name> --targetdir=<new-samba-dir>

Следует обратить внимание, что указанный целевой каталог должен быть пустым (или не должен существовать).

Восстановленный DC будет добавлен на сайт 'Default-First-Site-Name'. Этот сайт будет создан в восстановленной БД, если он еще не существует. Можно указать альтернативный сайт для добавления восстановленного контроллера домена с помощью параметра --site.

# samba-tool domain backup restore --site=<newsite> --backup-file=<tar-file> --newservername=<DC-name> --targetdir=<new-samba-dir>


Скопировать smb.conf и krb5.conf

# cp /var/lib/samba/etc/smb.conf /etc/samba/
# cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

Запустить Samba и проверить ее работу

# systemctl enable --now samba
# samba-tool domain info 127.0.0.1
Forest           : <domain.tld>
Domain           : <domain.tld>
Netbios domain   : <DOMAIN>
DC name          : newdc.<domain.tld>
DC netbios name  : NEWDC
Server site      : Default-First-Site-Name
Client site      : Default-First-Site-Name
# smbclient -L localhost -U<domain admin>
Password for [<DOMAIN>\<domain admin>]:

   Sharename       Type      Comment
   ---------       ----      -------
   sysvol          Disk
   netlogon        Disk
   share           Disk      Commonplace
   Free            Disk
   IPC$            IPC       IPC Service (Samba 4.16.10)
SMB1 disabled -- no workgroup available

# host -t SRV _kerberos._udp.<domain.tld>.
_kerberos._udp.<domain.tld> has SRV record 0 100 88 newdc.<domain.tld>.
# host -t SRV _ldap._tcp.<domain.tld>.
_ldap._tcp.<domain.tld> has SRV record 0 100 389 newdc.<domain.tld>.
#  samba-tool fsmo show 
SchemaMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>
ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=<domain>,DC=<tld>

Дублирование структуры парка КД MS AD, но уже на samba-dc

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