Репликация с windows на alt server

Samba logo.png

Использование Samba 4 в роли контроллера домена Active Directory. Такой способ позволяет вводить Windows 7/8 в домен безо всяких манипуляций с реестром.

Возможности

Поддерживаются базовые возможности Active Directory:

  • Аутентификация рабочих станций Windows и Linux и служб;
  • Авторизация и предоставление ресурсов;
  • Групповые политики (GPO);
  • Перемещаемые профили (Roaming Profiles);
  • Поддержка инструментов Microsoft для управления серверами (Remote Server Administration Tools) с компьютеров под управлением Windows (под WINE не работает);
  • Поддержка протоколов SMB2 и SMB3 (в том числе с поддержкой шифрования);
  • Репликация с другими серверами (в том числе с Windows 2012).

Не поддерживается

Не поддерживаются следующие возможности[1]:

  • Не реплицируется хранилище SYSVOL (можно использовать osync[2][3]);
  • Доверительные отношения с некоторыми ограничениями[4]):
    • Правила SID filtering не реализованы;
    • Невозможно добавить пользователей и группы в доменные группы доверенного домена;
  • Не поддерживаются поддомены[5];
    • В Samba отсутствует полноценная поддержка фантомных объектов[6];
    • Проблемы при построении структуры AD (Active Directory browser), проблемы при поиске объектов в другом домене;
    • При применении групповых политик в многодоменной среде могут быть проблемы с определением, в каком домене находится компьютер;
  • DFS работает только в режиме одиночного сервера;
  • Не реализован протокол DFS-R[7];
  • Не полностью реализована поддержка контроллеров домена только на чтение[8] — RODC[9];
  • Ограничения размера базы TDB в 4 ГБ[10], приводит к невозможности перехода от леса доменов к плоской структуре с одним доменом (решено в samba-4.9 и старше с использованием бекенда LMDB[11]).
  • Не закончено тестирование поддержки CTDB (хранение данных в кластерной инфраструктуре);
  • Не закончено тестирование работы Winbind.

Смотрите также статью Возможности и ограничения Samba 4 как контроллера домена Active Directory на http://habrahabr.ru/.

Внимание! Samba AD DC несовместима с OpenLDAP и MIT Kerberos, поэтому службы, использующие MIT Kerberos, несовместимы с ним.

Внимание! Samba AD DC функционирует на уровне контроллера доменов Windows 2008 R2. Вы можете ввести его в домен Windows 2012 как клиента, но не как контроллер домена.

Установка

1. Установите пакет task-samba-dc  с версии 4.3.1  для Samba DC на базе Heimdal Kerberos или task-samba-dc-mitkrb5  с версии 4.10.3-alt4  для Samba DC на базе MIT Kerberos, который установит необходимое.

Примечание: До версии 4.3.1 требовалось явно установить пакеты: samba-DC python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-client krb5-kinit

Примечание: Samba на базе Heimdal Kerberos использует KDC несовместимый с MIT Kerberos, поэтому на контроллере домена на базе Heimdal Kerberos из пакета samba-dc, для совместимости с клиентской библиотекой libkrb5, в krb5.conf (в блоке —- libdefaults) необходимо отключить использование ядерного кеша ключей — KEYRING:persistent:%{uid}:

# control krb5-conf-ccache default

2. Так как Samba в режиме контроллера домена (Domain Controller, DC) использует свой сервер LDAP, свой центр распределения ключей KDC (сервер Kerberos) и свой сервер DNS (если не включен плагин BIND9_DLZ), перед установкой
остановите конфликтующие службы krb5kdc и slapd, а также bind:

# for service in smb nmb krb5kdc slapd bind; do chkconfig $service off; service $service stop; done

или

# for service in smb nmb krb5kdc slapd bind; do systemctl disable $service; systemctl stop $service ; done

Примечание: Вы так же можете отключить службы и выключить автозагрузку служб графическим способом в ЦУС. Например, в ALT Server зайдите в Система > Администрирование > ЦУС > Режим эксперта> Системные службы.

Примечание: При использовании плагина BIND9_DLZ, после создания домена, службу bind потребуется включить.

Создание нового домена

Восстановление к начальному состоянию samba

Очищаем базы и конфигурацию Samba (если уже создавался домен):

# rm -f /etc/samba/smb.conf
# rm -rf /var/lib/samba
# rm -rf /var/cache/samba
# mkdir -p /var/lib/samba/sysvol

Внимание! Обязательно удаляйте /etc/samba/smb.conf перед созданием домена:

rm -f /etc/samba/smb.conf

Выбор имени домена

Имя домена для разворачиваемого DC должно состоять минимум из двух компонентов, разделённых точкой.

