Linux контроллер домена для windows

Поднимаем контроллер домена на Ubuntu Server

Этот вариант может быть полезен для небольших организаций с компьютерами под управлением Windows.
Нет необходимости приобретать недешевую Windows Server для организации AD и CAL лицензии для доступа к контроллеру домена.
В конечном итоге имеем плюшки AD: групповые политики, разграничение прав доступа к ресурсам и т.д.

Я попытался написать подробный алгоритм действий необходимых для организации Active Directory (AD) Domain Controller (DC) на базе Ubuntu Server.

Рассмотрим настройку контроллера домена на примере Ubuntu Server 12.04.4 LTS или Ubuntu Server 13.10, инструкция подходит для обоих вариантов без дополнительных изменений

1. Установка Ubuntu

Думаю установка Ubuntu-server не вызовет проблем даже у большинства пользователей компьютеров.
Желательно при установке ОС сразу правильно указать название машины в сети (hostname) с указанием домена (для примера использую dc1.domain.local), чтобы в дальнейшем меньше надо было править конфигурацию в файлах.
Если в сети не присутствует DHCP-сервер, установщик предложит ввести IP-адрес, маску сети, шлюз и DNS.
Во время установки, также желательно установить OpenSSH server, чтобы иметь удаленный доступ к серверу, а также правильно указать часовой пояс, в котором находится машина.

2. Настройка параметров сетевого адаптера

Настройки сети хранятся в файле /etc/network/interfaces
Редактируем его на свой вкус. В качестве редактора можно использовать nano, vi и т.п.
Для редактирования файлов понадобятся root права, их можно получить например командой после этого, Вы будете работать из под пользователя root.
О том что Вы работаете с правами root пользователя свидетельствует знак # в приглашении командной строки
Либо Вы можете перед каждой командой, которая требует root доступа, приписывать sudo

В конфигурации Вашего сетевого интерфейса, скорее всего, будет

auto eth0
iface eth0 inet static
address 192.168.10.1
netmask 255.255.255.0
gateway 192.168.10.10
dns-nameservers 192.168.10.10
dns-search domain.local domain

После изменения сетевых настроек необходимо перезапустить сетевой сервис

3. Установка необходимых пакетов

Если Вы все же не установили OpenSSH server на первом этапе, это можно сделать командой
Перед установкой чего либо, лучше сначала обновить систему и пакеты командой
Для того, чтобы компьютеры сети сверяли время по нашему серверу установим ntp-сервер

Samba4 будем использовать последней версии и собирать из исходников, так что нам понадобятся пакеты для её сборки и корректной работы.

4. Сборка Samba4

/dev/mapper/dc1—vg-root / ext4 user_xattr,acl,barrier=1,errors=remount-ro 0 1

после чего необходимо перезагрузить компьютерНе забываем про root права
Скачиваем последнюю стабильную версию Samba из GIT репозитария
конфигурируем, компилируем и устанавливаем Samba Параметр —enable-debug необходим для отображения более подробной информации в логах Samba.

После того, как соберется и установится Samba (это долгое занятие), для удобства её использования, необходимо прописать пути до исполняемых файлов /usr/local/samba/sbin и /usr/local/samba/bin в файлах /etc/sudoers переменная secure_path и /etc/environment переменная PATH, добавив строку :/usr/local/samba/sbin:/usr/local/samba/bin
должна получится строчка что-то вроде этой:

перезагрузимся еще раз (на всякий случай)

5. Поднимаем AD

В качестве DNS сервера AD будем использовать Samba, поэтому отключаем bind командой

Для манипуляций с AD в Samba существует инструмент samba-tool.
Для первоначальной настройки Samba вводим команду

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

ERROR(ldb): uncaught exception — 0000052D: Constraint violation — check_password_restrictions: the password is too short. It should be equal or longer than 7 characters!

то перед повторным выполнением первоначальной настройки, необходимо удалить содержимое каталогов /usr/local/samba/private/ и /usr/local/samba/etc/
Если необходимо изменить сложность паролей это можно сделать командой эта команда отключает требование сложности, отключает сроки действия паролей, устанавливает минимальную длину пароля 6 символов

Далее необходимо подправить настройки Samba и добавить туда следующие строки в секцию [global]

allow dns updates = nonsecure and secure
printing = bsd
printcap name = /dev/null

Это позволит динамически обновлять DNS-записи на сервере, при входе рабочей станции (под управлением windows) в домен и отключит поддержку печати, которая постоянно выдает ошибки в лог.

Читайте также:  Smartscreen как отключить windows 10 cmd

