Сервер Samba 3.6 на FreeBSD 10.1, контроллер домена AD1 на Windows 2003.
Всё работает, доменные пользователи нормально заходят на шары, в Cамбе настроено:
security = ads
realm=MYDOMAIN.RUПоднял второй контроллер AD2, тоже на 2003-м.
При отключении AD1 от сети, самбовский сервер перестаёт пускать пользователей.
Остальные ресурсы сети нормально авторизуются.
Пробовал на самбовском сервере ткнуться через
ntlm_auth --username myadminname
- действительно не авторизует...
Куда смотреть?В /etc/resolv.conf прописаны IP обоих контроллеров - AD1 и AD2 (на них одна и та же зона DNS)
Ещё такая штука:
Нет файла /etc/krb5.conf (сервер мне в наследство достался...)
Я нашёл только тот "конфиг" который автоматом сделался: /var/db/samba/smb_krb5/krb5.conf.MYDOMAIN.RU, в нём:
[libdefaulys]
default_realm=MYDOMAIN.RU
//дальше идут три строчки с ключами[realms]
MYDOMAIN.RU={
kdc=192.168.1.2 (это AD1)
kdc=192.168.1.3 (это AD2)
kdc=192.168.1.3 (это AD2)
}
>[оверквотинг удален]
> Всё работает, доменные пользователи нормально заходят на шары, в Cамбе настроено:
> security = ads
> realm=MYDOMAIN.RU
> Поднял второй контроллер AD2, тоже на 2003-м.
> При отключении AD1 от сети, самбовский сервер перестаёт пускать пользователей.
> Остальные ресурсы сети нормально авторизуются.
> Пробовал на самбовском сервере ткнуться через
> ntlm_auth --username myadminname
> - действительно не авторизует...
> Куда смотреть?Лучше смотреть wbinfo -t
> В /etc/resolv.conf прописаны IP обоих контроллеров - AD1 и AD2 (на них
> одна и та же зона DNS)Надо точно быть уверенным считав на сервере dig MYDOMAIN.RU ANY
Причем должны быть записи для dc2. Скорее всего samba не находит контроллер домена по DNS.
>[оверквотинг удален]
> в нём:
> [libdefaulys]
> default_realm=MYDOMAIN.RU
> //дальше идут три строчки с ключами
> [realms]
> MYDOMAIN.RU={
> kdc=192.168.1.2 (это AD1)
> kdc=192.168.1.3 (это AD2)
> kdc=192.168.1.3 (это AD2)
> }
При отключённом AD1:>> В /etc/resolv.conf прописаны IP обоих контроллеров - AD1 и AD2 (на них
>> одна и та же зона DNS)
> Надо точно быть уверенным считав на сервере dig MYDOMAIN.RU ANY
> Причем должны быть записи для dc2. Скорее всего samba не находит контроллер
> домена по DNS.dig нормально отдаёт зону, причём отвечает именно AD2 (я его первым поставил в resolv.conf)
> Лучше смотреть wbinfo -t
Сделал - в ответ молчание :(
Эм... и что может быть?
> При отключённом AD1:
>>> В /etc/resolv.conf прописаны IP обоих контроллеров - AD1 и AD2 (на них
>>> одна и та же зона DNS)
>> Надо точно быть уверенным считав на сервере dig MYDOMAIN.RU ANY
>> Причем должны быть записи для dc2. Скорее всего samba не находит контроллер
>> домена по DNS.
> dig нормально отдаёт зону, причём отвечает именно AD2 (я его первым поставил
> в resolv.conf)Я бы хотел посмотреть что он отдает, а именно записи касающиеся сервисов AD2.
>> Лучше смотреть wbinfo -t
> Сделал - в ответ молчание :(
> Эм... и что может быть?
>[оверквотинг удален]
>>> В /etc/resolv.conf прописаны IP обоих контроллеров - AD1 и AD2 (на них
>>> одна и та же зона DNS)
>> Надо точно быть уверенным считав на сервере dig MYDOMAIN.RU ANY
>> Причем должны быть записи для dc2. Скорее всего samba не находит контроллер
>> домена по DNS.
> dig нормально отдаёт зону, причём отвечает именно AD2 (я его первым поставил
> в resolv.conf)
>> Лучше смотреть wbinfo -t
> Сделал - в ответ молчание :(
> Эм... и что может быть?Я думаю через какой контроллер ты вводил в домен, к тому самба и привязана. Введёшь через вторичный, будет всё наоборот - с ним будет работать а с первичным нет.
>Я бы хотел посмотреть что он отдает, а именно записи касающиеся сервисов AD2.Вывод dig:
; <<>> DiG 9.10.1 <<>> mydomain.ru any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34954
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 5;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;mydomain.ru. IN ANY;; ANSWER SECTION:
mydomain.ru. 600 IN A 192.168.1.3
mydomain.ru. 600 IN A 192.168.1.2
mydomain.ru. 3600 IN NS ad4.mydomain.ru.
mydomain.ru. 3600 IN NS ad1.mydomain.ru.
mydomain.ru. 3600 IN NS ad2.mydomain.ru.
mydomain.ru. 3600 IN SOA ad2.mydomain.ru. . 45531 900 600 86400 3600
mydomain.ru. 3600 IN MX 10 mail.mydomain.ru.
mydomain.ru. 0 IN TYPE65281 \# 20 00000000000000020000038400000001C0A86407;; ADDITIONAL SECTION:
ad4.mydomain.ru. 3600 IN A 192.168.1.9
ad1.mydomain.ru. 3600 IN A 192.168.1.2
ad2.mydomain.ru. 3600 IN A 192.168.1.3
mail.mydomain.ru. 3600 IN A 192.168.1.22;; Query time: 0 msec
;; SERVER: 192.168.1.3#53(192.168.1.3)
;; WHEN: чт июн 22 10:34:46 MSK 2017
;; MSG SIZE rcvd: 273PS:
ad4 - это новый контроллер домена, 2012-й, на который я буду переползать. Там только DNS, в AD пока не вводил.
Если ещё что-то вывести - скажи что именно.> Я думаю через какой контроллер ты вводил в домен, к тому самба
> и привязана. Введёшь через вторичный, будет всё наоборот - с ним
> будет работать а с первичным нет.Класс... и на кой тогда вообще резервные контроллеры домена и AD... Только для Винды?
Вообще, я обычно ввожу не через контроллер, а из строки самого сервера с самбой, что-то вроде этого:
net ads join -U administrator -D DOMAIN_NAME
А вот как это делал автор этого сервера - не знаю...
Не, я не против, просто знать бы - где эта привязка?
>[оверквотинг удален]
> ad2.mydomain.ru. 3600 IN A 192.168.1.3
> mail.mydomain.ru. 3600 IN A 192.168.1.22
> ;; Query time: 0 msec
> ;; SERVER: 192.168.1.3#53(192.168.1.3)
> ;; WHEN: чт июн 22 10:34:46 MSK 2017
> ;; MSG SIZE rcvd: 273
> PS:
> ad4 - это новый контроллер домена, 2012-й, на который я буду переползать.
> Там только DNS, в AD пока не вводил.
> Если ещё что-то вывести - скажи что именно.Должны быть DNS записи как в пункте "Пример регистрации имен" вот этой статьи http://itband.ru/2010/03/active-directory-works-with-dns/. По ним и происходит поиск служб Active Directory.
>[оверквотинг удален]
>> Я думаю через какой контроллер ты вводил в домен, к тому самба
>> и привязана. Введёшь через вторичный, будет всё наоборот - с ним
>> будет работать а с первичным нет.
> Класс... и на кой тогда вообще резервные контроллеры домена и AD... Только
> для Винды?
> Вообще, я обычно ввожу не через контроллер, а из строки самого сервера
> с самбой, что-то вроде этого:
> net ads join -U administrator -D DOMAIN_NAME
> А вот как это делал автор этого сервера - не знаю...
> Не, я не против, просто знать бы - где эта привязка?
> Должны быть DNS записи как в пункте "Пример регистрации имен" вот этой
> статьи http://itband.ru/2010/03/active-directory-works-with-dns/. По ним и происходит
> поиск служб Active Directory.Насколько смог, разобрался в дереве DNS Manager на виндовом сервере - эти четыре записи из статьи у меня есть.
Запросил dig:
#dig -t srv _ldap._tcp.mydomain.ru _kerberos._tcp.mydomain.ru _ldap._tcp.dc._msdcs.mydomain.ru _kerberos._tcp.dc._msdcs.mydomain.ruВот его вывод, только мусор вырезал:
;; QUESTION SECTION:
;_ldap._tcp.mydomain.ru. IN SRV
;; ANSWER SECTION:
_ldap._tcp.mydomain.ru. 600 IN SRV 0 100 389 ad2.mydomain.ru.
_ldap._tcp.mydomain.ru. 600 IN SRV 0 100 389 ad1.mydomain.ru.;; QUESTION SECTION:
;_kerberos._tcp.mydomain.ru. IN SRV
;; ANSWER SECTION:
_kerberos._tcp.mydomain.ru. 600 IN SRV 0 100 88 ad2.mydomain.ru.
_kerberos._tcp.mydomain.ru. 600 IN SRV 0 100 88 ad1.mydomain.ru.;; QUESTION SECTION:
;_ldap._tcp.dc._msdcs.mydomain.ru. IN SRV
;; ANSWER SECTION:
_ldap._tcp.dc._msdcs.mydomain.ru. 600 IN SRV 0 100 389 ad1.mydomain.ru.
_ldap._tcp.dc._msdcs.mydomain.ru. 600 IN SRV 0 100 389 ad2.mydomain.ru.;; QUESTION SECTION:
;_kerberos._tcp.dc._msdcs.mydomain.ru. IN SRV
;; ANSWER SECTION:
_kerberos._tcp.dc._msdcs.mydomain.ru. 600 IN SRV 0 100 88 ad1.mydomain.ru.
_kerberos._tcp.dc._msdcs.mydomain.ru. 600 IN SRV 0 100 88 ad2.mydomain.ru.;; ADDITIONAL SECTION:
ad1.mydomain.ru. 3600 IN A 192.168.1.2
ad2.mydomain.ru. 3600 IN A 192.168.1.3Где ещё покопаться?
ЗАРАБОТАЛО!!!
Правда, я не понимаю в чём дело... :(запросил
#klist
и очередной раз увидел, что билет просрочен. В общем, он в последнее время постоянно просрочен и почему-то не обновляется, но при этом всё работает.
Выключил AD1, и сделал
#kinit -p admin@MYDOMAIN.RU
Успешно получил билет. После чего сразу же успешно зашёл на самбовский сервер при по-прежнему отключенном AD1 и работающем AD2 !!! :)Перерегистрировать в домене я понятное дело не стал.
То есть, билет для авторизации не нужен, но должен работать сервер, который его выдавал...
Тогда получается, что в порядке вещей, что при выключении контроллера домена, который выдал билет, самба перестаёт пускать клиентов пока билет не обновится на каком-то из рабочих контроллеров AD? Тогда выходит, что резервирование контроллеров AD при наличии самбы в Сети - чисто условное, без пинка не взлетит...В общем у меня в голове каша... кто поможет привести серое вещество в порядок?
PS:
И почему билет не продляется автоматически я пока тоже не пойму...
> В общем у меня в голове каша... кто поможет привести серое вещество
> в порядок?Да всё просто: без билета samba аутентифицирует по ntlm не по kerberos, а в этом случае она не ищет в DNS SRV записи. Вобщем в той статье что я давал написано, что для клиентов не понимающих SRV записи имеет смысл иметь A записи для домена, указывающие на сервера. Например
MYDOMAIN.LOCAL IN A 192.168.0.1
MYDOMAIN.LOCAL IN A 192.168.0.3
Или может для ntlm режима происходит поиск по WINS.
Не силён в АД, но может в этом случае имеет значение, является ли AD2 глобальным каталогом?
Да, роли глобального каталога не было. Добавил. Не помогло:# wbinfo -t
checking the trust secret for domain GM via RPC calls failed
error code was NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND (0xc0000233)
failed to call wbcCheckTrustCredentials: WBC_ERR_AUTH_ERROR
Could not check secret
Может репликация какая-то не прошла, не знаю как проверить...