При этом должно быть установлено правильное имя узла и домена для сервера hostnamectl set-hostname name:

  • HOSTNAME=dc.domain.alt в /etc/sysconfig/network
  • # hostname dc.domain.alt
  • # domainname domain.alt

Внимание! При указании домена, имеющего суффикс .local, потребуется на сервере и подключаемых компьютерах под управлением Linux

отключить службу avahi-daemon

.

Создание домена с SAMBA_INTERNAL

Создание домена одной командой

Создание контроллера домена domain.alt с паролем администратора Pa$$word:

# samba-tool domain provision --realm=domain.alt --domain domain --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc

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

--option="dns forwarder=xxx.xxx.xxx.xxx"

Интерактивное создание домена

Примечание: У Samba свой собственный DNS-сервер. В DNS forwarder IP address нужно указать внешний DNS-сервер, чтобы DC мог разрешать внешние доменные имена.

В примере показано создание домена domain.alt.

Запустите samba-tool domain provision:

# samba-tool domain provision
Realm [DOMAIN.ALT]: 
 Domain [DOMAIN]: 
 Server Role (dc, member, standalone) [dc]: 
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: 
 DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: 
Administrator password: 
Retype password: 
Looking up IPv4 addresses
More than one IPv4 address found. Using 192.168.1.1
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=domain,DC=alt
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=domain,DC=alt
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role:           active directory domain controller
Hostname:              c228
NetBIOS Domain:        DOMAIN
DNS Domain:            domain.alt
DOMAIN SID:            S-1-5-21-80639820-2350372464-3293631772

При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»).

Примечание: Пароль администратора должен быть не менее 7 символов и содержать символы как минимум трёх групп из четырёх возможных: латинских букв в верхнем и нижнем регистрах, чисел и других небуквенно-цифровых символов.

Параметры —use-rfc2307 —use-xattrs=yes позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.

Запуск службы

Установите службу по умолчанию и запустите её:

# systemctl enable --now samba

Примечание: Если служба после установки никаким способом не запускается, перезагрузите сервер

Создание домена с BIND9_DLZ

По умолчанию в Samba используется dns-backend = SAMBA_INTERNAL, для возможности переключения режимов dns_backend для сервера SAMBA_INTERNAL/BIND9_DLZ требуется внести следующие изменения:

  1. Установить необходимые пакеты (bind и bind-utils) на сервер:
    # apt-get install bind bind-utils
    
  2. На сервере в файл /etc/samba/smb.conf в блок [global] добавить строку:
  3. Отключить chroot:
    # control bind-chroot disabled
    
  4. Отключить KRB5RCACHETYPE:
    # grep -q KRB5RCACHETYPE /etc/sysconfig/bind || echo 'KRB5RCACHETYPE="none"' >> /etc/sysconfig/bind
    
  5. Подключить плагин BIND_DLZ:
    # grep -q 'bind-dns' /etc/bind/named.conf || echo 'include "/var/lib/samba/bind-dns/named.conf";' >> /etc/bind/named.conf
    
  6. Привести /etc/bind/options.conf к виду (вместо {} подставить свои параметры в «»):
    options {
            version "unknown";
            directory "/etc/bind/zone";
            pid-file "";
            dump-file "/var/run/named_dump.db";
            statistics-file "/var/run/named.stats";
            recursing-file "/var/run/recursing";
    
            tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
    
            forwarders { {{ samba_dns_forward }}; };
            allow-query { localnets; {{ samba_network }}; };
            allow-recursion { localnets; {{ samba_network }}; };
    
            max-cache-ttl 86400;
    };
    
    logging {
            category lame-servers {null;};
    };
    
    Например:
    options {
    	    version "unknown";
    	    directory "/etc/bind/zone";
    	    pid-file "";
    	    dump-file "/var/run/named_dump.db";
    	    statistics-file "/var/run/named.stats";
    	    recursing-file "/var/run/recursing";
    
    	    tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
            minimal-responses yes;
    
            //может понадобиться отключить dnssec
            //dnssec-enable no;
            //dnssec-validation no;
    	        
    	    allow-query { localnets; 192.168.0.0/24; };
    	    allow-recursion { localnets; 192.168.0.0/24; };
    	
    	    include "/etc/bind/resolvconf-options.conf";
    	    max-cache-ttl 86400;
    
    };
    
    logging {
            category lame-servers {null;};
    };
    
    zone "example.test" {
           type forward;
           forwarders { 192.168.0.113; };
    };
    
  7. Выполнить остановку bind:
  8. При выполнении команды создания домена одной командой указать тип dns-backend = BIND9_DLZ:
    # samba-tool domain provision --realm=domain.alt --domain domain --adminpass='Pa$$word' --dns-backend=BIND9_DLZ --server-role=dc
    
  9. Далее произвести рестарт — samba, bind:
    # systemctl restart samba
    # systemctl restart bind
    

