Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
samba_ad [2019/10/01 13:34] sector |
samba_ad [2020/09/15 07:03] (текущий) sector |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ==== Настраиваем систему, | + | ==== Установка samba4 в роли контроллера домена на CentOS 7 |
| Строка 16: | Строка 16: | ||
| #vi / | #vi / | ||
| - | <code | ini> | ||
| SELINUX=disabled | SELINUX=disabled | ||
| </ | </ | ||
| Строка 35: | Строка 34: | ||
| </ | </ | ||
| - | Настроим сеть: | + | ==== Настроим сеть: |
| <code | ini> | <code | ini> | ||
| Строка 45: | Строка 44: | ||
| NETMASK=255.255.255.0 | NETMASK=255.255.255.0 | ||
| GATEWAY=192.168.1.1 | GATEWAY=192.168.1.1 | ||
| - | DNS=8.8.8.8 | + | PEERDNS=no |
| </ | </ | ||
| - | Установим имя: | + | |
| + | <code | ini> | ||
| + | |||
| + | #vi / | ||
| + | |||
| + | nameserver 8.8.8.8 | ||
| + | </ | ||
| + | ==== Установим имя: | ||
| < | < | ||
| Строка 54: | Строка 61: | ||
| </ | </ | ||
| - | Пропишем хосты: | + | ==== Пропишем хосты: |
| < | < | ||
| Строка 63: | Строка 70: | ||
| - | Перезапустим сеть: | + | ==== Перезапустим сеть: |
| <code | ini> | <code | ini> | ||
| Строка 71: | Строка 79: | ||
| </ | </ | ||
| - | Приступим к установке пакетов: | + | ==== Приступим к установке пакетов: |
| <code | ini> | <code | ini> | ||
| Строка 95: | Строка 103: | ||
| </ | </ | ||
| - | Приступим к установке (к configure и make можно добавить параметр -j и указать кол-во ядер, что бы ускорить процесс сборки пример: | + | ==== Приступим к установке (к configure и make можно добавить параметр -j и указать кол-во ядер, что бы ускорить процесс сборки пример: |
| <code | ini> | <code | ini> | ||
| Строка 130: | Строка 138: | ||
| </ | </ | ||
| - | Настроим Bind: | + | ==== Настроим Bind: ==== |
| <code | ini> | <code | ini> | ||
| Строка 203: | Строка 211: | ||
| </ | </ | ||
| - | Включим автозапуск службы, | + | ==== Включим автозапуск службы, |
| <code | ini> | <code | ini> | ||
| Строка 221: | Строка 229: | ||
| </ | </ | ||
| - | Начнем установку КД: | + | ==== Начнем установку КД: ==== |
| <code | ini> | <code | ini> | ||
| Строка 238: | Строка 246: | ||
| #systemctl start samba | #systemctl start samba | ||
| </ | </ | ||
| - | |||
| - | |||
| - | |||
| Раскомментируем include и keytab в / | Раскомментируем include и keytab в / | ||
| Строка 285: | Строка 290: | ||
| </ | </ | ||
| - | Получим билет Kerberos и посмотрим что получили: | + | ==== Получим билет Kerberos и посмотрим что получили: |
| <code| ini> | <code| ini> | ||
| Строка 292: | Строка 297: | ||
| </ | </ | ||
| - | Проверим возможность динамического обновления записей DNS: | + | ==== Проверим возможность динамического обновления записей DNS: ==== |
| + | |||
| <code | ini> | <code | ini> | ||
| Строка 302: | Строка 308: | ||
| </ | </ | ||
| - | Создадим прямую и обратную зону: | + | ==== Создадим прямую и обратную зону: |
| <code | ini> | <code | ini> | ||
| Строка 314: | Строка 320: | ||
| Готово. | Готово. | ||
| - | Настроим вторичный КД: | + | ==== Настроим вторичный КД: ==== |
| На 1-й, тот что настраивали выше в resolv добавим: | На 1-й, тот что настраивали выше в resolv добавим: | ||
| Строка 347: | Строка 353: | ||
| <code | ini> | <code | ini> | ||
| - | #yum install -y bash-completion nano mc htop wget bind bind-utils docbook-style-xsl gcc gdb gnutls-devel gpgme-devel jansson-devel keyutils-libs-devel krb5-workstation libacl-devel libaio-devel libarchive-devel libattr-devel libblkid-devel libtasn1 libtasn1-tools libxml2-devel libxslt lmdb-devel openldap-devel pam-devel perl perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel python3-cryptography python3-dns python3-gpg python36-devel readline-devel rpcgen systemd-devel tar zlib-devel ntp | + | #yum install -y bash-completion nano mc htop wget bind bind-utils |
| + | bind-sdb | ||
| + | keyutils-libs-devel krb5-workstation libacl-devel libaio-devel libarchive-devel | ||
| + | libattr-devel libblkid-devel libtasn1 libtasn1-tools libxml2-devel libxslt | ||
| + | lmdb-devel openldap-devel pam-devel perl perl-ExtUtils-MakeMaker perl-Parse-Yapp | ||
| + | popt-devel python3-cryptography python3-dns python3-gpg python36-devel readline-devel | ||
| + | rpcgen systemd-devel tar zlib-devel ntp | ||
| </ | </ | ||
| Строка 406: | Строка 417: | ||
| </ | </ | ||
| - | |||
| Настроим Bind: | Настроим Bind: | ||
| Строка 507: | Строка 517: | ||
| </ | </ | ||
| - | Запуск samba: | + | ==== Запуск samba: |
| <code | ini> | <code | ini> | ||
| Строка 532: | Строка 542: | ||
| </ | </ | ||
| - | Входим в домен: | + | ==== Входим в домен: |
| <code | ini> | <code | ini> | ||
| Строка 630: | Строка 640: | ||
| .... | .... | ||
| dns forwarder=192.168.1.170 | dns forwarder=192.168.1.170 | ||
| + | min protocol = NT1 #если в вашей сети есть машины с Win XP | ||
| .... | .... | ||
| </ | </ | ||
| Строка 640: | Строка 651: | ||
| </ | </ | ||
| - | Пробуем добавить пользователя: | + | ==== Пробуем добавить пользователя: |
| <code | ini> | <code | ini> | ||
| Строка 652: | Строка 663: | ||
| #samba-tool user list | #samba-tool user list | ||
| </ | </ | ||
| + | |||
| + | Продолжим. | ||
| + | |||
| + | Настроим управление доступом к шарам из под Windows, за это у нас отвечает пакет ACL он уже установлен, | ||
| + | |||
| + | Добавим в smb.conf папку: | ||
| + | <code | ini> | ||
| + | ... | ||
| + | [ShareACL] | ||
| + | |||
| + | </ | ||
| + | |||
| + | <code | ini> | ||
| + | samba-tool ldapcmp ldap:// | ||
| + | </ | ||
| + | Тут могут быть и ошибки т.к. самба подхватывает не все параметры. | ||
| + | результат: | ||
| + | <code | ini> | ||
| + | Attributes with different values: | ||
| + | |||
| + | lastLogonTimestamp | ||
| + | servicePrincipalName | ||
| + | userParameters | ||
| + | |||
| + | * Comparing [CONFIGURATION] context... | ||
| + | |||
| + | * Objects to be compared: 1679 | ||
| + | |||
| + | * Result for [CONFIGURATION]: | ||
| + | |||
| + | * Comparing [SCHEMA] context... | ||
| + | |||
| + | * Objects to be compared: 1550 | ||
| + | |||
| + | * Result for [SCHEMA]: SUCCESS | ||
| + | |||
| + | * Comparing [DNSDOMAIN] context... | ||
| + | |||
| + | * Objects to be compared: 175 | ||
| + | |||
| + | * Result for [DNSDOMAIN]: | ||
| + | |||
| + | * Comparing [DNSFOREST] context... | ||
| + | |||
| + | * Objects to be compared: 20 | ||
| + | |||
| + | * Result for [DNSFOREST]: | ||
| + | ERROR: Compare failed: -1 | ||
| + | </ | ||
| + | |||
| + | <code | ini> | ||
| + | samba-tool dbcheck --cross-ncs -проверка на ошибки | ||
| + | samba-tool dbcheck --cross-ncs --fix - исправление ошибок | ||
| + | </ | ||
| + | Если отвалилась репликация: | ||
| + | <code | ini> | ||
| + | |||
| + | Службе каталогов не удается реплицировать следующий объект из исходной службы каталогов по следующему сетевому адресу из-за различий в схеме доменных служб Active Directory. | ||
| + | |||
| + | Объект: | ||
| + | CN=SQL, | ||
| + | Сетевой адрес: | ||
| + | a5714808-efa7-49c2-a108-b787dd13bdd4._msdcs.domain.local | ||
| + | |||
| + | Перед попыткой синхронизации следующего раздела каталога доменные службы Active Directory предпримут попытку синхронизации схемы. | ||
| + | Раздел каталога: | ||
| + | DC=domain, | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | <code | ini> | ||
| + | Репликация раздела каталога приложений DC=domain, | ||
| + | </ | ||
| + | |||
| + | Проверяем версию схемы: | ||
| + | <code | ini> | ||
| + | ldbsearch -H / | ||
| + | # record 1 | ||
| + | dn: CN=Schema, | ||
| + | objectVersion: | ||
| + | </ | ||
| + | Samba - 47 версия | ||
| + | |||
| + | Windows: | ||
| + | <code | ini> | ||
| + | HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\SystemSchemaVersion - тоже 47 | ||
| + | </ | ||
| + | |||
| + | Исходя из информации в сообщении после которого выводилась ошибка я подумал что у меня не все в порядке с компьютером под именем SQL | ||
| + | Сравнение между контроллерами говорило следующее: | ||
| + | |||
| + | <code | ini> | ||
| + | samba-tool ldapcmp ldap:// | ||
| + | |||
| + | |||
| + | Comparing: | ||
| + | ' | ||
| + | ' | ||
| + | Difference in attribute values: | ||
| + | servicePrincipalName => | ||
| + | [b' | ||
| + | [b' | ||
| + | |||
| + | FAILED | ||
| + | </ | ||
| + | |||
| + | Решил попытаться заменить атрибуты т.е. взять атрибуты с виндового сервера и заменить на линуксовом | ||
| + | |||
| + | <code | ini> | ||
| + | ldifde -f SQL.ldif -d " | ||
| + | </ | ||
| + | |||
| + | Далее отредактировал файл SQL.ldif до следующего состояния: | ||
| + | <code | ini> | ||
| + | dn: CN=SQL, | ||
| + | changetype: modify | ||
| + | replace: servicePrincipalName | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | servicePrincipalName: | ||
| + | - | ||
| + | </ | ||
| + | |||
| + | Загрузим файл на второй контроллер домена который работает под Linux | ||
| + | <code | ini> | ||
| + | ldifde -i -f SQL.ldif -s fst | ||
| + | </ | ||
| + | |||
| + | И перезапустим репликацию: | ||
| + | <code | ini> | ||
| + | repadmin /replicate srv1c fst dc=domain, | ||
| + | repadmin /replicate fst srv1c dc=domain, | ||
| + | </ | ||
| + | и проверим: | ||
| + | <code | ini> | ||
| + | C: | ||
| + | Время запуска сводки по репликации: | ||
| + | |||
| + | Начат сбор данных для сводки по репликации, | ||
| + | ..... | ||
| + | |||
| + | |||
| + | Исходный DSA наиб. дельта | ||
| + | | ||
| + | | ||
| + | |||
| + | |||
| + | Конечный DSA наиб. дельта | ||
| + | | ||
| + | | ||
| + | |||
| + | </ | ||
| + | |||
| + | https:// | ||
| + | https:// | ||
| Надеюсь ничего не забыл :-) | Надеюсь ничего не забыл :-) | ||