В файле /etc/resolvconf/resolv.conf.d/head необходимо указать наш DNS-сервер Samba 127.0.0.1
и перезапустить сервис resolvconf
Также установим Kerberos клиенти настроим на AD с помощью файла созданного на этапе samba-tool domain provision
Для автоматического запуска сервиса Samba необходим скрипт:

6. Проверяем работоспособность сервера

root 865 0.3 3.0 95408 31748? Ss 18:59 0:00 /usr/local/samba/sbin/samba -D

Name: dc1.domain.local
Address: 192.168.10.1

Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6]
Sharename Type Comment
— — — netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.1.6)
Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6]
Server Comment
— — Workgroup Master
— ——-

Warning: Your password will expire in 41 days on Wed Apr 23 18:49:14 2014

Valid starting Expires Service principal
12/03/2014 19:17 13/03/2014 05:17 krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL

Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6]
. D 0 Wed Mar 12 18:46:48 2014
… D 0 Wed Mar 12 18:49:15 2014

Вот и всё.
Можно вводить в домен клиентов, заводить пользователей.

Управлять AD можно:
частично при помощи samba-tool на Ubuntu
при помощи Administration Tools Pack на Windows XP
при помощи Remote Server Administration Tools (RSAT) на Windows 7 и выше

Источник

Контроллер домена на Linux?

Добрый день.
Хотелось бы поделиться с вами одним интересным моим опытом – Контроллер домена на Linux. В данной статье я скорее всего напишу небольшой мини обзор систем с помощью которых я пытался реализовать альтернативу ActiveDirectory.

Немного истории:
Написано мною в Январе 2009: Вообще я далеко не профи в *nix системах, но всё таки активно интересуюсь и изучаю их. В компании, где я работаю, около 3-4 моих серверов на базе Debian и FreeBSD. Которые выполняют различные задачи для обеспечения основных бизнес процессов компании.
По поводу домена на linux я слышал множество упрёков и похвал. И вот более года назад задался вопросом поднятия домена на Linux. Во первых просто интересно, а во вторых он абсолютно бесплатен, что и требовала компания где я работал. За год перебрал кучу вариантов, кучу сборок. Поднимал в ручную… ldap+samba+krb на BSD и Linux системах. Но мне казалось что всё это не то. Либо безумно неудобно управлять, либо куча лишнего. Куча лишнего было в готовых дистрибутивах (аля-домен за одну минуту.). Было боязно внедрять их в мою не большую и не маленькую компанию(Более 80-100 рабочих станций в одном только офисе). Во первых неизвестно что и как разработчики делали с дистрибутивом, во вторых электронная поддержка на иностранном языке ))) А самому разгребать последствия не хочется.

Чуть ниже я напишу мини обзор некоторых готовых вариантов поднятия домена. А в самом низу читайте мои итоги и выводы относительно всего этого опыта. Прошу заметить что выводы мои собственные и никого ни к чему не призывают… просто так решил.

1.Mandriva Directory Server.

Пожалуй самый удачный вариант из всех что имеется. Ничего лишнего (то что лишнее можно спокойно выключить). Mandriva Directory Server это не тупо сборка или готовый дистрибутив который можно развернуть за 5 минут. MDS это пожалуй единственный вариант который совмещает в себе ручную работу системного администратора по сборке и настройке основных компонентов домена + готовые решения от Mandriva по управлению всеми основными службами контроллера домена. Кстати говоря эти решения нужно так же ставить и настраивать в ручную.

Управление производится через удобный Web интерфейс.

Mandriva Directory Server может управлять следующими службами:

1.Расширенный почтовый сервер Postfix, с поддержкой Imap и POP3 сервера (Dovecot), с проверкой на вирусы и фильтрации почты (Amavis, Spamassassin, ClamAV), SMTP сервером, с поддержкой квот, SSL и TSL. (можно не ставить )
2.Сам контроллер домена (Ldap+samba)
3.Корпоративный кэширующий прокси сервер (SQUID). (Можно не ставить)
4.DNS сервер (Bind).
5.CUPS сервер печати
6.Управлением общими сетевыми ресурсами.
7.Служба DHCP
8.Перемещаемые профиля

*Плюс к этому MDS не ограничивает вас в службах сервера. Вы можете так же оснастить сервер к примеру NFS сервером, антивирусной защитой и т.д.

Так же есть система плагинов… которые пишутся на уровне PHP и Phyton (есть офф документация).
Собственно этот вариант мне и подошёл.



Довольно интересное решение… созданное Сергеем Бутаковым, (город Лесной Свердловской области. Написано на сайте )

Распространяется в качестве готового дистрибутива основанного на GNU/Linux (какой именно непонятно).
Это специализированный дистрибутив, заточенный только под надобности сервера. По поводу того, можно ставить на него ещё что ни будь или нет… ничего не могу сказать.