Настройка Kerberos

Откройте от имени суперпользователя файл /etc/krb5.conf.

Проверить что установлено значение false в строке «dns_lookup_realm = false«.

Раскомментируйте строку в [libdefaults] «default realm» и введите название области заглавными буквами.

Ниже, под строкой [realms] вместо EXAMPLE.COM введите название области, а вместо example.com в «default domain» введите IP-адрес сервера с Samba.

Под строкой [domain_realm] example.com и EXAMPLE.COM замените на ваш домен сохраняя регистр.

Альтернативный вариант

В момент создания домена Samba автоматически конфигурирует шаблон файла krb5.conf для вашего домена, и оставляет его в директории /var/lib/samba/private/krb5.conf.

Как следствие, можно его просто скопировать с заменой:

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

Проверка работоспособности

1. Общая информация о домене:

# samba-tool domain info 127.0.0.1
Forest           : domain.alt
Domain           : domain.alt
Netbios domain   : DOMAIN
DC name          : c228.domain.alt
DC netbios name  : C228
Server site      : Default-First-Site-Name
Client site      : Default-First-Site-Name

2. Просмотр предоставляемых служб:

# smbclient -L localhost -U administrator
Enter TEST\administrator's password: 

	Sharename       Type      Comment
	---------       ----      -------
	sysvol          Disk      
	netlogon        Disk      
	public          Disk      Public Stuff
	free            Disk      
	IPC$            IPC       IPC Service (Samba 4.14.10)
SMB1 disabled -- no workgroup available

3. Проверка конфигурации DNS

3.1 Убедитесь в наличии nameserver 127.0.0.1 в /etc/resolv.conf:

host domain.alt

3.2 Проверяем имена хостов:

  • адрес _kerberos._udp.*адрес домена с точкой
# host -t SRV _kerberos._udp.domain.alt.
_kerberos._udp.domain.alt has SRV record 0 100 88 c228.domain.alt.
  • адрес _ldap._tcp.*адрес домена с точкой
# host -t SRV _ldap._tcp.domain.alt.
_ldap._tcp.domain.alt has SRV record 0 100 389 c228.domain.alt.
  • адрес хоста.*адрес домена с точкой
# host -t A c228.domain.alt.
c228.domain.alt has address 192.168.1.1

Если имена не находятся, проверяйте выключение службы named.

  systemctl status named

4. Проверка Kerberos:

Внимание! Имя домена должно быть в верхнем регистре, иначе выдаст:

kinit: KDC reply did not match expectations while getting initial credentials
# kinit administrator
Password for administrator@DOMAIN.ALT: 
Warning: Your password will expire in 41 days on Вт 11 ноя 2014 08:58:30

Просмотр полученного билета:

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@DOMAIN.ALT

Valid starting       Expires              Service principal
30.09.2014 10:23:54  30.09.2014 20:23:54  krbtgt/DOMAIN.ALT@DOMAIN.ALT
        renew until 01.10.2014 10:23:45

Внимание! Для серверов, не внесённых в зону обратного просмотра DNS, авторизация через nslcd по GSSAPI будет вылетать с диагностикой:

Local error: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Server not found in Kerberos database)

Управление пользователями

Создать пользователя с паролем[12], :

samba-tool user create <имя пользователя>
samba-tool user setexpiry <имя пользователя>

Например,

samba-tool user create ivanov --given-name='Иван Иванов' --mail-address='ivanov@stand.alt'

Просмотреть доступных пользователей:

samba-tool user list

Удалить пользователя:

samba-tool user delete <имя пользователя>

Отключить пользователя:

samba-tool user disable <имя пользователя>

Включить пользователя:

samba-tool user enable <имя пользователя>

Изменить пароль пользователя:

samba-tool user setpassword <имя пользователя>

Не забудьте разблокировать пользователя:

samba-tool user setexpiry <имя пользователя> --noexpiry

Внимание! Не допускайте одинаковых имён для пользователя и компьютера, это может привести к коллизиям (например, такого пользователя нельзя добавить в группу). [13]

Если компьютер с таким именем заведён, удалить его можно командой:

pdbedit -x -m <имя>

Добавить группу:

samba-tool group add groupname

Добавить UNIX-группу:

samba-tool group add groupname --nis-domain=samdom --gid-number=<next available GID>

Удалить группу:

samba-tool group delete groupname

Добавить пользователя в группу:

samba-tool group addmembers "Domain Users" user
samba-tool group addmembers "Domain Users" user,user1,user2

Удалить пользователя из группы:

samba-tool group removemembers "Domain Users" user
samba-tool group removemembers "Domain Users" user,user1,user2

Пользователи группы:

samba-tool group listmembers "Domain Users" | grep username

Группы пользователя:

samba-tool user show username

