Страница 1 из 2

Windows не видит samba+ldap

Добавлено: 2007-12-13 12:45:40
princeps
Господа, помогите разобраться.
Поднимал самбу+опенлдап, сделал все, как описано вот здесь: http://www.lissyara.su/?id=1329.
Однако при попытке ввести винду в домен, пишет, что войти не может. Вначале жаловался на отсутствие записи службы контроллера домена на DNS сервере. DNS сервер в той же сети, интегрирован в Active Directory, которая рулит другим доменом. Т.е. я пытаюсь поднять в одной сети второй домен, первый - под AD. С точки зрения AD он, наверное, должен быть виден, как отдельный лес. Создал ему зону в виндовом DNS, в ней SRV запись _ldap._tcp.dc._msdcs.mmg.local с указанием на контроллер домена под самбой. Теперь пишет, что запись есть, но либо не создан узел А, либо не запущен контроллер домена. Узел А, естественно, создан. На самбовом контроллере и самба и лдап работают, вроде, нормально.
В комментариях к статье я прочитал, что у кого-то были похожие проблемы и решаются поднятием dns-сервера на контроллере домена или сервера WINS. Можно ли обойтись без этого? Кроме того, меня смущают кое-какие вещи, а именно:

Код: Выделить всё

dcj1# net rpc info -U administrator
Unable to find a suitable server
При попытке ввести контроллер сам в себя (тоже из комментариев к статье):

Код: Выделить всё

dcj1# net rpc join -S dcj1 -U administrator
Password:
Creation of workstation account failed
Unable to join domain MMG.LOCAL.
В логе log.dcj1 после этого такие записи:

Код: Выделить всё

