URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81185
[ Назад ]

Исходное сообщение
"samba + win2003+ad"

Отправлено Mark , 16-Июл-08 08:50 
Добрый день.

Есть домен podr.orgzap.ru который обслуживают восемь серверов из разных подсетей (один имеется в моей подсети) на базе win 2003 server и которые стоят в win2003 native. Имеется в виду что если я буду заводить машину в домен PODR то не известно на какой из серверов я попаду (объекты AD реплицируются между этими серверами). Мне как администратору филиала был выделен пользователь на добавление машин в домен и я имею право на изменение одного контейнера в этом домене (пользователей). Так вот. Встала у меня задача впихнуть линукс в этот домен.
Slackware 12.0 kernel 2.6.21.5, samba 3.0.25b с поддержкой AD, LDAP, KRB, отдельно был установлен пакет heimdal-1.2. Настройки пока приводить не буду, расскажу что происходит. После запуска smbd,nmbd и winbindd я завёл машину в домен net ads join -U user%123 всё прошло замечательно. Далее получаю билет от сервера KDC, от сервера который расположен в моей подсети dc-01.podr.orgzap.ru  - kinit user@PODR.ORGZAP.RU. Всё проходит замечательно но вот дальше тупик. Делаю wbinfo -u висит минуту потом отваливается с ошибкой error looking up domain users. Проходит минут пять делаю тоже самое и вот он мне предоставляет список пользователей в домене. Делаю wbinfo -D PODR и всё зашибись. Через несколько минут я уже не могу получить эту информацию. В логи валят ошибки типа:
libsmb/clikrb5.c:ads_krb5_mk_req(602)- ads_krb5_mk_req: krb5_get_credentials failed for dc-01$@DLG.ORGZAP.RU (Message stream modified)
nsswitch/winbindd_ads.c:ads_cached_connection (128) - ads_connect for domain DLG failed (Message stream modified)
....
так он перечисляет ещё кучу доменов которые входят в ORGZAP.RU. Мне не понятно нахрена он начинает шерстить по trust доменам ORGZAP.RU если надо только пройтись по серверам PODR.ORGZAP.RU.

Вот что ещё характерно, после добавления машины в домен она становится видна в dns как machine.orgzap.ru а не как machine.podr.orgzap.ru. В чём может быть проблема ума не приложу.
Ну и в конце он пишет query_user_list ads_search: Time out.

Буду признателен за любую помощь.


Содержание

Сообщения в этом обсуждении
"samba + win2003+ad"
Отправлено PJ , 16-Июл-08 16:13 
smb.conf
krb5.conf

покажите хотя бы...


"samba + win2003+ad"
Отправлено Mark , 17-Июл-08 13:42 
>smb.conf
>krb5.conf
>
>покажите хотя бы...

Двоеточием отмечено то что я пробовал но не помогло.

smb.conf

[global]

;auth methods = winbind

   workgroup = PODR
   server string = Linux Server
   security = ADS
;   allow trusted domains = No

;   hosts allow = 10.100.4. 10.100.5. 127.
   hosts allow = 10. 127.
   time server = Yes
   log file = /var/log/samba.%m
   max log size = 50

   password server = dc-01.podr.orgzap.ru

   realm = PODR.ORGZAP.RU

;;   passdb backend = tdbsam
   socket options = TCP_NODELAY
   local master = no
   os level = 0
   domain master = no
   preferred master = no
   dns proxy = no


display charset = koi8-r
unix charset = koi8-r
dos charset = cp866

encrypt passwords = yes

allow trusted domains = No
;winbind use default domain = yes
;winbind trusted domains only = yes
winbind uid = 10000-20000
winbind gid = 10000-20000
;idmap uid = 10000-20000
;idmap gid = 10000-20000
;winbind enum users = yes
;winbind enum groups = yes

krb5.conf

[libdefaults]
        default_realm = PODR.ORGZAP.RU
        dns_lookup_realm = false
        dns_lookup_kdc = false

[realms]
    PODR.ORGZAP.RU = {
               kdc = dc-01.podr.orgzap.ru:88
               default_domain = PODR.ORGZAP.RU
    }
[domain_realm]
    .podr.orgzap.ru = podr.orgzap.ru
         podr.orgzap.ru = podr.orgzap.ru
        .PODR.ORGZAP.RU = PODR.ORGZAP.RU
         PODR.ORGZAP.RU = PODR.ORGZAP.RU


"samba + win2003+ad"
Отправлено PJ , 17-Июл-08 22:51 
>[оверквотинг удален]
>            
>   default_domain = PODR.ORGZAP.RU
> }
>[domain_realm]
> .podr.orgzap.ru = podr.orgzap.ru
>         podr.orgzap.ru = podr.orgzap.ru
>
>        .PODR.ORGZAP.RU = PODR.ORGZAP.RU
>         PODR.ORGZAP.RU = PODR.ORGZAP.RU
>