Смотрим значение memberOf.

Заведение вторичного DC

Подробная инструкция на английском языке: https://wiki.samba.org/index.php/Join_a_domain_as_a_DC

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

Имя узла: dc2.domain.alt (192.168.1.106). Предполагается, что пакет task-samba-dc уже установлен.

1. Заводим IP-адрес для dc2 на PDC (с версии Samba 4.7 и выше — запись вносится автоматически):

Внимание! Указание аутентифицирующей информации (имени пользователя и пароля) обязательно!

# samba-tool dns add 192.168.1.1 domain.alt DC2 A 192.168.1.106 -U administrator

2. На dc2.domain.alt правим файл /etc/krb5.conf:

[libdefaults]
default_realm = DOMAIN.ALT
dns_lookup_realm = false
dns_lookup_kdc = true

Примечание: Перед вводом в домен в resolvconf обязательно должен быть добавлен PDC как nameserver.

3. Получаем билет и убеждаемся, что билет получен:

Внимание! Имя домена должно быть указано в верхнем регистре

# kinit administrator@DOMAIN.ALT
Password for administrator@DOMAIN.ALT: 
Warning: Your password will expire in 37 days on Пт 14 ноя 2014 14:31:40
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@DOMAIN.ALT

Valid starting       Expires              Service principal
07.10.2014 18:51:01  08.10.2014 04:51:01  krbtgt/DOMAIN.ALT@DOMAIN.ALT
        renew until 08.10.2014 18:50:51

4. Вводим в домен:

# samba-tool domain join domain.alt DC -Uadministrator --realm=domain.alt

Если всё нормально, в конце видим:

Joined domain DOMAIN (SID S-1-5-21-80639820-2350372464-3293631772) as a DC

5. После успешного ввода в домен в resolvconf необходимо сменить адрес PDC на адрес вторичного DC (в нашем примере 192.168.1.106).

6. Делаем службу samba запускаемой по умолчанию:

# systemctl enable samba

7. Запускаем службу, соответственно:

# systemctl start samba

Репликация

Внимание! Помните, что без успешной двунаправленной репликации в течение 14 дней DC исключается из Active Directory

Внимание! Указание аутентифицирующей информации (имени пользователя и пароля) обязательно!

Примечание: Начиная с версии samba 3.5 топология репликации выстраивается автоматически, следовательно пункты 1. и 2. можно пропустить

1. Реплицируем на вторичном DC (с первичного):

# samba-tool drs replicate dc2.domain.alt c228.domain.alt dc=domain,dc=alt -Uadministrator

(сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP).

2. Реплицируем на вторичном DC (на первичный):

# samba-tool drs replicate с228.domain.alt dc2.domain.alt dc=domain,dc=alt -Uadministrator

(сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP).

Примечание: Имя домена в именах серверов можно опустить (если они одинаковые)

3. Просмотр статуса репликации на PDC:

# samba-tool drs showrepl

Примечание: Если репликация на Windows не работает, добавьте в Active Directory Sites and Services новое соединение Active Directory. Реплицируйте на DC, подождите минут 5 и пробуйте реплицировать с Samba на Windows

Доверительные отношения

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

Подробнее:

  • Samba/InterdomainTrustRelationships
  • Trusts

Ссылки

  • Рекомендуемые серверные установочные образы (после установки выполните обновление ОС):
    • Альт Сервер
    • Альт Линукс СПТ 7.0 (сертификат ФСТЭК)
    • стартеркиты: x86_64, i586 (GPL)
    • существуют сборки samba-DC для порта на «Эльбрус»
  • Тестовые образы:
    • altlinux-p7-server-samba4.iso (старая стабильная ветка)
    • regular-server-samba4.iso (нестабильная ветка)
  • Документация на русском языке:
    • Инструкция по настройке Samba в качестве контроллера домена, совместимого с Active Directory
    • Samba4 — использование Python Scripting Interface
    • Возможности и ограничения Samba 4 как контроллера домена Active Directory
    • Samba DC в качестве второго контроллера в домене AD Windows 2012R2 и перемещаемые папки для клиентов на Windows и Linux
  • wiki.samba.org:
    • Samba AD DC HOWTO
    • Installing RSAT on Windows for AD Management
    • Добавление ещё одного DC в домен
    • Samba & Windows Profiles
    • Join an additional Samba DC to an existing Active Directory
    • Backup and restore an Samba AD DC
  • Иные ресурсы:
    • Заведение групповых политик для домена (ролик)
    • Samba 4 — domain controller#Join domain with a linux machine

Советы

  • Введите в домен машину с Windows, установите на неё Remote Server Administration Tools и управляйте доменом из графического интерфейса.
  • Для того, чтобы посмотреть конфигурацию LDAP контроллера домена, получите билет Kerberos (через kinit) и выполните:
