LINUX.ORG.RU
ФорумAdmin

SAMBA LDAP PDC + SAMBA LDAP BDC


0

0

Настроил сабжевую связку. Репликация проходит отлично.
Но есть проблема на стороне BDC. Когда выполняю net rpc user вываливается ошибка:
Could not connect to server 127.0.0.1
Connection failed: NT_STATUS_CONNECTION_REFUSED

В логе smbd.log присутствет также ошибки:
[2008/08/21 09:35:02, 1] lib/smbldap.c:another_ldap_try(1150)
  Connection to LDAP server failed for the 1 try!
[2008/08/21 09:35:03, 1] lib/smbldap.c:another_ldap_try(1150)
  Connection to LDAP server failed for the 2 try!
[2008/08/21 09:35:04, 1] lib/smbldap.c:another_ldap_try(1150)
  Connection to LDAP server failed for the 3 try!

И т.д. При этом если остановить самбу "/etc/init.d/samba stop" 
остается висеть smbd который убивается только killall -9 smbd.
Подскажите где может быть проблема. Вот конфиги samba на BDC:
############### SLAVE BDC smb.conf:

workgroup = DOMAIN
netbios name = BDC
server string = BDC
security = user
domain logons = Yes
domain master = No
os level = 127
time server = yes
wins support = yes
enable privileges = Yes
obey pam restrictions = No
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = eth0 lo
bind interfaces only = yes
hosts allow = 192.168., 127., localhost
unix charset = utf8
dos charset = cp1251
display charset = cp1251
load printers = no
printing = bsd
printcap name = /dev/null
wins support = yes

logon drive =
logon home =
logon path =
logon script = %G.bat

passdb backend = ldapsam:ldap://localhost/
ldap admin dn = cn=admin,dc=domain,dc=ru
ldap suffix = dc=domain, dc=ru
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
ldap passwd sync = Yes
ldap delete dn = No

add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel -r "%u"
add machine script = /usr/sbin/smbldap-useradd -t 1 -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
rename user script = /usr/sbin/smbldap-usermod -r "%unew" "%uold" 
anonymous

нда...

>Connection to LDAP server failed for the 1 try!
Два возможных варианта:

1) LDAP сервера указанного в конфиге нет
2) вы не добавили пароль ldap manager'а в samba (smbpasswd -w)

zgen ★★★★★
()
Ответ на: комментарий от zgen

LDAP сервер запущен и слушает на всех интерфейсах. smbpasswd -w выполнял. Да кстати до того как была настроена и произведена реликация. smbd прекрасно стартовал.

anonymous
()
Ответ на: комментарий от zgen

Вот что пишет net getlocalsid:

[2008/08/22 06:46:57, 0] lib/smbldap.c:smbldap_connect_system(977)
  failed to bind to server ldap://127.0.0.1 with dn="cn=admin,dc=domain,dc=ru" Error: Invalid credentials

SID for domain BDC is: S-1-5-21-1340770725-231368484-1776270041

anonymous
()

Изменил в smb.conf:
ldap admin dn = cn=admin,dc=domain,dc=ru на
ldap admin dn = cn=replicator,dc=domain,dc=ru

сделал smbpasswd -w пароль репликатора.

smbd запустился, но теперь net rpc user после ввода пароля репликатора пишет:
Could not connect to server 127.0.0.1
The username or password was not correct.
Connection failed: NT_STATUS_LOGON_FAILURE

anonymous
()
Ответ на: комментарий от anonymous

сделайте не cn=admin, а cn=manager,dc=domain,dc=ru, и добейтесь работы с ним, а потом можете совать репликатора или еще кого...

я уж не говорю, что использовать replicator'а вообще неправильно в корне.

zgen ★★★★★
()
Ответ на: комментарий от zgen

А в slapd.conf так же replicator на admin менять?

syncrepl rid=0
        provider=ldap://pdc.domain.ru/
        searchbase="dc=domain,dc=ru"
        interval=00:01:00:00
        bindmethod=simple
        binddn="cn=admin,dc=domain,dc=ru"
        credentials=ReplicanT
        type=refreshOnly

updateref ldap://pdc.domain.ru/

anonymous
()
Ответ на: комментарий от amfibrahii

К сожелению не могу показать вывод команды т.к. нахожусь сейчас не на работе. А что такое "петля"?

anonymous
()
Ответ на: комментарий от zgen

На pdc создал cn=manager. На bdc все базы (ldap и samba) почистил репликацию сделал, getent passwd и getent group доменных пользователей и группы видят. В smb.conf cn=manager прописал, SID сменил на SID PDC, smbpasswd -w "пароль cn=manager" сделал. Запускаю самбу и один фиг та же ерунда invalid credentials. smbd так же не может к ldap подключиться. Есть ещё варианты?

anonymous
()
Ответ на: комментарий от anonymous

Вы вообще понимаете, что делаете? давайте весь slapd.conf, только пароль уберите.

cn=manager не надо создавать, это админ описанный в slapd.conf, он не имеет ограничений в принципе.

В binddn должен быть описан пользователь, имеющий право записи в slave LDAP. Его ни в коем случае нельзя использовать в samba, иначе у вас будет рассинхронизация.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Вроде всё заработало благодаря http://wiki.samba.org/index.php/Replicated_Failover_Domain_Controller_and_file_
server_using_LDAP.
Но есть несколько вопросов. При добавлении индексов к нижеприведённым
конфигам samba перестает соединяться с ldap. Похоже в этих индексах и
была проблема... Подскажите где может быть ошибка? С индексами то
пошустрее должно работать...