А классическим методом не пробовали? через RPC вместо ads

security = DOMAIN

ну и net rpc join вместо net ads join

Я в свое время намучился со связью через ads - у меня не обновлялись tickets автоматически, поэтому пришлось вязать через rpc (делал авторизацию на Squid через winbindd). Работает уже 2 года, на DC cейчас Win2K3 R2 SP2

Да, и

winbind use default domain = yes

не помешает



"samba + win2003+ad"
Отправлено Mark , 18-Июл-08 08:01 
>[оверквотинг удален]
>Я в свое время намучился со связью через ads - у меня
>не обновлялись tickets автоматически, поэтому пришлось вязать через rpc (делал авторизацию
>на Squid через winbindd). Работает уже 2 года, на DC cейчас
>Win2K3 R2 SP2
>
>Да, и
>
>winbind use default domain = yes
>
>не помешает

В общем отредактировал smb.conf поставил security = DOMAIN перезапустил сервисы и вот что я наблюда.

net rpc join -U user
Unable to find a suitable server
Unable to find a suitable server

НО wbinfo -u и wbinfo -g отлично работают. В логах только одна запись начала появляться:
nsswitch/winbind_ads.c ..... Not a user account? atype=0x30000000 это при запросе wbinfo -u

Но вот как теперь мне сделать так что бы комманда net rpc join отработала . Может мне в smb.conf что то добавить? Или может это из за того что сервера стоят в режиме win 2003 native ?



"samba + win2003+ad"
Отправлено PJ , 20-Июл-08 12:22 
Unable to find a suitable server - посмотрите настройки DNS на Samba-машине. Если есть еще и WINS-сервер в сети (хотя у вас и W2K3 native, но мало ли :), пропишите и его в настройках Samba

wins server = IP.ADDR.OF.WINS



"samba + win2003+ad"
Отправлено tux2002 , 18-Июл-08 16:50 

>происходит. После запуска smbd,nmbd и winbindd я завёл машину в домен
>net ads join -U user%123 всё прошло замечательно. Далее получаю билет
>от сервера KDC, от сервера который расположен в моей подсети dc-01.podr.orgzap.ru
> - kinit user@PODR.ORGZAP.RU. Всё проходит замечательно но вот дальше тупик.
>Делаю wbinfo -u висит минуту потом отваливается с ошибкой error looking

Сначала net ads join а потом запускайте службы и смотрите syslog (в smb.conf log_level повыше) - там достаточно наглядно.


"samba + win2003+ad"
Отправлено zmr0k , 12-Авг-08 15:47 
Mark, такая же проблема, и те же строки: шарит логины по всем траст доменам, несмотря на winbind use default domain = yes, allow trusted domains = no и подобные.

Начинает напрягать с "ads_krb5_mk_req: krb5_cc_get_principal failed (No such file or directory)" при вводе в домен. При получении тикета все ура. А далее:
1. повторяющиеся строки "find_workgroup_on_subnet: workgroup search for $(my_short_name_domain) on subnet 10.130.129.33: found"
2. ads_try_connect: CLDAP request 10.243.223.10 failed
при wbinfo -u/g задержка (начинает шарить трастовые домены) и уже в нужном мне домене выводит список юзеров с выводом в winbindd.log, для каждого:
[2008/08/12 14:36:23, 1] nsswitch/winbindd_ads.c:query_user_list(209)
  Not a user account? atype=0x30000000

$ uname -a
Linux test 2.6.18-1.2849.fc6 #1 SMP Fri Nov 10 12:36:14 EST 2006 i686 i686 i386 GNU/Linux
$ rpm -qa |grep -i -e ldap -e krb
krb5-devel-1.5-7
krb5-libs-1.5-7
pam_krb5-2.2.11-1
krb5-workstation-1.5-7
openldap-2.3.27-4
openldap-devel-2.3.27-4
nss_ldap-257-4.fc6

samba ставил из сырцов
$ smbd -V
Version 3.0.28a

$ cat /etc/hosts
::1             test       localhost.localdomain   localhost
127.0.0.1       test.main.domain.by localhost test
10.130.129.33           test.main.domain.by test
10.130.129.52           test
10.1.100.133            main.domain.by
$ping main.domain.by
PING main.domain.by (10.1.100.133) 56(84) bytes of data.
64 bytes from main.domain.by (10.1.100.133): icmp_seq=1 ttl=127 time=1.19 ms
64 bytes from main.domain.by (10.1.100.133): icmp_seq=2 ttl=127 time=0.436 ms
$ nslookup main.domain.by
Server:         10.1.100.133
Address:        10.1.100.133#53