ldapsearch -LLL -b '' -s base -x
  • Для отключения проверки необходимой длины и стойкости паролей выполните:
samba-tool domain passwordsettings set --complexity=off
samba-tool domain passwordsettings set --history-length=0
samba-tool domain passwordsettings set --min-pwd-age=0
samba-tool domain passwordsettings set --max-pwd-age=0
  • Для просмотра всех записей DNS домена выполните:
samba-tool dns query localhost test.altlinux '@' ALL -U 'Administrator%Pa$$word'
  • Для удаления заведённого хоста выполните:
samba-tool dns delete localhost test.altlinux host-51 A 192.168.3.51 -U 'Administrator%Pa$$word'

Troubleshooting

Если домен не создаётся с ошибкой типа ERROR(ldb): uncaught exception - operations error at ../source4/dsdb/samdb/ldb_modules/password_hash.c:2241
Удалите директиву include или includedir в /etc/krb5.conf[14]
Установка и ввод нового контроллера

С установкой MS Windows 2012R2 всё просто и более менее понятно. В интернете есть 1001 мануал по развертыванию домена на Windows как с помощью GUI так и средствами Powershell, поэтому повторять лишний раз не буду, оставлю только ссылку на офф. документацию, для любопытствующих и тех кто захочет освежить память.

Однако один важный момент в данном пункте всё таки есть. На сегодняшний день Samba не умеет работать со схемами каталога выше 2008R2.

Заголовок спойлера

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

DsAddEntry failed with status WERR_ACCESS_DENIED info (8567, ‘WERR_DS_INCOMPATIBLE_VERSION’)

Проблема в том, что Windows 2012 и 2012R2 используют инструменты WMI для работы с доменами и лесами, стабильная поддержка которых анонсирована только к версии Samba 4.11, которая должна выйти до конца этого года.
Из этого следует, что единственным вариантом для введения самбы в домен AD, развернутый на 2012R2 сервере, является понижение схемы с 69 до 47. Разумеется на рабочей инфраструктуре без веских причин этого делать не надо, но у нас тут тестовый стенд, так что почему бы собственно и нет.

Ставим Альт Сервер 8.2. Во время установки выбираем профиль «Сервер Samba-DC (контроллер AD)». На развернутом сервере производим полное обновление системы, и устанавливаем пакет task-samba-dc, который потянет за собой всё необходимое

# apt-get install task-samba-dc

Если вдруг task-samba-dc, вопреки заверениям документации Альта откажется ставить всё необходимое сам.

# apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-devel

Далее переходим к настройке Kerberos и получению тикета. Открываем файл krb5.conf, переходим в раздел [libdefaults], и приводим к следующему виду:

# vim /etc/krb5.conf

 dns_lookup_kdc = true
 dns_lookup_realm = true
 default_realm = TEST.LOCAL

Запрашиваем билет

# kinit administrator
Password for administrator@TEST.LOCAL:

Проверяем список полученых тикетов Kerberos

# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: administrator@TEST.LOCAL

Valid starting       Expires              Service principal
16.05.2019 11:51:38  16.05.2019 21:51:38  krbtgt/TEST.LOCAL@TEST.LOCAL
        renew until 23.05.2019 11:51:35

Теперь удаляем или переименовываем существующий конфиг самбы.

# mv smb.conf smb.conf.bak1

И наконец вводим в домен AD вторым контроллером:

# samba-tool domain join test.local DC -U"TEST\administrator"

Успешный ввод будет сопровождаться следующим логом