Добавляемые индексы:
# Indices to maintain
#index cn                    pres,sub,eq
#index sn                    pres,sub,eq
#index uid                   pres,sub,eq
#index displayName           pres,sub,eq
#index uidNumber             eq
#index gidNumber             eq
#index memberUID             eq
#index sambaSID              eq
#index sambaPrimaryGroupSID  eq
#index sambaDomainName       eq
#index default               sub

Вот конф мастера:
#LDAP Provider
include     /etc/ldap/schema/core.schema
include     /etc/ldap/schema/cosine.schema
include     /etc/ldap/schema/inetorgperson.schema
include     /etc/ldap/schema/nis.schema
include     /etc/ldap/schema/samba.schema

pidfile     /var/run/slapd/slapd.pid
argsfile    /var/run/slapd/slapd.args

modulepath      /usr/lib/ldap
moduleload      back_bdb
moduleload      syncprov

database    bdb
suffix      "dc=domain,dc=ru"
rootdn      "cn=admin,dc=domain,dc=ru"
rootpw      pasSWord
directory   /var/lib/ldap

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

access to attrs=userPassword
        by self write
        by dn="cn=manager,dc=domain,dc=ru" write
        by dn="cn=replicator,dc=domain,dc=ru" read
        by * auth

access to attrs=sambaLMPassword,sambaNTPassword
        by dn="cn=manager,dc=domain,dc=ru" write
        by dn="cn=replicator,dc=domain,dc=ru" read

access to *
        by dn="cn=manager,dc=domain,dc=ru" write
        by dn="cn=replicator,dc=domain,dc=ru" read
        by * read

index           objectClass eq
index           entryCSN,entryUUID eq

Вот конф слейва:
# LDAP Consumer

include     /etc/ldap/schema/core.schema
include     /etc/ldap/schema/cosine.schema
include     /etc/ldap/schema/inetorgperson.schema
include     /etc/ldap/schema/nis.schema
include     /etc/ldap/schema/samba.schema

pidfile     /var/run/slapd/slapd.pid
argsfile    /var/run/slapd/slapd.args

modulepath      /usr/lib/ldap
moduleload      back_bdb

database    bdb
suffix      "dc=domain,dc=ru"
rootdn      "cn=admin,dc=domain,dc=ru"
rootpw      missouri
directory   /var/lib/ldap

syncrepl
    rid=0
        provider=ldap://bdc.domain.ru:389
        binddn="cn=replicator,dc=domain,dc=ru"
        bindmethod=simple
        credentials=PassworD
        searchbase="dc=domain,dc=ru"
        filter="(objectClass=*)"
        attrs="*"
        schemachecking=off
        scope=sub
        type=refreshOnly
        interval=00:01:00:00

access to attrs=userPassword
        by dn="cn=manager,dc=domain,dc=ru" read
        by dn="cn=replicator,dc=domain,dc=ru" write
        by * auth

access to attrs=sambaLMPassword,sambaNTPassword
        by dn="cn=manager,dc=domain,dc=ru" read
        by dn="cn=replicator,dc=domain,dc=ru" write

access to *
        by dn="cn=replicator,dc=domain,dc=ru" write
        by * read

index           objectClass eq

anonymous
()
Ответ на: комментарий от zgen

Ещё в логах как на PDC так и на BDC присутствуют странные ошибки:
<= bdb_equality_candidates: (sambaSID) index_param failed (18)
<= bdb_equality_candidates: (uniqueMember) index_param failed (18)
<= bdb_equality_candidates: (gidNumber) index_param failed (18)
<= bdb_equality_candidates: (uid) index_param failed (18)
<= bdb_equality_candidates: (memberUid) index_param failed (18)
Что это за ошибки и как от них избавиться?

anonymous
()
Ответ на: комментарий от anonymous

Когда набирал сообщение забыл пароль в конфиге слейва поправить: 
rootpw      missouri
там тож PasSWord.

anonymous
()
Ответ на: комментарий от zgen

Ещё вопрос. Тут http://wiki.samba.org/index.php/Replicated_Failover_Domain_Controller_and_file_
server_using_LDAP
написано что на PDC и на BDC в конфигах самбы и в конфигах ldap клиентов
надо указывать по два урла до LDAP серверов (до мастера и до слейва).
Зачем это сделано и нужно ли это вообще?

anonymous
()
Ответ на: комментарий от anonymous

>написано что на PDC и на BDC в конфигах самбы и в конфигах ldap клиентов
надо указывать по два урла до LDAP серверов

где конкретно?

zgen ★★★★★
()
Ответ на: комментарий от zgen

smb.conf:
passdb backend =ldapsam:"ldap://node1.differentialdesign.org ldap://node2.differentialdesign.org"

ldap.conf:
host    node1.differentialdesign.org node2.differentialdesign.org

anonymous
()
Ответ на: комментарий от anonymous

Это нужно, чтобы в случае падения LDAP master'а у вас не вышла из строя Samba, однако в момент, когда LDAP master недоступен, станут недоступными добавление машин, пользователей и смена пароля т.е. все, что связано с записью в каталог.

zgen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.