[2007/12/13 12:32:27, 0] passdb/pdb_interface.c:pdb_default_create_user(329)
  _samr_create_user: Running the command `/usr/local/bin/ldapaddmachine 'dcj1$'
[2007/12/13 12:32:45, 0] auth/auth_util.c:create_builtin_administrators(792)
  create_builtin_administrators: Failed to create Administrators
[2007/12/13 12:32:45, 0] auth/auth_util.c:create_builtin_users(758)
  create_builtin_users: Failed to create Users
[2007/12/13 12:32:45, 0] lib/util_sock.c:read_data(534)
  read_data: read failure for 4 bytes to client 192.168.0.11. Error = Connection
[2007/12/13 12:32:45, 0] auth/auth_util.c:create_builtin_administrators(792)
  create_builtin_administrators: Failed to create Administrators
[2007/12/13 12:32:45, 0] auth/auth_util.c:create_builtin_users(758)
  create_builtin_users: Failed to create Users
[2007/12/13 12:37:56, 0] auth/auth_util.c:create_builtin_administrators(792)
  create_builtin_administrators: Failed to create Administrators
[2007/12/13 12:37:56, 0] auth/auth_util.c:create_builtin_users(758)
  create_builtin_users: Failed to create Users
[2007/12/13 12:37:56, 0] lib/util_sock.c:read_data(534)
И еще такая странность: установил на виндовую машину LdapAdmin, он не хочет цепляться к моему домену кроме как анонимусом. Пишет, что неверный синтаксис DN. А анонимусом нормально цепляется. И к виндовому домену нормально цепляется под логином администратора.
В /var/log/samba создался файл log.procio размером 0 байт. procio - это имя компьютера, который я пытался вводить. Там же есть файл log.pdc (pdc - контроллер виндового домена) со следующим загадочным содержанием:

Код: Выделить всё

[2007/12/13 00:05:58, 0] auth/auth_util.c:create_builtin_administrators(792)
  create_builtin_administrators: Failed to create Administrators
[2007/12/13 00:05:58, 0] auth/auth_util.c:create_builtin_users(758)
  create_builtin_users: Failed to create Users
[2007/12/13 07:06:01, 0] auth/auth_util.c:create_builtin_administrators(792)
  create_builtin_administrators: Failed to create Administrators
[2007/12/13 07:06:01, 0] auth/auth_util.c:create_builtin_users(758)
  create_builtin_users: Failed to create Users
В указанное время меня не было на работе. Что хотел виндовый контроллер от самбы и зачем понадобилось создавать встроенные группы? Это уже так, спортивный интерес :).

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 12:53:02
princeps
Да, верся FreeBSD 6.1, коллекция портов обновлялась полностью непосредственно перед развертыванием всего этого, т.е. все должно быть самое распоследнее. Кроме ldapscripts, они из коллекции портов, которая в линксцентре продавалась вместе с 6.1. В этом может быть причина? Весь контроллер поднят в jail'е, может ли быть в этом косяк? Может ему доступа к какому-нибудь сокету нет?

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 14:33:54
Alex Keda
нафига вам всем лдап этот...
=========
домен по имени пингуется?

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 14:43:35
princeps
lissyara писал(а):домен по имени пингуется?
хм, нет. Что где надо настроить по этому поводу?
lissyara писал(а):нафига вам всем лдап этот...
Удобно в одном месте хранить всякие штуки типа DNS, почтовых аккаунтов и единой адресной книги по всей конторе. И лично для меня: чтоб нагло отвечать разным злопыхателям, которые утверждают, что домен на юниксе едва дорос до уровня NT4 по масштабируемости и т.п., что они не правы.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 14:52:38
Dron
princeps писал(а):Создал ему зону в виндовом DNS, в ней SRV запись _ldap._tcp.dc._msdcs.mmg.local с указанием на контроллер домена под самбой
бесполезно... в доках по самбе черным по белому написано, что samba3 не юзает dns, а использует wins, для разрешения имен, соответственно в самбе поднимаем wins и настраиваем на него использование машинку, которую пытаемся ввести...
princeps писал(а):Unable to find a suitable server
тут по идее надо смотреть конфиги... где-то чего-то не прописано, либо самба не может нормально прочитать/записать инфу из LDAP...
это подтверждается куском приведенного лога...

И в завершении:
princeps писал(а):установил на виндовую машину LdapAdmin, он не хочет цепляться к моему домену
Соответственно, есть предположение, что в конфигах неправильно прописан dn учетки с правами записи в LDAP...
пример хотя-бы привел, чего ты там понаписал :)
princeps писал(а):Что хотел виндовый контроллер от самбы
тут помоему самба хотела чего-то от него... опять-же конфиги...

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 15:23:14
princeps
_Dron_ писал(а):где-то чего-то не прописано, либо самба не может нормально прочитать/записать инфу из LDAP
В slapd.conf по этому поводу следующее:

Код: Выделить всё

access to attrs=userPassword
        by self write
        by anonymous auth
        by * none

access to *
        by self write
        by anonymous read
        by * none
Доступ к бд там же:
suffix "dc=mmg,dc=local"
rootdn "cn=root,dc=mmg,dc=local"
rootpw {SSHA}всякая-бурда
Собственно, как в статье.
Что еще из конфигов написать? Сам понимаю, что наверное, какая-то глупая опечатка где-то, да не могу выяснить, где. По поводу wins, в smb.conf должно быть так:

Код: Выделить всё

    wins support = yes
Или что-то еще? Сейчас сам посмотрю в доках самбы.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 15:59:24
Dron
в скриптах и конфигах указан "cn=root,dc=mmg,dc=local" и его пароль для доступа к LDAP?
Что ты вбиваешь в LDAPAdmin?

для wins
у меня так:

Код: Выделить всё

wins support = yes
domain master = yes
preferred master = yes
domain logons = yes
local master = yes
os level = 255

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 16:21:58
princeps
_Dron_ писал(а):в скриптах и конфигах указан "cn=root,dc=mmg,dc=local" и его пароль для доступа к LDAP?
Да, вот он косяк. В ldapscripts.conf, я, видимо, пропустил это место и оставил "cn=admin,dc=example,dc=com". Теперь он вошел в свой собственный домен.
Ldapadmin тоже побежден указанием пользователя как "cn=root,dc=mmg,dc=local". К виндовому домену он цеплялся как admin@domain.ru, я его и тут так же писал.
Виндовые машины не видят самбовый домен. С wins в smb.conf все как у тебя. Там Лис говорил что-то про то, что домен по имени пинговаться должен. Или может что-то на виндовом клиенте надо настроить?

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 16:25:46
princeps
Лис, извини, про кнопочку "code" забываю. Больше не буду.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 16:36:37
princeps
Кстати, все равно:

Код: Выделить всё

dcj1# net rpc info -U administrator
Unable to find a suitable server

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 17:10:23
Dron
на виндовых клиентах надо этот самый wins прописать в настройках сети...

насчет пинга по имени домена... у меня работает без этого... еще для добавления машин в домен при юзании ldapscripts там какой-то свой скрипт... Я просто этот пакет не юзал, использую smbldap-tools...

Re: Windows не видит samba+ldap

Добавлено: 2007-12-13 17:26:52
princeps
wins прописал в настройках сети, пофигу мороз. Скрипт ввода компьютеров вроде работает - сам-то контроллер домена вошел в домен. Из-за jail'а не может быть такого?

Re: Windows не видит samba+ldap

Добавлено: 2007-12-14 9:52:08
princeps
Господа, подскажите, как проверить, работает ли самба сервером wins? Виндовая оснастка для управления wins-серверами пишет, что сервер недоступен. Кстати, сегодня ночью самба PDC снова пыталась совокупиться с виндовым доменом, судя по всему, безуспешно. Это так и надо или все-таки паталогия, кто-нибудь знает?

Re: Windows не видит samba+ldap

Добавлено: 2007-12-14 10:11:26
princeps
Может это может как-то прояснить ситуацию.
Кусок файла /var/log/samba/log.winbindd-idmap:

Код: Выделить всё

[2007/12/14 04:06:06, 1] nsswitch/idmap_tdb.c:idmap_tdb_alloc_init(397)
  idmap uid range missing or invalid
  idmap will be unable to map foreign SIDs
[2007/12/14 04:06:06, 0] nsswitch/idmap.c:idmap_alloc_init(735)
  ERROR: Initialization failed for alloc backend, deferred!
[2007/12/14 04:06:06, 1] nsswitch/idmap_tdb.c:idmap_tdb_alloc_init(397)
  idmap uid range missing or invalid
  idmap will be unable to map foreign SIDs
[2007/12/14 04:06:06, 0] nsswitch/idmap.c:idmap_alloc_init(735)
  ERROR: Initialization failed for alloc backend, deferred!
Это происходило тогда же, когда самба лезла в виндовый домен.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-14 11:22:07
Alex Keda

Код: Выделить всё

%grep id /usr/local/etc/smb.conf
        winbind uid = 10000-20000
        winbind gid = 10000-20000
%  

Re: Windows не видит samba+ldap

Добавлено: 2007-12-14 11:42:56
princeps
Да, я так у же сделал. А нужно ли вот это добавить:

Код: Выделить всё

idmap backend = ldap:ldap://127.0.0.1
?
И еще меня беспокоит вот это:

Код: Выделить всё

dcj1# net rpc info -U administrator
Unable to find a suitable server
Получается, что самба не видит свой собственный домен. Неудивительно, что винда его не видит. Как это лечится? В логах самбы вообще никаких сообщений с тех пор, как я ее ввел в ее же домен.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-20 9:16:34
HRonik
Возвращаюсь к своей любимой теме :)
После боев 2-х месячной давности все нормально работало.Но пришлось пере установить ОС на "по-новее" . Соответственно и Самба теперь версии 3.0.24-6 , а Ldap версии 2.3.30-5. Сразу вопрос , кто-нибудь знает грабли этих версий?..
Все поднял заново. И... Аналогичная проблема, не добавляется в домен виндовая машина.При присоединении говорит что имя пользователя не найдено.В логах самбы

Код: Выделить всё

2007/12/20 10:08:42, 0] lib/util_sock.c:get_peer_addr(1229)
  getpeername failed. Error was Transport endpoint is not connected
[2007/12/20 10:08:42, 0] lib/util_sock.c:get_peer_addr(1229)
  getpeername failed. Error was Transport endpoint is not connected
в логах самбы-компа

Код: Выделить всё

[2007/12/20 10:08:43, 0] passdb/pdb_interface.c:pdb_default_create_user(368)
  _samr_create_user: Running the command `/usr/bin/ldapaddmachine 'selenia$' computers' gave 1