Finding a writeable DC for domain 'test.local'
Found DC DC1.TEST.LOCAL
Password for [TEST\administrator]:
Reconnecting to naming master e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.                           LOCAL
DNS name of new naming master is DC1.TEST.LOCAL
workgroup is TEST
realm is TEST.LOCAL
Adding CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
Adding CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC                           =TEST,DC=LOCAL
Adding CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN                           =Configuration,DC=TEST,DC=LOCAL
Adding SPNs to CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
Setting account password for DC2$
Enabling account
Calling bare provision
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
A Kerberos configuration suitable for Samba AD has been generated at /var/lib/sa                           mba/private/krb5.conf
Provision OK for domain DN DC=TEST,DC=LOCAL
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[402/1426] linked                           _values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[804/1426] linked                           _values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1206/1426] linke                           d_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1608/1426] linke                           d_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1743/1426] linke                           d_values[0/0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[402/2240] linked_values[0/                           24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[804/2240] linked_values[0/                           24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1206/2240] linked_values[0                           /24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1608/2240] linked_values[0                           /24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1772/2240] linked_values[2                           4/24]
Replicating critical objects from the base DN of the domain
Partition[DC=TEST,DC=LOCAL] objects[109/110] linked_values[26/29]
Partition[DC=TEST,DC=LOCAL] objects[394/5008] linked_values[29/29]
Done with always replicated NC (base, config, schema)
Replicating DC=DomainDnsZones,DC=TEST,DC=LOCAL
Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objects[42/42] linked_values[0/0]
Replicating DC=ForestDnsZones,DC=TEST,DC=LOCAL
Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objects[20/20] linked_values[0/0]
Exop on[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objects[3] linked_values[0]
Committing SAM database
Adding 1 remote DNS records for DC2.TEST.LOCAL
Adding DNS A record DC2.TEST.LOCAL for IPv4 IP: 192.168.90.201
Adding DNS CNAME record 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL                            for DC2.TEST.LOCAL
All other DNS records (like _ldap SRV records) will be created samba_dnsupdate o                           n first startup
Replicating new DNS records in DC=DomainDnsZones,DC=TEST,DC=LOCAL
Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objects[1/42] linked_values[0/0]
Replicating new DNS records in DC=ForestDnsZones,DC=TEST,DC=LOCAL
Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objects[1/20] linked_values[0/0]
Sending DsReplicaUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain TEST (SID S-1-5-21-3959064270-1572045903-2556826204) as a DC

В оснастке ADUC должна появиться запись о новом DC в домене TEST.LOCAL, а в диспетчере DNS — новая А запись, соответствующая DC2.

Репликация между контроллерами

Для начала проверим работу службы репликации каталогов (DRS)

# samba-tool drs showrepl

Все попытки репликации в выводе должны быть успешными. В списке объектов KCC, в течение 15 минут после ввода, должен появится наш DC1 на Windows

Default-First-Site-Name\DC2
	DSA Options: 0x00000001
	DSA object GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf
	DSA invocationId: 017997b5-d718-41d7-a3f3-e57ab5151b5c

	==== INBOUND NEIGHBORS ====

	DC=ForestDnsZones,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Mon May 27 12:56:31 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Mon May 27 12:56:31 2019 MSK

	DC=DomainDnsZones,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Mon May 27 12:56:32 2019 MSK

	CN=Schema,CN=Configuration,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Mon May 27 12:56:32 2019 MSK

	DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Mon May 27 12:56:32 2019 MSK

	CN=Configuration,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Mon May 27 12:56:33 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Mon May 27 12:56:33 2019 MSK

	==== OUTBOUND NEIGHBORS ====

	DC=ForestDnsZones,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Thu May 23 16:40:03 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Thu May 23 16:40:03 2019 MSK

	DC=DomainDnsZones,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Thu May 23 16:40:03 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Thu May 23 16:40:03 2019 MSK

	CN=Schema,CN=Configuration,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Thu May 23 16:40:08 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Thu May 23 16:40:08 2019 MSK

	DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Thu May 23 16:40:08 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Thu May 23 16:40:08 2019 MSK

	CN=Configuration,DC=test,DC=local
	        Default-First-Site-Name\DC1 via RPC
	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
	                Last attempt @ Mon May 27 12:12:17 2019 MSK was successful
	                0 consecutive failure(s).
	                Last success @ Mon May 27 12:12:17 2019 MSK

	==== KCC CONNECTION OBJECTS ====

	Connection --
	        Connection name: 6d2652b3-e723-4af7-a19f-1ee48915753c
	        Enabled        : TRUE
	        Server DNS name : DC1.test.local
	        Server DN name  : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=local
	                TransportType: RPC
	                options: 0x00000001
	Warning: No NC replicated for Connection!

Предупреждение «No NC replicated for Connection!» можно смело игнорировать. Оно появляется из за того, что при регистрации нового DC самба неверно устанавливает некоторые флаги репликации.

Так же неплохо будет проверить репликацию LDAP.

# samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -Uadministrator

Указанная выше команда сравнит значения атрибутов объектов всего каталога на DC1 и DC2.

Пример успешной репликации

* Comparing [DOMAIN] context...

	* Objects to be compared: 249

	* Result for [DOMAIN]: SUCCESS

	* Comparing [CONFIGURATION] context...

	* Objects to be compared: 1750

	* Result for [CONFIGURATION]: SUCCESS

	* Comparing [SCHEMA] context...

	* Objects to be compared: 1739

	* Result for [SCHEMA]: SUCCESS

	* Comparing [DNSDOMAIN] context...

	* Objects to be compared: 42

	* Result for [DNSDOMAIN]: SUCCESS

	* Comparing [DNSFOREST] context...

	* Objects to be compared: 20

	* Result for [DNSFOREST]: SUCCESS

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

Следующим этапом необходимо вручную настроить стабильную репликацию каталога SysVol.
Дело в том, что самба пока не поддерживает DFS-R, впрочем как не поддерживала более раннюю FRS. Поэтому для репликации между DC Samba и Windows единственным на сегодняшний день рабочим решением является односторонняя репликация средствами утилиты Robocopy из комплекта Windows Server 2003 Resource Kit Tools.

Разработчики самбы, во избежание проблем с совместимостью, рекомендуют сначала установить комплект утилит на обычную рабочую станцию, и после этого скопировать Robocopy на контроллер в папку «C:\Program Files (x86)\Windows Resource Kits\Tools\»

После установки, в планировщике задач на контроллере с Windows создаём задание на выполнение репликации со следующими параметрами:

— Выполнять для всех пользователей
— Триггер на выполнение Ежедневно каждые 5 минут в течение дня
— В действиях прописываем путь к утилите robocopy, в качестве аргументов указываем:

\\DC1\SYSVOL\test.local\ \\DC2\SYSVOL\test.local\ /mir /sec

В конкретном случае копируем содержимое каталога SysVol с DC1 на DC2.

Источник: hitech-zone.comИсточник: hitech-zone.com ALT Linux – это мощный и гибкий дистрибутив Linux, который может быть интегрирован с Active Directory (AD) для управления пользователями и политиками безопасности. В этом гиде мы рассмотрим процесс интеграции ALT Linux с Active Directory.

Установка ALT Linux

Перед началом интеграции, важно правильно установить ALT Linux. Установите систему согласно руководству по установке ALT Linux, убедившись, что установлены все необходимые компоненты для работы с Active Directory, включая Samba и Kerberos.

Установка и конфигурация Samba и Kerberos

Samba и Kerberos – это два ключевых компонента для интеграции ALT Linux с Active Directory. Samba позволяет вашему серверу Linux взаимодействовать с Windows сетями, а Kerberos предоставляет механизмы безопасной аутентификации.

Установите Samba и Kerberos с помощью следующих команд:

sudo apt-get update
sudo apt-get install samba krb5-user

Затем, сконфигурируйте файл /etc/samba/smb.conf, чтобы указать домен AD и контроллер домена. В конце файла добавьте следующие строки:

[global]
workgroup = YOUR_AD_DOMAIN
security = ads
realm = YOUR_AD_REALM

Укажите настройки Kerberos в файле /etc/krb5.conf, указав домен и контроллер домена AD:

[libdefaults]
default_realm = YOUR_AD_REALM

[realms]
YOUR_AD_REALM = {
kdc = YOUR_AD_CONTROLLER
admin_server = YOUR_AD_CONTROLLER
}

Присоединение к домену Active Directory

Теперь, когда Samba и Kerberos настроены, вы можете присоединиться к домену AD с помощью следующей команды:

sudo net ads join -U administrator@YOUR_AD_REALM

Эта команда присоединит ваш сервер ALT Linux к домену Active Directory, и вы сможете управлять пользователями и политиками безопасности ALT Linux через Active Directory.

Заключение

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


В Windows Server 2016 появилась довольно интересная возможность репликации локального хранилища (дискового тома) на удаленный сервер – Storage Replica (SR). Данные одного тома автоматически синхронизируются по сети на вторичный сервер, на котором всегда будет доступна идентичная копия тома. Репликация данных в Storage Replica выполняется на уровне блоков с помощью протокола SMB v3.1.1 и не зависит от используемой файловой системы (NTFS, CSVFS, ReFS).

Репликация хранилищ в Windows Server 2016 работает в режиме Active / Passive. Это означает, что данные доступны только на сервере источнике. Возможны два режима репликации:

  • Синхронная репликация – данные пишутся одновременно на оба сервера. Перед записью данных на основной сервер он ждет подтверждения о записи данных на удаленный сервер;
  • Асинхронная репликация – данные записываются на основной сервер, и затем реплицируются на вторичный.

Storage Replica поддерживает следующие сценарии:

  1. Репликация между томами одного сервера
  2. Репликация хранилища Server-to-server
  3. Репликация хранилища в эластичном кластере (stretch cluster)
  4. Репликация хранилища между двумя разными кластерами (Cluster-to-cluster)

Содержание:

  • Требования к Storage Replica
  • Установка Storage Replica в Windows Server 2016
  • Настройка репликации томов в Windows Server 2016

Требования к Storage Replica

Для использования Storage Replica ваша инфраструктура должна соответствовать следующим требованиям:

  • Windows Server 2016/2019 в редакции Datacenter;
  • Оба сервера должны состоять в домене Active Directory;
  • По два дополнительных диска на каждом сервере – на одном храняться данные, на втором – логи. Диск с логами должен быть быстрее диска с данными, в идеале SSD. Размеры диска с данными должны быть одинаковыми;
  • Таблица разделов дисков – только GPT (MBR не поддерживается);
  • Поддерживаются локальные диски (SAS/SCSI/SATA), iSCSI, SAN, общие VHDX, Storage Spaces с SAS JBOD;
  • Минимум 2 Гб памяти на сервере;
  • Сеть между серверами >= 1 Гбит/с с задержками не более 5 мс в обе стороны ( как правило это ограничивает расстоянием между партнерами по репликации до 30-50 км). Сетевой адаптер желательно с поддержкой RDMA;
  • Наличие открытых TCP портов 445, 5985 и 5445 между серверами;

Установка Storage Replica в Windows Server 2016

Компонент Storage Replica можно установить из консоли Server Manager или с помощью PowerShell:

Установка Storage Replica в Windows Server 2016

Install-WindowsFeature Storage-Replica –IncludeManagementTools -Restart

Install-WindowsFeature Storage-Replica –IncludeManagementTools

Компонент Storage-Replica нужно установить на оба сервера. После установки компонента сервера нужно перезагрузить.

Настройка репликации томов в Windows Server 2016

У Storage Replication нет встроенной графической консоли управления. Для настройки репликации хранилищ нужно использовать PowerShell, Admin Center или консоль Failover Clustering (при использовании кластера).

Список доступных командлетов в модуле StorageReplica можно вывести так:

Get-Command -Module storagereplica

С помощью команды
Test-SRTopology
вы можете проверить соответствует ли ваш сервер и канал связи технологии Storage Replica. Вы можете оценить текущее количество операций ввода/вывода, пропускную способность сети, размер журналов. Командлет Test-SRTopology генерирует HTML отчет с текущими нагрузками и рекомендациями.

Test-SRTopology

Включим репликацию хранилища D: между двумя отдельными серверами SR1 и SR2 (для логов используется диск L:, размер журнала – 1 Гб):

New-SRPartnership -SourceComputerName SR1 -SourceRGName SR1ReplGroup01 -SourceVolumeName E: -SourceLogVolumeName L: -DestinationComputerName SR2 -DestinationRGName SR2ReplGroup01 -DestinationVolumeName D: -DestinationLogVolumeName E: -LogSizeInBytes 1GB

New-SRPartnership

После включения репликации на вторичном сервере диск с данными становится недоступен для внесения изменений (формат RAW).

вторичный диск репликации Storage Replica недоступен пользователям

Информацию о репликации тома можно получить с помощью дополнительных счетчиков производительности в PerfMon или из PowerShell:

Get-Counter -Counter “\Storage Replica Statistics(*)

Storage Replica PerfMon

События репликации томов можно отслеживать в журналах Event Viewer (Applications and Services Logs -> Microsoft -> Windows -> StorageReplica) или из PowerShell:

Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica -max 10

Переключить режим репликации на асинхронный можно командой:

Set-SRPartnership -ReplicationMode Asynchronous

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

Set-SRPartnership -NewSourceComputerName SR2 -SourceRGName SR2ReplGroup01 -DestinationComputerName SR1 -DestinationRGName SR1ReplGroup01

Для получения информации о состоянии групп и направлении репликации используйте командлеты Get-SRGroup и Get-SRPartnerShip.

Можно проверить длину очереди копирования:

(Get-SRGroup).Replicas | Select-Object numofbytesremaining

Чтобы удалить репликацию:

Get-SRPartnership | Remove-SRPartnership
(только на основном сервере)

Get-SRGroup | Remove-SRGroup
(на обоих серверах)

Вы можете использовать Admin Center для настройки Storage Replication из графического

интерфейса. настройка Storage Replication из Windows Admin Center

Во многих организациях в качестве решения для катастрофоустойчивого хранения данных используется DFS репликация между ЦОД. У SR есть несколько преимуществ перед DFS репликацией: данные копируются на блочном уровне (возможно репликация открытых и используемых файлов, VSS снапшотов), независимость от базы данных (нет необходимости согласования базы данных при старте), быстрая и синхронная репликация (не нужно ждать часы или дни как в DFS). Из недостатков Storage Replica: репликация только 1 к 1, высокие требования к сети и задержкам, без использования кластера используется ручное переключение направления репликации и перенастройка приложений (пользователей) на новый сервер (можно упростить за счет общего DFS namespace).

В Windows Server 2019 Build 17650 Storage Replica доступна и редакции Standard (можно реплицирвать только 1 том до 2 Тб, одному партнеру по репликации. В Datacenter партеров по репликации можен быть несколько). Кроме того, появился режим Test Failover. В этом режиме на партнере создается достпный для записи том-реплика, а репликация прекращается до момента отключения Test Failover (все изменения за время использования этого режима откатываются к снапшоту).

  • Репликация dfs windows server 2019
  • Реферат программные системы обработки графической информации под windows
  • Репликация домена windows server 2016
  • Репликация dhcp windows server 2016
  • Реферат по информатике на тему windows