2.9.20.4.3.3 Настройка доверительных отношений SAMBA и MSAD
Скачать документ Исходные данные
Настройка сервера Samba
Настройка DNS на сервере Windows
Настройка доверительных отношений
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия Samba: 4.17.10-2h
- Версия Windows Server: 2012 R2
Исходные данные
Для примера создания доверительных отношений будут использоваться следующие данные:
Сервер Samba - dc.skynet.murom, IP - 10.81.1.199
Сервер MS AD – dcms.msnet.murom, IP - 10.81.1.210
Предполагается, что сервер Samba был настроен по инструкции «Установка сервера Samba DC».
Настройка сервера Samba
В сетевых настройках сервера Samba требуется указать DNS адрес контроллера домена MS AD и поисковый домен MS AD. После применения настроек в файле /etc/resolv.conf должны содержаться следующее записи:
cat /etc/resolv.conf # Generated by NetworkManager search skynet.murom msnet.murom nameserver 10.81.1.199 nameserver 10.81.1.210
Пример настройки DNS:
Далее потребуется изменить файл конфигурации:
nano /etc/samba/smb.conf
В строке dns forwarder
пропишите IP-адрес MS AD:
dns forwarder = 10.81.1.210
В секции [global]
измените строки:
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes
nsupdate command = /usr/bin/nsupdate -g
dsdb:schema update allowed = true
На следующее:
ldap server require strong auth = no
host msdfs = yes
vfs objects = dfs_samba4 acl_xattr
map acl inherit = yes
store dos attributes = yes
nsupdate command = /usr/bin/nsupdate -g
allow dns updates = nonsecure
dsdb:schema update allowed = true
Если доверительные отношения создаются с доменом .local, то в файле /etc/nsswitch.conf приведите строку, которая начинается на hosts, к виду:
hosts: files dns resolve [!UNAVAIL=return] myhostname mdns4_minimal
Затем отредактируйте файл /etc/krb5.conf:
nano /etc/krb5.conf
Добавив строки в [realms], где нужно описать kerberos область Windows-домена:
MSNET.MUROM = { kdc = dcms.msnet.murom kdc = dcms2.msnet.murom admin_server = dcms.msnet.murom }
Если имеется резервный контроллер домена, то его также следует добавить. В примере это kdc = dcms.msnet.murom.
Пример вывода:
cat /etc/krb5.conf: [libdefaults] default_realm = SKYNET.MUROM dns_lookup_realm = false dns_lookup_kdc = true ticket_lifetime = 24h forwardable = yes [realms] SKYNET.MUROM = { default_domain = skynet.murom } MSNET.MUROM = { kdc = dcms.msnet.murom kdc = dcms2.msnet.murom admin_server = dcms.msnet.murom } [domain_realm] dc = SKYNET.MUROM
Проверьте разрешения SRV-записей командой:
host -t srv _kerberos._tcp.msnet.murom _kerberos._tcp.msnet.murom has SRV record 0 100 88 dcms.msnet.murom.
Запросите тикет Kerberos:
kinit admin@MSNET.MUROM
Проверьте, что тикет успешно получен:
klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: admin@MSNET.MUROM Valid starting Expires Service principal 25.07.2022 15:19:37 26.07.2022 01:19:37 krbtgt/MSNET.MUROM@MSNET.MUROM renew until 26.07.2022 15:19:34
Настройка DNS на сервере Windows
Создайте сервер условной пересылки, для этого откройте Диспетчер DNS и перейдите на вкладку «Серверы условной пересылки».
В контекстном меню выберите «Создать сервер условной пересылки».
Впишите DNS домен сервера SAMBA и его IP-адрес. Выберите «Все DNS серверы в этом лесу» и нажмите ОК.
Также необходимо добавить глобальный «Сервер пересылки» в свойствах DNS сервера Windows.
Для этого в диспетчере DNS нажмите правой кнопкой мыши на сервере DNS (SERV) и в выпадающем меню выберите «Свойства», перейдите на вкладку «Сервер пересылки», нажмите на кнопку «Изменить» и в открывшемся окне введите IP-адрес сервера SAMBA.
Перейдите в свойства DNS сервера MS AD.
Чтобы убедиться, что сервер AD может корректно видеть Samba, проверьте, правильно ли разрешены записи SRV.
C:\> nslookup.exe > set type=srv > _ldap._tcp.msnet.murom > _kerberos._tcp.msnet.murom > exit
Настройка двухсторонних транзитивных доверительных отношений
Добавьте доверительные отношения командой:
samba-tool domain trust create msnet.murom --type=forest --direction=both --create-location=both -U admin@msnet.murom LocalDomain Netbios[SKYNET] DNS[skynet.murom] SID[S-1-5-21-1430555738-519112316-691302152] RemoteDC Netbios[DC] DNS[dc.msnet.murom] ServerType[PDC, GC, LDAP, DS, KDC, TIMESERV, CLOSEST, WRITABLE, GOOD_TIMESERV, FULL_SECRET_DOMAIN_6, SERVICE, DS_8, __unknown_00008000__]
где:
--type=external
- указывает тип доверительного отношения, может принимать значения external и forest.external (внешнее) - означает, что доверительное отношение будет создано с внешним доменом;
forest (лес) - указывает, что доверительное отношение будет создано с другим лесом. В этом случае, доверительное отношение будет устанавливаться между вашим лесом и другим лесом.
--direction=incoming
- определяет направление доверительного отношения. Значение incoming указывает, что доверительное отношение будет установлено только для входящих запросов, и ваш сервер Samba будет доверять внешнему домену MS при получении запросов от него;--create-location=local
- указывает место создания доверительного отношения. Значение local означает, что доверительное отношение будет создано локально на вашем сервере Samba, и ваш сервер Samba будет инициировать процесс создания доверительного отношения с внешним доменом MS;--direction=both
- доверительное отношение будет устанавливаться в обоих направлениях. Ваш сервер Samba будет доверять другому лесу, и взаимно другой лес будет доверять вашему лесу. Таким образом, обе стороны смогут обмениваться аутентификационной информацией и ресурсами;--create-location=both
- указывает, что доверительное отношение будет создаваться и на вашем сервере Samba, и на другом сервере в другом лесу. Таким образом, создание доверительного отношения происходит с обеих сторон, что обеспечивает взаимное доверие и возможность обмена информацией.
При появлении запроса введите пароль администратора. Если все настроено верно, будет установлено доверие к домену AD.
Password for [Admin@msnet.murom]: RemoteDomain Netbios[MSNET] DNS[msnet.murom] SID[S-1-5-21-2219352354-104895378-3667193527] Creating remote TDO. Remote TDO created. Setting supported encryption types on remote TDO. Creating local TDO. Local TDO created Setting supported encryption types on local TDO. Validating outgoing trust… OK: LocalValidation: DC[\\dcms.msnet.murom] CONNECTION[WERR_OK] TRUST[WEER_OK] VERIFY_STATUS_RETURNED Validating incoming trust… OK: RemoteValidation: DC[\\dcms.skynet.murom] CONNECTION[WERR_OK] TRUST[WEER_OK] VERIFY_STATUS_RETURNED Success.
Проверить установленные доверительные отношения можно командой:
samba-tool domain trust show msnet.murom LocalDomain Netbios[SKYNET] DNS[skynet.murom] SID[S-1-5-21-1430555738-519112316-691302152] TrustedDomain: NetbiosName:MSNET DnsName:msnet.murom SID: S-1-5-21-1430555738-519112316-691302152 Type: 0x2 (UPLEVEL) Direction: 0x3 (BOTH) Attributes: 0x4 (QUARANTINED_DOMAIN) PosixOffset: 0x00000000 (0) kerb_EncTypes: 0x18 (AES128_CTS_HMAC_SHA1_96, AES256_CTS_HMAC_SHA1_96)
Если между samba и windows установлены двухсторонние доверительные отношения с типом связи Лес, то рабочую станцию с РЕД ОС нужно вводить в домен samba через winbind.
Для ввода компьютера в домен Samba используйте следующую команду, которая введет ПК в домен через windind:
join-to-domain.sh -d <ваш_домен_samba> -n <имя_пк> -u <имя_администратора_samba> -w
Дата последнего изменения: 23.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.