Проверка работоспособности.
Здесь мы проверим корректность наших настроек и включим наш новый сервер в домен Windows. Сначала проверим корректность настройки Samba:
Аутентификация samba в домене window
Мы продолжаем серию статей про взаимодействие Linux и Windows. Теперь мы рассмотрим задачу введения в домен Windows 2008 сервера с операционной системой SUSE Linux (версия 12.1). Сразу следует упомянуть, что пользоваться будем штатными средствами openSUSE Linux — утилитой конфигурирования и управления пакетами YaST. Более подробно о YaST можно прочитать на
На сайте проекта openSuSE можно найти информацию о настройке Samba, но эти сведения касаются, в основном, старых версий (openSuSE 11) и охватывают небольшое количество примеров конфигурации.
Для организации тестовой сети мы будем использовать виртуальную среду VMware VSphere 5, реализованную на базе архитектуры гипервизора ESXi. Однако можно было бы воспользоваться и хорошо себя зарекомендовавшим Microsoft Hyper-V, а также любым другим аналогичным решением.
Тестовая среда представляет собой доменную сеть на базе Active Directory (Active Directory Domain Services — AD DS ), которая состоит из двух серверов инфраструктуры, работающих под управлением MS Windows Server2008 R2 EE, и одной клиентской машины — MS Windows 7 Professional. Используются IP-адреса из подсети 192.168.7.0/24.
Название домена — LAB.LOCAL
Сервер ForefrontThreat Management Gateway (TMG) 2022 — LAB-TMG.lab.local
Клиент — LAB-CL1.lab.local
На LAB-DC1 установлены роли:
cлужбы сертификатов Active Directory (Active Directory Certificate Services — AD CS);
доменные сервисы Active Directory (Active Directory Domain Services — AD DS);
DHCP-сервер (Scope name: LAB.LOCAL; Address pool: 192.168.7.20–192.168.7.70);
DNS-сервер (Type: AD-Integrated; Dynamic updates: Secure only);
веб-службы (IIS).
Тестовая сеть и описания протоколов взаимодействия приведены в
. В отличиe от предыдущей
, мы постараемся решить ту же задачу, не прибегая к редактированию файлов и применению командной строки в Linux.
Конфигурация ntp
Все пакеты в системе установлены, и мы можем приступить к настройке. Начнем с корректной установки времени. В YaST выбираем Network Services > NTP Configuration. Не забываем, что наш контроллер домена 192.168.7.2 является и сервером NTP. Результатом настройки является следующая картинка (рис. 6). Напомним, что корректная синхронизация времени с контроллером домена необходима для правильной работы Kerberos.
Выбрав кнопку “Now and On Boot”, мы запускаем демон NTP на нашем сервере SUSE Linux. Тем самым и наш сервер может выступать как сервер времени. Выбрав пункт “Synchronize without Daemon”, мы запустим через crontab периодическое (раз в 5 минут) обновление времени нашего сервера от контроллера домена. Выбор метода синхронизации времени зависит от того, как в дальнейшем будет использоваться наш сервер SUSE Linux.
Настройка active directory (windows server 2022 r2)
В DNS зону (JAKONDA.LOCAL), добавляем A-запись файлового сервера:
Создаем служебного пользователя (прим. datastore1), с бесконечным срок действия пароля.
Создаем KEYTAB-файл (необходим для аутентификации пользователей в Active Directory). В командной строке с правами администраторы выполняем команду (соблюдая регистр):
Полученный KEYTAB-файл, передаем любым удобным способом на файловый сервер (расположение KEYTAB-файла на моем файловом сервере — /root/datastore1.keytab). Как передать файл посредством утилиты PuTTY можно прочитать тут
Настройка kerberos
Теперь нам нужно настроить Kerberos. В YaST выбираем Network Services > Kerberos Client. Мы должны получить результат, показанный на рис. 7.
Сейчас не будем подробно останавливаться на “Advanced Settings” — там устанавливаются различные параметры, как клиента Kerberos, так и методов аутентификации в системе. Пока лучше этот пункт не трогать.
Настройка ldap
Настала пора конфигурировать LDAP. Как уже упоминалось ранее, необходимости в этом для работы Samba нет, поскольку в составе Samba есть своя реализация LDAP. Но мы все-таки покажем, как настраивать LDAP и какие его возможности в дальнейшем мы сможем использовать.
Нашим сервером LDAP является контроллер домена (рис. 8).
Имеется несколько режимов работы LDAP. Фраза “Do Not Use LDAP” говорит о том, что LDAP настроен, но не используется при работе системы. “Use LDAP but Disable Login” не использует LDAP при аутентификации в системе. А при выборе “Use LDAP” для входа в систему (Оконный менеджер, ssh и другие сервисы) может быть использован сервер LDAP (то есть контроллер домена).
После того, как мы указали сервер LDAP, можно и перезагрузить машину, чтобы убедиться в корректности работы. После перезагрузки опять вызовем YaST и LDAP Client Configuration. Мы увидим, что адрес LDAP-сервера сохранился, и нажмем на кнопочку “Fetch DN”. В результате мы то, что показано на рис. 9 (конфигурация LDAP. Запрос данных).
Мы получили от LDAP-сервера информацию о домене. Значит, все работает хорошо, и можно продолжить настройку LDAP. Выберем “Advanced Configuration” в LDAP Client configuration и увидим изображенное на рис. 10.
Настройка samba
Теперь настала пора переходить к настройке Samba.
В YaST выбираем раздел Network Services и пункт Samba Server. Сначала будет предложено выбрать метод запуска Samba (Manual или During Boot). (См. рис. 16.)
При выборе пункта During Boot сервер Samba запускается во время старта системы, при Manual необходимо запускать Samba вручную. Следует заметить, что режим During Boot может быть установлен при инсталляции пакетов Samba, и тогда вопроса выбора не возникает. Теперь нужно указать имя домена Windows (рис. 17).
Samba может работать и как контроллер домена NT4. Следующим окном (рис. 18) будет предложено выбрать, будет ли Samba контроллером домена или нет. И если будет, то первичным или вторичным контроллером?
В нашем случае мы выбираем Not a Domain Controller. Как контроллер домена NT4, Samba хорошо работает с операционными системами Windows XP/2000/2003, но при работе с Windows 7 в режиме AD будут возникать некоторые сложности. Работа Samba как контроллера домена — это предмет отдельной дискуссии. Некоторая информация о работе контроллера домена на Samba с клиентами Windows 7 представлена
Теперь нужно указать разделяемые ресурсы (Shared folders) на сервере Samba (рис. 19).
Как видим, сейчас у нас таковых нет, а имеющийся ресурс netlogon имеет статус Disabled. При установке Samba может быть установлен файл конфигурации из дистрибутива, где уже указаны разделяемые ресурсы. Если нам необходимо добавить еще ресурсы (папки), то выбираем пункт Add, и нам будет предложено ввести параметры нового разделяемого ресурса (рис. 20).
Теперь список разделяемых ресурсов на сервере выглядит как на рис. 21.
На вкладке Shares можно указать режимы доступа к разделяемым каталогам. Можно разрешить пользователям предоставлять доступ к домашним каталогам и разрешить гостевой доступ.
Теперь настала пора ввести некоторые идентификационные параметры на вкладке Identity (рис. 22).
Здесь мы видим уже имя домена LAB. Желательно указать имя Netbios и, возможно, уточнить некоторые параметры, нажав на кнопку Advanced Settings.
Можно включить поддержку WINS, которая разрешает имена NetBIOS в IP-адреса. Подробнее про WINS можно прочитать
Также необходимо ввести параметры LDAP на вкладке LDAP Settings (рис. 23).
Параметры LDAP Password Backend и LDAP Idmap Backend будут выбраны автоматически, Samba сама определит имя LDAP-сервера. Нам останется только ввести уникальное имя (DN — от Distinguished Name) администратора и его пароль. Но тут может возникнуть проблема.
Дело в том, что при указании доменного имени (см. рис. 1), оканчивающегося на .local, SUSE Linux подключает службу mDNS. И если mDNS не находит имени сервера, то будет возникать ошибка. Одним способом выхода из этой ситуации является ручное редактирование файла nsswitch.conf, либо указание IP-адреса сервера LDAP. Подробнее про mDNS можно прочитать на
Для проверки корректности работы нажмем Test Connection и увидим, что все в порядке (рис. 24).
Как видим, все получилось. Теперь можно нажать всюду OK, конфигурация сервера будет сохранена. Чтобы убедиться в нормальной работе нашего сервера, можно и перезагрузить машину. Следует отметить, что после нажатия OK может быть предложено подключиться к домену Windows.
Мы не рекомендуем делать это из окна Samba Server. Лучше будет вызвать в разделе Network Services YaST пункт Windows Domain Membership (рис. 25). При использовании этого пункта предлагается более полная диагностика возникающих проблем. Кроме того, настройка с использованием Windows Domain Membership предлагает больше вариантов настройки.
В окне Windows Domain Membership можно указать ряд параметров. В нижней части можно уточнить настройки NTP, разрешить пользователям предоставлять свои каталоги для общего доступа и разрешить гостевой доступ к серверу, так же как и при настройке разделяемых каталогов Samba.
Гораздо более интересные опции указываются в верхней части окна. Отметив Use SMB Information for Linux Authentication, мы включаем аутентификацию пользователей SUSE Linux в домене Windows. При указании этой опции пользователи при доступе к графической оболочке, к командной строке и к другим службам должны указывать доменные имена и пароли.
Следует с осторожностью устанавливать эту опцию, поскольку не все оконные менеджеры дисплея (например, KDM и XDM), представленные в дистрибутиве SUSE Linux, способны поддержать аутентификацию через домен Windows. Мы оставим эту опцию для дальнейшей дискуссии.
Нажав OK, мы получим предложение включить наш сервер в домен Windows (рис. 26).
Согласившись с предложением, выбираем Yes и получаем приглашение ввести пароль администратора рис. 27.
Через некоторое время после ввода пароля мы должны получить подтверждение включения нашего сервера в домен и увидим измененное окно Windows domain membership (рис. 28).
Как видим, изменилось имя домена (оно совпадает с Kerberos realm) и появилась кнопка Leave — отключение от домена. Это свидетельствует о корректности включения в домен.
Настройка сетевого адаптера
После того, как мы установили SUSE Linux, необходимо настроить сетевое соединение. Заметим, что мы используем статические IP-адреса.
Через раздел Network Devices выбираем пункт Network Settings. YaST предложит нам список имеющихся сетевых адаптеров; выберем необходимый и нажмем кнопку Edit. Теперь мы внесем нужные данные, как показано на рис. 1.
Мы установили статический IP-адрес 192.168.7.9 с маской 255.255.255.0. Это один из наиболее типичных вариантов настройки сетевого соединения. В зависимости от конфигурации сети эти настройки могут меняться.
Кроме IP-адреса, необходимо указать параметры DNS (см. рис. 2).
Параметры маршрутизатора по умолчанию устанавливаются в зависимости от конфигурации вашей сети. У нас его адрес 192.168.7.3.
Нажимаем кнопки OK и подождем, когда система будет сконфигурирована. Чтобы проверить корректность работы, лучше перезагрузиться. Перезагрузка системы не является обязательной, но при перезагрузке мы сможем проверить корректность работы стартовых файлов. Можно перезапустить необходимые сервисы (network) вручную.
Некоторые общие проблемы и методы их устранения
Для корректной работы Samba в домене Windows 2008 R2 очень важно, чтобы имена разрешались правильно. Это касается прямого и обратного разрешения имен, разрешения имени контроллера домена, служб Kerberos и служб LDAP. Одним из вариантов решения проблемы является указание IP-адресов при настройке Linux, а не имен, даже несмотря на то, что при установке Samba имена разрешаются корректно.
Необходимые пакеты
Как уже говорилось в предыдущих статьях, кроме Samba, для работы нам потребуется LDAP и Kerberos. Конечно, эти пакеты следует выбрать при инсталляции системы. Но YaST позволяет устанавливать пакеты по мере необходимости — лишь бы были доступны репозитории, где эти пакеты хранятся. Используя в YaST раздел Software и пункт Software Management, проверим, какие пакеты у нас установлены.
Сначала Samba (рис. 3).
Не забудем про Kerberos (рис. 4).
В наличии LDAP нет серьезной необходимости, но мы все же поставим его: он пригодится нам в дальнейшем, при возможном расширении функциональности нашего сервера. Например, мы можем получать через LDAP списки пользователей для настройки почтовых систем. На рис. 5 показан список пакетов LDAP, но он шире минимально необходимого набора.
Общие папки (shared folders)
Так как мы интегрируем Samba с Active Directory, то и управление правами доступа на общие папки будет гораздо удобней назначать из ОС Windows.
Учетные записи которые могут настраивать права на общие папки, нуждаются в привилегиях SeDiskOperatorPrivilege. Чтобы посмотреть текущий список привилегий на хосте, выполним команду:
Результат выполнения:
Подготовка системы (debian 9 stretch)
Перед началом выполнения ниже описанных действий обновляем систему до актуального состояния:
Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле (/etc/hostname):
Так же файл (/etc/hosts) приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP:
Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:
Проверка работоспособности
При корректном включении в домен, на контроллере домена мы увидим наш сервер SUSE Linux (рис. 29).
Можно сказать, что задача выполнена. Теперь можно работать с нашим новым сервером. В дальнейшем мы рассмотрим возможные проблемы, появляющиеся при включении SUSE Linux в домен, и способы их устранения.
Установка и настройка samba, winbind
Устанавливаем необходимые пакеты:
Конфигурационный файл Samba (/etc/samba/smb.conf) приводим к виду:
Так как в Linux по-умолчанию установлен лимит на 1024 одновременно открытых файлов, а в Windows он 16384, поэтому увеличим лимит в Debian до значения 16384.
В файле (/etc/security/limits.conf) дописываем в самый конец строки:
Перезагружаем систему для применения изменений:
Выполним проверку конфигурации на ошибки, командой:
Проверка заданной конфигурации Samba правильная, ошибок и предупреждений нет, а поэтому можно вводить систему в домен, выполняем команду:
Вывод об успешном присоединении к домену:
Теперь чтобы система использовала winbind для поиска пользователей и групп в файле (/etc/nsswitch.conf) к параметрам passwd, group добавляем параметр winbind:
Перезапускаем службы Samba и Winbind для применения изменений:
Проверим, что Winbind установил доверительные отношения с Active Directory, выполним команду:
Для проверки видит ли Winbind пользователей и группы из Active Directory, выполним команды:
Если в ходе выполнения данных команд в консоль были выведены пользователи и группы из Active Directory, то это значит что Winbind работает правильно.
Так же удостоверится в корректной работе Winbind можно запросив данные по доменному пользователю (прим. ранее созданного пользователя datastore1):
Заключение
Работа выполнена на базе Информационно-вычислительного центра МЭИ.
Мы будем рады вашим замечаниям и предложениям. У нас есть возможности собрать тестовую сеть и отладить на ней различные варианты и конфигурации систем для обеспечения их взаимодействия.