Читайте также:  Windows 10 вам понадобиться новое приложение чтобы открыть этот calculator

Управление производится на уровне консоли а так же имеется удобный web интерфейс.

Основные возможности
Централизованное управление учётными данными пользователей
Сервер динамической сетевой настройки узлов (DHCP)
Первичный контроллер Samba домена (совместимый с MS Windows NT4 PDC) с поддержкой перемещаемых профилей и домашних каталогов пользователей
Файловый сервер (протокол SMB/CIFS)

Немного не понятный проект. Распространяется в качестве готового дистрибутива на базе CentOS… в который напихано всё что можно.

«ClarkConnect мощнейшее серверное программное решение разработанное для малых и средних организаций. Тем не менее ClarkConnect поставляется с эксклюзивным перечнем функций и интегрированных служб, решение которое легко конфигурируется через удобный web-интерфейс.» (С)

Не понравился он мне тем что в нём есть много лишнего. Мне бы не хотелось делить на сервере контроллер домена и интернет шлюз.

ClarkConnect это интегрированный антивирус который проверяет на вирусы всё… почту трафик и шары. Так же это backup сервер, интернет сервер, сервер ldap, samba, VPN, Mysql, Mail, FTP и т.д.

Имеется Community Edition версия. А для тех кто хочет поддержку, могут приобрести Enterprise версию.

Так же есть неофициальный русский сайт с поддержкой.

4.Fedora Directory Server (она же 389 Directory Server)

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

Собственно Mandriva Directory Server построен на базе Fedora Directory Server. Только FDS немного глобальнее.
Здесь и поддержка синхронизации с Active Directory доменом (на базе 2000/2003 win), и управление производится через java консоль. Так же есть несколько интересных приблуд.

Используя одно из этих решений вы получаете домен уровня NT4. Тобишь Samba3+Ldap. Этот стандарт ниже чем домен на базе Windows 2003\2008.
На мой взгляд данные решения подойдут компаниям в которых парк машин не превышает 80.
Плюсы данного решения состоят в том, что оно бесплатное а так же есть возможность интегрировать БЕЗ ПРОБЛЕМ *nix машины на уровне ldap, что позволит создать своего рода гетерогенную локальную сеть.

