Домен/Решение проблем: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 6: Строка 6:
= Проверка сервера =
= Проверка сервера =


1. Проверяем на сервере домен и то, что он использует Kerberos:
== 1.Проверяем правильность работы домена на сервере ==
 
Проверяем на сервере домен и то, что он использует Kerberos:
<pre># alterator-cmdline /net-domain action read
<pre># alterator-cmdline /net-domain action read
domain:test.altlinux.ru
domain:test.altlinux.ru
Строка 26: Строка 28:
= Проверка клиента =
= Проверка клиента =


2. Проверяем схему аутентификации на клиенте:
==2. Проверяем схему аутентификации на клиенте ==
  # system-status
  # system-status
  krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
  krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
Строка 38: Строка 40:
  system-auth write krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru
  system-auth write krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru


3. Смотрим доступность сервера по имени:
==3. Смотрим доступность сервера по имени==
  # ping ldap.test.altlinux.ru
  # ping ldap.test.altlinux.ru


Строка 45: Строка 47:
б) Если ping не идёт, проверьте сетевые подключения клиента и сервера и маршрутизацию сети.
б) Если ping не идёт, проверьте сетевые подключения клиента и сервера и маршрутизацию сети.


4. Проверьте время на клиенте и сервере командой
==4. Проверьте время на клиенте и сервере командой==
  # date
  # date


Оно не должно сильно отличаться. Kerberos очень чувствителен к разнице во времени.
Оно не должно сильно отличаться. Kerberos очень чувствителен к разнице во времени.


5. Проверьте, виден ли клиент в LDAP:
==5. Проверьте, виден ли клиент в LDAP==
<pre># ldapsearch -LLL -b "dc=test,dc=altlinux,dc=ru" -x -H "ldaps://ldap.test.altlinux.ru" "(&(objectClass=posixAccount)(uid=fill))"                         
<pre># ldapsearch -LLL -b "dc=test,dc=altlinux,dc=ru" -x -H "ldaps://ldap.test.altlinux.ru" "(&(objectClass=posixAccount)(uid=fill))"                         
dn: uid=fill,ou=People,dc=test,dc=altlinux,dc=ru                                                                                                                                     
dn: uid=fill,ou=People,dc=test,dc=altlinux,dc=ru                                                                                                                                     
Строка 76: Строка 78:
givenName:: 0JjQstCw0L0=</pre>
givenName:: 0JjQstCw0L0=</pre>


6. Проверьте, видим ли пользователь через NSS на клиентской машине:
==6. Проверьте, видим ли пользователь через NSS на клиентской машине==
  # getent passwd fill
  # getent passwd fill
  fill:*:5006:5009:Филиппов Иван Дмитриевич:/home/fil:/bin/sh
  fill:*:5006:5009:Филиппов Иван Дмитриевич:/home/fil:/bin/sh
Строка 82: Строка 84:
Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере.
Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере.


7. Проверяем получение тикета Kerberos:
==7. Проверяем получение тикета Kerberos:==
<pre>
<pre>
# kinit l1
# kinit l1
Строка 94: Строка 96:


В первой команде нужно указать имя пользователя и его пароль. Команда {{cmd|klist}} должна показать полученный тикет.
В первой команде нужно указать имя пользователя и его пароль. Команда {{cmd|klist}} должна показать полученный тикет.
==8. Пробуем зайти под доменным пользователем==
В DM  или консоли пробуем зайти доменным пользователем. В случае успеха аутентификация в домене работает.


[[Категория:Руководства]] [[Категория:Домен]]
[[Категория:Руководства]] [[Категория:Домен]]

Версия от 15:01, 17 октября 2012

Внимание! Домен нужно устанавливать только после настройки сервера DHCP. В противном случае придётся выбирать другое имя домена.

Если что-то не работает, алгоритм следующий:

Проверка сервера

1.Проверяем правильность работы домена на сервере

Проверяем на сервере домен и то, что он использует Kerberos:

# alterator-cmdline /net-domain action read
domain:test.altlinux.ru
resolver:OK
access:OK
ldap:OK
kdc:OK
smb:OK
dhcpd:OK
master:#t

Все параметры (кроме domain и master) должны быть OK, domain содержит правильное имя домена, master — значение #t.

Если проблемы с KDC, то следует выполнить следующий алгоритм действий:

  1. В модуле «DHCP-сервер» настроить сервер для подсети.
  2. Создать новый домен с другим именем (и с выставленным флажком «Обслуживать домен Kerberos»). При попытке использовать старое имя домена не создадутся нужные ветки в базе LDAP.

Проверка клиента

2. Проверяем схему аутентификации на клиенте

# system-status
krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru

Схема — krb5, выбран правильный домен. Примечание: на сервере используется схема ldap.

Если в модуле «Аунтификация» не показывается домен, то на клиенте нужно запустить службу avahi-daemon:

service avahi-daemon start

или добавить аутентификацию в домене вручную:

system-auth write krb5 dc=test,dc=altlinux,dc=ru ldaps://ldap.test.altlinux.ru

3. Смотрим доступность сервера по имени

# ping ldap.test.altlinux.ru

а) Если пишет 'unknown host', проверьте, прописан ли сервер как сервер DNS для этой машины. Рекомендуется сервер домена использовать как сервер DHCP и DNS для обслуживаемой подсети.

б) Если ping не идёт, проверьте сетевые подключения клиента и сервера и маршрутизацию сети.

4. Проверьте время на клиенте и сервере командой

# date

Оно не должно сильно отличаться. Kerberos очень чувствителен к разнице во времени.

5. Проверьте, виден ли клиент в LDAP

# ldapsearch -LLL -b "dc=test,dc=altlinux,dc=ru" -x -H "ldaps://ldap.test.altlinux.ru" "(&(objectClass=posixAccount)(uid=fill))"                        
dn: uid=fill,ou=People,dc=test,dc=altlinux,dc=ru                                                                                                                                    
uid: fill                                                                                                                                                                           
cn:: 0KTQuNC70LjQv9C/0L7QsiDQmNCy0LDQvSDQlNC80LjRgtGA0LjQtdCy0LjRhw==
sn:: 0KTQuNC70LjQv9C/0L7Qsg==
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: sambaSamAccount
loginShell: /bin/sh
uidNumber: 5006
gidNumber: 5009
homeDirectory: /home/fil
sambaAcctFlags: [U          ]
sambaSID: S-1-5-21-2552966934-293145977-2108249345-11012
sambaPwdLastSet: 2147483647
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 0
givenName:: 0JjQstCw0L0=

6. Проверьте, видим ли пользователь через NSS на клиентской машине

# getent passwd fill
fill:*:5006:5009:Филиппов Иван Дмитриевич:/home/fil:/bin/sh

Если ничего не выдано, проверяйте имя домена и работу службы LDAP (slapd) на сервере.

7. Проверяем получение тикета Kerberos:

# kinit l1
Password for l1@SCHOOL-5:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: l1@SCHOOL-5

Valid starting     Expires            Service principal
09/30/12 18:17:00  10/01/12 18:17:00  krbtgt/SCHOOL-5@SCHOOL-5

В первой команде нужно указать имя пользователя и его пароль. Команда klist должна показать полученный тикет.

8. Пробуем зайти под доменным пользователем

В DM или консоли пробуем зайти доменным пользователем. В случае успеха аутентификация в домене работает.