Скрипт сам по себе работает (проверено), но тут в логах скрипта ничего не появляется..

Внимание вопросы:
1. Что это делает самба практически со всеми виндовыми машинами ???

Код: Выделить всё

[2007/12/20 09:06:25, 0] auth/auth_util.c:create_builtin_administrators(785)
  create_builtin_administrators: Failed to create Administrators
[2007/12/20 09:06:25, 0] auth/auth_util.c:create_builtin_users(751)
  create_builtin_users: Failed to create Users
Зачем она пытается пользователей создать ?В прошлых версиях такого не замечал.

2.в логах auth.log периодически появляется:

Код: Выделить всё

Dec 20 09:24:48 localhost slapd[7129]: nss_ldap: could not connect to any LDAP server as cn=root,dc=hronik,dc=ru - Can't contact LDAP server
Dec 20 09:24:48 localhost slapd[7129]: nss_ldap: failed to bind to LDAP server ldap://127.0.0.1/: Can't contact LDAP server
Dec 20 09:24:48 localhost slapd[7129]: nss_ldap: could not search LDAP server - Server is unavailable
Dec 20 09:24:48 localhost slapd[7129]: nss_ldap: could not connect to any LDAP server as cn=root,dc=hronik,dc=ru - Can't contact LDAP server
Dec 20 09:24:48 localhost slapd[7129]: nss_ldap: failed to bind to LDAP server ldap://127.0.0.1/: Can't contact LDAP server
Dec 20 09:24:48 localhost slapd[7129]: nss_ldap: could not search LDAP server - Server is unavailable
вот....сам в домен добавился , по базам Лдапа бегаю спокойно...аутентификация работает... шары на самбе тож работают...
В общем одно голова хорошо, но в компании пить лучше)

