Перейти к содержимому. | Перейти к навигации

Персональные инструменты

Navigation

Вы здесь: Главная / Статьи / Переводные маны по настройке Самбы в AD / Инструкция по настройке Samba 4 AD DC

Инструкция по настройке Samba 4 AD DC

перевод оригинальной статьи

(Оригинал)

Содержание

1 Введение

Эта статья освещает вопрос установки Самбы (4.0+) в качестве простого контроллера домена (DC) совместимого с Microsoft's Active Directory для использования, в частности, для клиентов Microsoft Windows присоединенных к домену Active Directory для предоставления таких сервисов как Domain Logon. Мы кратко упоминаем об этой возможности AD DC.

Если Вы модернизируете имеющийся AD DC, пожалуйста выполните процедуру модернизации для Вашего дистрибутива, или обратитесь к инструкции по модернизации версии исходников.

 

2 Версии

Эта инструкция часто обновляется для отражения последних изменений. Детали смотрите в Планировании Релизов Самбы.

Пожалуйста ознакомьтесь с сопроводительной документацией к версии которую Вы устанавливаете. Там может быть важная информация еще не отраженная в этой инструкции.

 

3 Установка Самбы

3.1 Разные способы установки

У Вас есть несколько вариантов установить Самбу:

Рекомендации и зависимости смотри в Требованиях ОС.

 

3.2 Пути

Будьте внимательны запуская команды, если установлена предыдущая версия Самбы. Чтобы избежать случайно запущенных ошибочных версий, необходимо обдумать вставку директорий (скорректируйте пути под Ваш дистрибутив) /usr/local/samba/bin/ и /usr/local/samba/sbin/ в начало Вашей переменной $PATH!

Вы можете посмотреть какая версия Самбы, если имеется, есть в переменной $PATH запустив:

# samba -V

 

3.3 Информация о сервере

Для упрощения этой инструкции мы принимаем следующие настройки/установки для нашего AD DC:

Installation Directory: /usr/local/samba/
Server Hostname:        DC
DNS Domain Name:        domain.lan (Это будет также и область (realm))
NT4 Domain Name:        domain
IP Address:             192.168.0.1
Server Role:            DC

3.4 Развёртывание Самбы (Установка нового домена)

Развертывание создает основную базу данных и выполняется только когда Вы конфигурируете первый Самба DC в собственном домене. Когда Ваш домен поднят и работает и нужно добавить другой Самба сервер как дополнительный контроллер домена, пожалуйста посмотрите инструкцию Присоединение к домену как DC.

Пользователь запускающий команды развертывания должен иметь права записи в директорию установки, иначе Вы получите сообщение об ошибке доступа.

Для интерактивного развертывания выполните (не забывайте здесь и в дальнейшем корректировать пути под свой дистрибутив):

# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive

Это запустит утилиту развертывания, которая будет задавать Вам различные вопросы о требованиях к установке, поэтому рекомендуем прежде чем начинать развертывание, выполнить:

# samba-tool domain provision --help

Это отобразит все возможные опции, основные из которых:

--realm опция задает область Kerberos (LDAP) и, обычно, DNS имя домена например samdom.example.com

--domain опция задает имя Домена (известное также как ‘workgroup’, или имя рабочей группы) и обычно это первая чать DNS имени домена записанная в верхнем регистре например SAMDOM

--adminpass опция где задается пароль основного администратора домена. Это должен быть полноценный пароль, как минимум восемь символов, содержащий как минимум одну букву в верхнем регистре и минимум одну цифру

--server-role опция где Вы можете задать какой тип серверной роли будет выполнять DC, пожалуйста установите ее в ‘dc’, пока доступна только эта роль, но планируется добавить роли ‘member server’ и ‘standalone’ как только будет возможно

--function-level задает требуемый Вам функциональный уровень управления доменом, по умолчанию установлен 2003 Native (чистый), но Вы можете задать 2000, 2003, 2008, или 2008_R2

