search
top

Интеграция Linux CentOS в Active Directory. Часть 1.

samba_winserver2003Давно не писал, но я исправлюсь, обещаю )). И начну с вполне заурядных вещей для сисадминов, это интеграция в  каталог под управлением . Сегодня будем интегрировать .   Казалась бы простая задача, но ставит много вопросов, в процессе ввода в домен, и если не все то многие из них я рассмотрю в  нескольких статях

Для работы нам понадобятся:

1) Уже работающий Домен под
2) (я работаю на версии 5.3, но подойдет любая)
3)
4) 5
4) Права Администратора домена
5) Клавиатура
6) И очень редко мышь.

Начну с настройки протокол сетевой аутентификации 5 и ошибки связанные с этим. Не буду углубляться в описание этого протокола, про него сможете прочитать  тут . Вам надо знать одно, что без него ничего работать не будет. Для того что бы все работало правим Файлик krb5.conf который находится в каталоге etc (/etc/krb5.conf)
Изначально 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 = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
EXAMPLE.COM = {
kdc = .example.com:88
default_domain = example.com
}

[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Теперь разберемся что нам надо изменить. Допустим что наш основной домен называется dom.lan и мы будем настраивать все под него, имя основного домен контроллера one.dom.lan. Итак мы ведем что весь конфиг(krb5.conf) состоит из блоков [logging], [libdefaults], [realms], [domain_realm], [appdefaults]. Разберем что в них находится.

Блок [logging] указывает где находятся файлы логов, оставим все по умолчанию .

Блок [libdefaults]

default_realm - указывает на параметр в блоке [realms] в котором собраны все основные службы домена,  данный параметр должен совпадать с указанным в блоке [realms]. В нашем случае:

default_realm = DOM.LAN

и соответственно в блоке [realms] будет

DOM.LAN = {
.
.
.
}

Параметры dns_lookup_realm, dns_lookup_kdc, ticket_lifetime, forwardable оставляем без изменений

Блок [realms]

Основная секция данного блока будет DOM.LAN = { ….. }, в ней укажем параметр kdc это будет имя нашего основного домен контроллера, который как я писал выше называется one.dom.lan, у вас он естественно будет называться по-другому ))
kdc = one.dom.lan
и параметр default_domain который указывает на имя основного домена, в нашем случае dom.lan
default_domain = dom.lan

Блок [domain_realm]

Данный блок устанавливает соответствие между DNS-именами и [realms]. Приведенные две строчки – минимально необходимые для работы, они указывают, что все компьютеры из домена dom.lan и собственно компьютер dom.lan будут относится к секции DOM.LAN блока [realms]. Выглядеть это будет так

.dom.lan = DOM.LAN
dom.lan = DOM.LAN

Блок [appdefaults] Полностью оставляем без изменений.

Теперь у нас полный настроенный конфиг для домена dom.lan с контроллером домена one.dom.lan выгляядет так:

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = DOM.LAN
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
DOM.LAN = {
kdc = one.dom.lan
default_domain = dom.lan
}

[domain_realm]
.dom.lan = DOM.LAN
dom.lan = DOM.LAN

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Ну вот и закончили с настройкой . Теперь пробуем подключится. Открываем терминал и пишем

# kinit admin@DOM.LAN

где admin - имя доменного админа, а DOM.LAN - имя секции в блоке [realms] можно и без этого параметра, а просто имя администратора домена.

Если все прошло хорошо в ответ на этот запрос вы ответа не получите.

А если где то ошибка, то вывалится сообщение Наиболее частая ошибка это:

# kinit(v5): Clock skew too great while getting initial credentials

Сия надпись означает что ваша машина не синхронизировала время с указанным контроллером домена (время на контроллере домена и у вас не совпадает), для этого выполним 3 несложных запроса:

1) Останавливаем службу ntpd, если этого не сделать мы не сможем синхронизировать время.

# /etc/init.d/ntpd stop

2) Запускаем синхронизацию

# ntpdate one.dom.lan

где one.dom.lan ваш основной контроллер домена с которым происходит синхронизация

3) Запускаем службу ntpd

# /etc/init.d/ntpd start

После этих нехитрых движений запрос kinit должен пройти без проблем. Если у вас возникли другие ошибки, внимательно изучите свой конфиг, наверняка ошибка скрыта в нем )))

Теперь проверим как прошло подключение.

# klist

Должно быть что то похожее на это:

Default principal: admin@DOM.LAN

Valid starting Expires Service principal
08/31/09 14:52:34 09/01/09 00:52:44 krbtgt/DOM.LANG@DOM.LAN
renew until 09/01/09 14:52:35

Вот на сегодня и все. В следующей статье я расскажу о конфигурации winbind для включения в домен .

Связанные записи

  • Kirill

    >>Вот на сегодня и все. В следующей статье я расскажу о конфигурации winbind для включения в домен Windows Server 2003.

    когда ожидать ?

  • Jamba

    С нетерпением ждём второй части.
    Если не сложно подскажите когда это произойдёт?

  • oleg

    сегодня столкнулся с этой проблемой, сделал все как в статье, получилось, теперь ко второму шагу надо приступать….

blog comments powered by Disqus
top