Re: Windows не видит samba+ldap

Добавлено: 2007-12-20 9:25:32
HRonik
Да еще при старте Лдапа в логах грит такую строчку...

Код: Выделить всё

Dec 20 10:25:02 localhost slapd[9052]: loaded module back_bdb 
Dec 20 10:25:02 localhost slapd[9052]: module back_bdb: null module registered 
Не знаю должно ли так быть...

Re: Windows не видит samba+ldap

Добавлено: 2007-12-20 9:54:34
HRonik
ЗЫ
При запуске самбы выдает очень длинный лог от slapd. Весь не приведу вот начало середина и конец :)

Код: Выделить всё

Dec 20 10:39:01 localhost /USR/SBIN/CRON[9583]: (root) CMD (  [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm)
Dec 20 10:39:01 localhost slapd[9480]: connection_get(16) 
Dec 20 10:39:01 localhost slapd[9480]: ==> bdb_bind: dn: cn=root,dc=hronik,dc=ru 
Dec 20 10:39:01 localhost slapd[9480]: send_ldap_result: err=0 matched="" text="" 
Dec 20 10:39:01 localhost slapd[9480]: connection_get(16) 
Dec 20 10:39:01 localhost slapd[9480]: SRCH "ou=users,dc=hronik,dc=ru" 1 0
Dec 20 10:39:01 localhost slapd[9480]:     1 30 0 
Dec 20 10:39:01 localhost slapd[9480]: begin get_filter 
....................................
Dec 20 10:39:01 localhost slapd[9480]: bdb_idl_fetch_key: [b49d1940] 
Dec 20 10:39:01 localhost slapd[9480]: <= bdb_filter_candidates: id=0 first=0 last=0 
Dec 20 10:39:01 localhost slapd[9480]: => bdb_filter_candidates 
Dec 20 10:39:01 localhost slapd[9480]: ^IAND 
Dec 20 10:39:01 localhost slapd[9480]: => bdb_list_candidates 0xa0 
Dec 20 10:39:01 localhost slapd[9480]: => bdb_filter_candidates 
Dec 20 10:39:01 localhost slapd[9480]: ^IEQUALITY 
................................................
Dec 20 10:39:01 localhost slapd[9480]: send_paged_response: lastid=0x00000000 nentries=0 
Dec 20 10:39:01 localhost slapd[9480]: send_ldap_result: err=0 matched="" text="" 
Dec 20 10:39:01 localhost slapd[9480]: connection_get(16) 
Я ,к,сожалению, в силу своей не развитости не пойму, подключился он или нет:)

Re: Windows не видит samba+ldap