--use-rfc2307 опция говорящая Вашей Самба AD использовать posix атрибуты более эффективно. Кроме того, в Вашу AD добавляется информация NIS,это позволит администрировать UID/GID и другие установки Unix (на вкладке "Unix attributes" в ADUC). Это упрощает доступ к этим возможностям в процессе развертывания, что правильнее чем установка их после, даже если это пока не требуется и не повредит Вашей установке. Дополнительную информацию о RFC2307 смотри в инструкции Использование RFC2307 на Samba DC.

Кроме того, можно запустить не интерактивное развертывание передавая всю требующуюся информацию в командной строке.

# /usr/local/samba/bin/samba-tool domain provision --realm=domain.lan --domain=DOMAIN --adminpass=P4ssw0rd* --use-rfc2307 --server-role='dc'

Пароль не полностью соответствующий требованиям это одна из причин перезапустить развертывание. В этом случае скрипт развертывания завершится ошибкой и Вам придется начать все снова. Убедитесь что пароль содержит как минимум одну букву в верхнем регистре одну цифру и минимум восем символов длинной.

Замечания о нескольких NIC-ах (сетевых адаптерах):

Если используются несколько NIC процесс развертывания автовыбирает IPv4/v6 адреса на адаптерах для установки Контроллера Домена. Чтобы прдотвратить это добавьте следующие два параметра к команде classicupgrade. Это свяжет Самбу с данным интерфейсом (eth0) и дщсфдрщые (Самба всегда должна прослушивать localhost тоже).

--option="interfaces=lo eth0" --option="bind interfaces"

Важные замечания о развертывании:

  • Команда развертывания Samba 4.0.0rc1 по умолчанию использует встроенный в Самбу DNS. Если Вы хотите использовать BIND как DNS компонент сборки добавьте --dns-backend=BIND9_DLZ к команде развертывания. Также возможно переключить DNS компонент позже, в любое время. Смотри: Смена DNS компонента сборки.
  • Если хотите перезапустить развертывание, Вам необходимо убрать /usr/local/samba/etc/smb.conf, кроме того уберите все сгенерированные файлы базы данных Самбы:
rm -rf /usr/local/samba/etc/smb.conf /usr/local/samba/private/*
  • Если Ваш вэб-сайт example.com, домен AD должен быть субдоменом, как samdom.example.com (или ad.example.com, corp.example.com). Избегайте использовать внутри example.com .

 

3.5 Classicupgrade (Миграция домена Samba NT4 в AD)

Если планируется миграция имеющегося домена Самба NT4 на Самба AD обратитесь к Инструкции по клссической модернизации Самбы.

3.6 Запуск Вашего Samba AD DC

Примечание: если у вас запущены какие-то из процессов smbd, nmbd или winbundd из предыдущих установок, из необходимо остановить прежде чем запустить samba из Вашей новой установки!

Если планируется запустить Самба как промышленный сервер, то просто запустите бинарник от рута:

# /usr/local/samba/sbin/samba

Это запустит Самбу в ‘стандартном’ ('standard') режим, который предназначен для промышленного  использования. В Самбу пока не включены init-скрипты для каждой платформы, но написать его для Вашей платформы не должно быть трудно. Есть некоторые примеры скриптов на страничке Samba4 Init-Script.

Если вы запускаете Самбу как разработчик, то следующее Вы можете найти более пригодным:

# /usr/local/samba/sbin/samba -i -M single

Это запустит Самбу с выводом всех сообщений лога на стандартный вывод (stdout) и ограничением в один процесс. Такой режим выполнения упрощает процесс отладки Самба с gdb. Для запуска Самба из под gdb запустите вот так:

# gdb --args /usr/local/samba/sbin/samba -i -M single

 

3.7 Проверка доступности Вашего Samba AD DC

Сначала проверьте что у вас правильная версия smbclient, выполнив:

$ /usr/local/samba/bin/smbclient --version

Должна отобразиться версия начинающаяся с "Version 4.x".

Теперь выполните команду перечисляющую общие ресурсы (shares) на Вашем Самба сервере:

$ /usr/local/samba/bin/smbclient -L localhost -U%

       Sharename       Type      Comment
       ---------       ----      -------
       netlogon        Disk
       sysvol          Disk
       IPC$            IPC       IPC Service (Samba 4.x.y)

Вывод команды должен быть похожим. Общие ресурсы netlogon и sysvol создаваемые по умолчанию нужны для функционирования сервера Active Directory и создаются в Вашем smb.conf в процессе развертывания/модернизации.

Если команда не удалась, перепустите Самбу:

# killall samba
# /usr/local/samba/sbin/samba

Чтобы проверить работоспособность аутентификации Вы должны попробовать подключиться к шаре netlogon, используя учетку Administrator (административную) созданную в процессе развертывания. Вывод команды должен быть примерно таким:

$ smbclient //localhost/netlogon -UAdministrator -c 'ls'

Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.x.y]
  .                                   D        0  Tue Dec 11 20:00:00 2012
  ..                                  D        0  Tue Dec 11 20:00:00 2012

 

3.8 Настройка DNS

Работа установки DNS – это неотъемлемая часть корректного функционирования Самбы и AD. Без правильных записей DNS не будет работать Kerberos приводящий в движение средства многих основных возможностей которые не станут работать! Поэтому стоит потратить некоторое дополнительное время на обеспечение корректности установки Вашего DNS. Управлять записями DNS можно используя DNS MMC на клиенте Windows, или samba-tool на Linux – больше информации можно найти в Администрировании DNS.

 

3.8.1 Компонент сборки DNS

Дополнительная информация о поддерживаемых DNS компонентах и помощь в выборе наиболее подходящего к Вашим нуждам можно найти на страничке DNS.

 

3.8.1.1 Встроенный DNS сервер Самба

По умолчанию Самба использует Встроенный DNS и не требует дальнейшей настройки.

Обычно Вам нужно чтобы DNS сервер пересылал запросы для которых он не надежен. Просто добавьте:

dns forwarder = {IP-адрес DNS куда Вы хотите пересылать}

в Ваш smb.conf и перепустите Самбу.

Для обеспечения запуска Встроенного DNS порт 53 udp/tcp не должен быть захвачен другими программами (такими как другой DNS сервер, Dnsmasq, и т.д.). Если Самба не сможет захватить порт 53, Вы увидите ошибки в логфайле самбы:

Failed to bind to 0.0.0.0:53 TCP - NT_STATUS_ADDRESS_ALREADY_ASSOCIATED

Проверить какая программа прослушивает порт 53 можно выполнив:

# netstat -tunpe | grep ":53"

Это должно выдать только процессы Самба, связанные с этим портом.

Больше информации об отладке можно найти на страничке Отладка Самбы.

 

3.8.1.2 BIND как DNS компонент сборки

Если Вы выбрали BIND9_DLZ в развертывании, смотрите Инструкцию BIND как DNS компонент для дополнительных действий по установке. Там Вы найдете много информации о том как установить и, в основном,  сконфигурировать Bind и как настроить его работу с Самба AD. Если Вы развернули DC со Встроенным DNS можно переключаться на BIND по мере необходимости.

 

3.8.2 Настройка /etc/resolv.conf

Для корректной выдачи локальной DNS справки нам необходимо изменить серверный /etc/resolv.conf. Следующий пример должен быть достаточен для правильного разрешения DNS (адаптируйте домен и IP Вашего DC к своему окружению):

domain domain.lan
nameserver 192.168.1.1
  • Примечание: если Ваш сервер настроен на получение этих IP от DHCP, файл /etc/resolv.conf  может обновляться автоматически. Обратитесь к документации по Вашему дистрибутиву чтобы изменить/остановить такое поведение, хотя DHCP не рекомендуется для DC.

 

3.8.3 Тестирование DNS

Проверить что DNS работает правильно можно выполнив следующие команды и сравнив их вывод с показанным здесь:

$ host -t SRV _ldap._tcp.domain.lan.
_ldap._tcp.domain.lan has SRV record 0 100 389 dc.domain.lan.
$ host -t SRV _kerberos._udp.domain.lan.
_kerberos._udp.domain.lan has SRV record 0 100 88 dc.domain.lan.
$ host -t A dc.domain.lan.
dc.domain.lan has address 192.168.0.1

 

Полученные Вами ответы должны быть похожи на показанные выше (с учетом Ваших имени домена, имени компьютера и IP). Если Вы получили ошибки, тщательно проверьте системные логи для поиска проблемы.

 

3.9 Настройка Kerberos

Конфигурация Kerberos управляется из файла krb5.conf . Этот файл обычно лежит в директории /etc/ . Пожалуйста сверьтесь с документацией Вашего дистрибутива о месте расположения этого файла в системе. Есть файл образца созданный в процессе развертывания, расположенный в /usr/local/samba/share/setup/krb5.conf который может быть подходящей заменой для имеющегося файла. Это его содержимое по умолчанию:

[libdefaults]
        default_realm = ${REALM}
        dns_lookup_realm = false
        dns_lookup_kdc = true
  • Примечание:  если у вас есть заброшенная область (Керберос/LDAP), выполните samba-tool testparm --suppress-prompt | grep realm , чтобы ее обнаружить.

 

3.9.1 Тестирование Kerberos

Простейший тест – использовать команду kinit вот так:

$ kinit administrator@DOMAIN.LAN
  • Примечание: Вы должны указать область Вашего домена в верхнем регистре!
  • Примечание: в зависимости от Вашего дистрибутива, kinit может просто вернуть подсказку, тем не менее, некоторые дистрибутивы могут вернуть нечто вроде Warning: Your password will expire in x days on ...

Для проверки, что Kerberos работает и что Вы получаете удостоверения, выполните:

$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: administrator@DOMAIN.LAN
 
Valid starting     Expires            Service principal
02/10/13 19:39:48  02/11/13 19:39:46  krbtgt/DOMAIN.LAN@DOMAIN.LAN

Если kinit или klist несуществуют в Вашей системе, в Требованиях к ОС найдите как установить необходимые пакеты.

Можно протестировать Kerberos с удаленного клиента, но сначала нужно конфигурировать krb5.conf и resolv.conf на клиенте, как показано ранее.

  • Примечание: Если вы используете клиентов за NAT – вам нужно добавить следующее к krb5.conf на контроллере домена:
[kdc]
        check-ticket-addresses = false
  • Примечание: Если пароль сгенерирован разверткой и Вы забыли его или не сохранили его иным способом, можно использовать samba-tool user setpassword administrator от рута для его переустановки.

 

3.10 Настройка NTP (опционально, но крайне желательно)

Active Directory требует точной синхронизации времени между клиентами и DC(s). Рекомендуется запустить NTP или другую форму синхронизации времени.

Инструкция по Синхронизации Времени предоставит всю важную информацию по настройке NTP на DC, Серверах домена и клиентах.

 

4 Опциональная и дополнительная информация

Самба Wiki предоставляет Вам множество хорошей дополнительной документации по администрированию DC (Бэкап и восстановление, Установка и настройка файловых шар, и т.д.), ежедневных работ (Настройка Windows клиентов для AD, Установка RSAT на Windows для администрирования AD, и т.д.) или Аутентификация других служб вопреки AD.

Некоторые размышления о SELinux и дискретном контроле разрешения доступа который может препятствовать авторизации с использованием AD пользователей на страничке Установки контроля доступа Самба AD DC.

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

 

5 Сообщите о своем успехе/неудаче

Будем рады услышать от пользователей о их успехах и неудачах. Мы поддерживаем прием Ваших отчетов в Списке рассылки Самба на http://lists.samba.org