Windows машины ведут в домене на Linux себя как рыба в воде. Всё отлично работает, профиля сохраняются… подключаются сетевые диски и даже есть возможность реализовать частично ГРУППОВЫЕ ПОЛИТИКИ (http://hidx.wordpress.com/2009/01/28/gpo-samba-domen/), но только на уровне NT4 домена.

Глобальные GPO которые есть в Windows 2003\2008 реализовать не получится. Это в принципе основная причина которая затрудняет использование данного домена в организациях с 100+ парком машин.

Я остановился на Mandriva Directory Server на базе Debian Lenny. Вот только, внедрил я её уже в другую организацию.
В любом случае опыт который получаешь в процессе сборки домена, очень полезен.

Источник

Превращаем Ubuntu Server в контроллер домена с помощью samba-tool

С помощью Samba можно превратить сервер, работающий под управлением ОС семейства Linux, в контроллер домена (Domain Controller, DC) Active Directory. Тот DC, который мы собираемся поднять, сможет работать как контроллер домена Windows NT4. Он подойдёт для централизованного хранения данных учётных записей пользователей и компьютеров.

Надо отметить, что мы не будем говорить о задаче создания основного контроллера домена (Primary Domain Controller, PDC) Active Directory, хотя связка Ubuntu Server/Samba, рассмотренная здесь (с добавлением OpenLDAP) вполне может играть и такую роль.

Итак, наша цель — быстро и экономично обзавестись AD DC. В этом нам поможет интерактивный инструмент samba-tool , который предназначен для автоматизированной подготовки сервера к работе, а именно, он позволяет сформировать файл настроек /etc/smb.conf .

Начнём с установки необходимого ПО.

Установка

Первый шаг — установка на сервер пакетов Samba и Winbind. Сделать это можно с помощью следующей команды:

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

После установки можно приступать к настройкам.

Подготовка к настройке

Перед запуском samba-tool нужно проверить файл /etc/hosts , а именно — верны ли записанные в нём полное доменное имя и IP-адрес контроллера домена. Там можно найти что-то вроде этого:

Здесь IP_ADDRESS_OF_SERVER — это реальный адрес сервера Samba. Проверьте, чтобы файл содержал актуальные данные.

Далее нужно задать имя узла для сервера. Как можно судить по приведённому выше фрагменту файла /etc/hosts , в нашем случае имя узла — SAMBADOM . Для того, чтобы его настроить, откройте файл /etc/hostname и соответствующим образом его измените. Далее — перезагрузите сервер.

Читайте также:  Как изменить размеры дисков линукс

После того, как сервер перезагрузится, нужно удалить существующий файл smb.conf , а так же — любые файлы баз данных Samba (это .tdb и .ldb -файлы). Для того, чтобы найти директории, содержащие эти файлы, выполните следующие команды:

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


Поиск файлов, которые надо удалить

Использование samba-tool

Теперь пришло время воспользоваться samba-tool . Мы запустим это средство в интерактивном режиме, выполнив следующую команду:

Выполнив команду с ключом —use-rfc2307 , мы включаем расширения NIS. Samba-tool предложит настроить следующие параметры:

  • Realm . Это полное DNS-имя домена, которое настроено в файле hosts . Например: SAMBADOM.EXAMPLE.NET .
  • Domain . Доменное имя NetBIOS сервера Samba. Обратите внимание на то, что здесь рекомендуется использовать первую часть доменного имени DNS. Например, SAMBADOM .
  • Server Role . Этот параметр предназначен для указания типа серверной роли. По умолчанию здесь установлено значение dc , оно нас устроит.
  • DNS backend . Этот параметр позволяет настроить DNS-сервер. Здесь так же оставляем параметр по умолчанию — SAMBA_INTERNAL .
  • DNS forwarder IP address . Данный параметр позволяет указать IP-адрес DNS-сервера, на который будут перенаправлены запросы, которые не может разрешить сервер Samba. Если перенаправление DNS-запросов вам не нужно — ничего не вводите в ответ на данный вопрос. Подробнее об этом можно почитать здесь.
  • Administrator password . Тут надо указать пароль администратора домена.

После того, как система получит ответы на интересующие её вопросы, samba-tool настроит Samba как контроллер домена. Можете просмотреть файл /etc/samba/smb.conf и, если нужно, внести в него изменения.

Прежде чем продолжать, позаботьтесь о регистрации пользователей в Samba. Этот шаг очень важен — иначе пользователям не удастся пройти аутентификацию. Делается это следующими командами:

Здесь USERNAME — имя существующего пользователя, которого надо добавить к Samba. Указать пароль нужно будет лишь после ввода первой команды. Первая команда добавляет нового пользователя и запрашивает пароль для него; вторая — активирует созданный аккаунт.

Настройка DNS-сервера

Нам надо, чтобы в качестве DNS-сервера на контроллере домена использовался он сам. Для того, чтобы это сделать, отредактируем файл /etc/network/interfaces , приведя его к такому виду:

Тут же имеются настройки использования сетевым интерфейсом статического IP-адреса. Обратите внимание на то, что всё, набранное ЗАГЛАВНЫМИ буквами, надо настроить в соответствии с параметрами вашей системы.

После выполнения настроек перезапустите сетевые сервисы такой командой:

Кроме того, следует отредактировать файл /etc/resolv.conf , внеся изменения, согласующиеся с теми, о которых было сказано выше. А именно, тут нас интересует следующая строка:

Здесь, вместо IP_ADDRESS_FOR_SERVER , нужно ввести тот же адрес, который был записан в параметр dns-nameservers выше.

Настройка Kerberos

У Kerberos имеется собственный стандартный конфигурационный файл, который нужно заменить файлом krb5.conf , сгенерированным в ходе подготовки Samba к работе. Для того, чтобы это сделать, выполните следующие команды:

Обратите внимание на то, что вы можете столкнуться с отсутствием в системе файла /etc/krb5.conf . Если это действительно так, достаточно будет выполнить только вторую из вышеприведённых команд.

Тестируем и подключаемся

Самое сложное позади. Теперь всё готово к тому, чтобы протестировать только что созданный контроллер домена на Samba и подключиться к нему. Быстро проверить, всё ли работает, можно с помощью такой команды:

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


Успешное подключение

Как видите, при проверке smbclient выведены сведения о netlogon и sysvol как об общих ресурсах. Они созданы по умолчанию и должны существовать на контроллере домена. Кроме того, в /var/lib/samba/sysvol/REALM/scripts следует поместить любые скрипты входа в систему, которые понадобятся клиентам. Здесь REALM соответствует тому параметру REALM , который был задан в ходе работы с командой samba-tool .

Итоги

Теперь контроллер домена готов принимать подключения. Однако, может оказаться так, что вам придётся отредактировать файл /etc/samba/smb.conf , внести в него данные, отражающие ваши требования к серверу. Этот файл, сгенерированный samba-tool , весьма лаконичен, хотя и является хорошей отправной точкой для тонкой настройки вашего AD DC, построенного на базе Samba и Ubuntu Server.

Уважаемые читатели! А какие варианты взаимодействия экосистем Linux и Windows кажутся вам наиболее интересными и полезными?

Источник

Оцените статью