Добавлено: 2007-12-20 13:21:08
HRonik
Проблема с добавлением машины решилась....пере установкой самбы 3-й раз.....Но решилась.
А не понятные логи все лезут и лезут...

Re: Windows не видит samba+ldap

Добавлено: 2007-12-20 13:39:52
princeps

Код: Выделить всё

Dec 20 10:25:02 localhost slapd[9052]: loaded module back_bdb
Dec 20 10:25:02 localhost slapd[9052]: module back_bdb: null module registered
Это, наверное, потому, что самба собрана с поддержкой bdb, а в качестве бэкенда используется lbdm, как в статье.
Я свою проблему замучился решать и грохнул jail, в котором все это стояло. Правда в конце концов нашел, кажется, проблему. В rc.conf в разделе описания jail'а была такая опечатка:

Код: Выделить всё

jail_dcj1_hostname="dcj1.имя_виндового_домена"
т.е. jail считал себя принадлежащим виндовой зоне dns. Соответственно ни винда не могла его найти, ни он сам себя. Сейчас создал новый jail, делаю все заново.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-20 19:03:20
princeps
Нет, блин не помогло. Переставил все по-новой, та же фигня. net rpc info -U admin не может найти сервер и виндовые клиенты тоже не могут.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-24 10:43:10
princeps
Возвращаюсь снова к своей проблеме. В общем, почитал про NetBIOS и WINS и в smb.conf заменил строку

Код: Выделить всё

workgroup=mmg.local
на

Код: Выделить всё

workgroup=MMG
В виндовой машине в поле "имя домена" вместо mmg.local пишу MMG. Все равно не работает :(. Теперь винда пишет, что mmg - это, наверное, NetBIOS имя домена и предлагает проверить записи на сервере wins. Если же это не NetBIOS имя, тогда srv запись в DNS.... и далее как в том анекдоте про блох. У меня в сети есть еще один сервер wins, управляется виндой. Собственно, кто-нибудь знает, самба будет ли конфликтовать с этим серваком, если на вкладке wins клиента прописан ip-адрес сервера с самбой? Как я понял, разработчики самба не рекомендуют иметь несколько wins-серверов на самбе в одной сети, т.к. она не умеет участвовать в wins-репликации. А как тогда быть? У меня есть в сети пара Win98 и я боюсь мочить виндовый wins, чтоб они не отвалились. Net rpc info продолжает делать так:

Код: Выделить всё

dc1# net rpc info -U admin
Unable to find a suitable server
Зато если ему указать сервер:

Код: Выделить всё

net rpc info -S dc1 -U admin
тогда все ок. Т.е., как я понимаю, netbios имя сервера он разрешает, а домена - нет. Вчера в другой сети делал все тоже самое, только там не было левых винсов - завелось с полпинка.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-24 11:20:56
princeps
Ура! Я его победил, засранца!
Собственно, я сам лосось, как обычно, оказалось, что надо тщательней смотреть логи. Поскольку разрешением имен в самбе, как я понял, занимается nmbd, решил посмотреть log.nmbd. Выяснилось, что после перезапуска самбы там появляется следующее:

Код: Выделить всё

[2007/12/24 10:56:21, 0] nmbd/nmbd_subnetdb.c:create_subnets(190)
  create_subnets: No local interfaces !
[2007/12/24 10:56:21, 0] nmbd/nmbd_subnetdb.c:create_subnets(191)
  create_subnets: Waiting for an interface to appear ...
Собственно, из-за того, что строчку interfaces = 192.168.0.11/24 в smb.conf я закомментировал на тот предмет, что если вдруг понадобится менять интерфейсы, не пришлось бы делать лишних движений. Такая конфигурация у меня работала в других сетях. Однако эта отличается тем, что pdc поднимается в jail'е, а там нет физического интерфейса, есть только ip. Вот nmbd и не мог найти, где ему ждать запросов. Короче, добавлением этой строчки решились все проблемы. Так что, если кому-нибудь еще кроме меня придет в голову поднимать pdc в jail'е, имейте в виду эту особенность.

Re: Windows не видит samba+ldap

Добавлено: 2007-12-24 11:57:28
Alex Keda
а я это даже где-то писал...
в какой-то из статей - помоему про ПДС без лдапа...
==========
собсно что в джайле я прошляпил, хотя ты писал про это раньше...