Name:   main.domain.by
Address: 10.130.129.100
Name:   main.domain.by
Address: 10.1.100.133
Name:   main.domain.by
Address: 10.254.0.2
Name:   main.domain.by
Address: 10.1.100.181
Name:   main.domain.by
Address: 10.1.100.182
Name:   main.domain.by
Address: 10.144.129.30
Name:   main.domain.by
Address: 10.254.0.3

$ grep -e "HAVE_KRB5 " -e "WITH_ADS" /home/user/samba-3.0.28a/source/include/config.h
#define HAVE_KRB5 1
#define WITH_ADS 1

# cat /etc/krb5.conf
[logging]
        default = FILE:/var/log/krb5libs.log
        kdc = FILE:/var/log/krb5kdc.log
        admin_server = FILE:/var/log/kadmind.log


[libdefaults]
        default_realm = MAIN.DOMAIN.BY
        dns_lookup_realm = false
        dns_lookup_kdc = false
#       ticket_lifetime =

[realms]
        MAIN.DOMAIN.BY = {
#               admin_server = SRV-DC-002.MAIN.DOMAIN.BY
                admin_server = 10.1.100.133
#               kdc = SRV-DC-002.MAIN.DOMAIN.BY
                kdc = 10.1.100.133
#               kpasswd_server = SRV-DC-002.MAIN.DOMAIN.BY
                kpasswd_server = 10.1.100.133
                default_domain = MAIN.DOMAIN.BY
# main.domain.by
        }

[domain_realm]
        .main.domain.by = MAIN.DOMAIN.BY
        main.domain.BY = MAIN.DOMAIN.BY

$ cat /usr/local/samba/lib/smb.conf | sed -e '/^$/d' -e '/^#/d' -e '/^;/d'
[global]
   workgroup = DOMAIN
   netbios name = test
   server string = "test serv"
security = ads
   hosts allow = 10. 127.
#  load printers = yes
   log file = /var/log/samba/%m.log
   max log size = 50000
   password server = 10.1.100.133
        # and AD
        encrypt passwords = yes
winbind uid = 10000-25000
winbind gid = 10000-25000
winbind enum groups = yes
winbind enum users = yes

   realm = MAIN.DOMAIN.BY
   passdb backend = tdbsam
   local master = no
   os level = 0
   domain master = no
   preferred master = no
   domain logons = no
   wins server = 10.1.100.100
   wins proxy = no
   dns proxy = no
winbind use default domain = yes
allow trusted domains = no
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
display charset = UTF-8
dos charset = CP866
unix charset = UTF-8
        log level = 3
[share]
path = /data/public
read list =
write list =
read only = no
public = yes
writable = yes
browsable = yes
guest ok = yes

# cat /etc/nsswitch.conf | grep winbind
group:      files winbind
passwd:     files winbind
shadow:     files winbind

Итак:
все вроде как прописано. Получаю билет под рутом для своего юзера из AD (не имеющего право вводить в домен), ntpd запущен, для уверенности предварительно синхронизируемся с сервером
# net time set -> OK

# kinit my_domain_user@MAIN.DOMAIN.BY
Password for my_domain_user@MAIN.DOMAIN.BY:

получаем, смотрю вывод klist.
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: my_domain_user@MAIN.DOMAIN.BY

Valid starting     Expires            Service principal
08/07/08 09:34:33  08/07/08 19:35:14  krbtgt/MAIN.DOMAIN.BY@MAIN.DOMAIN.BY
        renew until 08/14/08 09:34:33
08/07/08 09:35:14  08/07/08 19:35:14  test$@MAIN.DOMAIN.BY
        renew until 08/14/08 09:34:33


Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

далее adminDomain вводит в домен:
# net ads join -U adminDomain%password
Using short domain name -- DOMAIN
Joined 'test' to realm 'MAIN.DOMAIN.BY'


# smbd -D
# winbindd -i -d3
# nmbd -D

Проверяем:
# wbinfo -t
checking the trust secret via RPC calls succeeded
# wbinfo -p
Ping to winbindd succeeded on fd 4

# wbinfo -D DOMAIN
Name              : DOMAIN
Alt_Name          : MAIN.DOMAIN.BY
SID               : S-1-5-21-1549627856-163330409-526660263
Active Directory  : Yes
Native            : Yes
Primary           : Yes
Sequence          : -1


Mark, если решишь проблему, стукни в асю 287-667-338, в любом случае, скилл пригодиться
Извенюсь за большой пост, но тема та же, и трабла. Спасибо


"samba + win2003+ad"
Отправлено Alex , 04-Дек-09 14:04 
Привет!
Имею подобную проблему только наоборот: эсть 2 домена, шара на самбе пускает с своего,  с довереного -  никак. настораживает ошибка
>>libsmb/clikrb5.c:ads_krb5_mk_req(602)

  ads_krb5_mk_req: krb5_get_credentials failed for XXXhost@XXdomainname (KDC policy rejects request)
За ответ спосиба.