Введение в домен рабочих станций Unix

ВНИМАНИЕ:

В инструкции приведены команды для операционных систем:

RedOS 8RedOS 7AstraAlt

МСВСфера

Для шагов с отличающимися в зависимости от ОС действиями указаны команды для всех ОС. Необходимо выполнять команды только для используемой вами ОС.

Системные и аппаратные требования

Для работы Avanpost DS необходимо выполнение следующих аппаратных и системных требований для АРМ пользователя:

Таблица. Требования к конфигурации системного и аппаратного обеспечения АРМ

Компонент

Минимальная конфигурация

Операционная система

RedOS, Astra, Alt, МСВСфера

Процессор

В соответствии с требованиями ОС

Оперативная память

В соответствии с требованиями ОС

Жёсткий диск

В соответствии с требованиями ОС

Сетевая плата

Ethernet 100 Мбит

Монитор

С разрешением 1024x768 и выше

Дополнительное ПО

Браузер

Введение в домен

Для введения хоста в домен используется утилита "dscli" из архива "Avanpost.DS.Server.Linux.Tools.v*.tar.gz", которая автоматизирует настройку служб Kerberos и sssd.

ВАЖНО!

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

Требуется подключиться по SSH к хосту, который необходимо ввести в домен, и выполнить шаги:

Шаг 1. Задать hostname. 

Для этого необходимо:

1.1. Выполнить команды по шаблону:

Шаблон команд
sudo hostnamectl set-hostname [FQDN]
sudo sed -i "1i 127.0.0.1 $(hostname -f)" /etc/hosts

Заменить [FQDN] на желаемое полное доменное имя хоста (FQDN), на котором производится установка.

В примере задается hostname "cl01.avanpost.local".

Пример команд
sudo hostnamectl set-hostname cl01.avanpost.local
sudo sed -i "1i 127.0.0.1 $(hostname -f)" /etc/hosts

1.2. В конфигурационном файле "/etc/hosts", указать в первой строке значение "127.0.0.1 [FQDN]".

Открыть /etc/hosts
sudo nano /etc/hosts
Пример /etc/hosts
127.0.0.1 cl01.avanpost.local   #127.0.0.1 [FQDN]
127.0.0.1 localhost
[::1] cl01.avanpost.local

Шаг 2. Остановить сервис "systemd-resolved" и настроить NetworkManager. (Только для ОС RedOS и МСВСфера

Примечание

В REDOS из коробки установлен сервис "systemd-resolved", он слушает 53 порт.

Для этого необходимо:

RedOS 7, 8

2.1. Отключить и остановить службу "systemd-resolved".

sudo systemctl disable --now systemd-resolved.service

2.2. Поместить в раздел [main] "/etc/NetworkManager/NetworkManager.conf" строку:
DNS=none

Открыть /etc/NetworkManager/NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf

2.3. Удалить символическую ссылку "/etc/resolv.conf".

sudo rm /etc/resolv.conf
Astra 
НЕ выполняем данный шаг на Astra
Alt
НЕ выполняем данный шаг на Alt 
МСВСфера
2.1. Посмотреть все сетевые подключения.
nmcli connection show

2.2. Установить ручной (manual) метод настройки DNS. В шаблоне команды заменить [ИМЯ_ПОДКЛЮЧЕНИЯ] на имя сетевого подключения, полученное на шаге 2.1.

Шаблон команды для IPv4
nmcli connection modify [ИМЯ_ПОДКЛЮЧЕНИЯ] ipv4.method manual
Шаблон команды для IPv6
nmcli connection modify [ИМЯ_ПОДКЛЮЧЕНИЯ] ipv6.method manual

2.3. Установить в NetworkManager в качестве DNS сервера контроллер домена Avanpost DS. В шаблоне команды заменить [ИМЯ_ПОДКЛЮЧЕНИЯ] на имя сетевого подключения, полученное на шаге 2.1.

Шаблон команды
nmcli connection modify [ИМЯ_ПОДКЛЮЧЕНИЯ] ipv4.dns "192.168.1.11"

2.4. Перезапустить службу NetworkManager

sudo systemctl restart NetworkManager

Шаг 3. Указать в качестве DNS сервера контроллер домена Avanpost DS.

Для этого необходимо:

3.1. Открыть для редактирования файл "/etc/resolv.conf":

sudo nano /etc/resolv.conf

3.2. Добавить строку в файл "/etc/resolv.conf" по шаблону:

Шаблон строки
nameserver [IP контроллера домена Avanpost DS]
Пример строки
nameserver 192.168.1.11

Примечание

Для отказоустойчивости рекомендуется указать в качестве DNS сервера все контроллеры домена Avanpost DS, добавив строку для каждого из них в файл "/etc/resolv.conf".

Шаг 4. Создать каталог "/opt/avanpost/tools".

Для этого необходимо выполнить команду:

sudo mkdir -p /opt/avanpost/tools

Шаг 5. Загрузить архив с дистрибутивом Avanpost.DS.Server.Linux.Tools на рабочую станцию.

Например, можно загрузить дистрибутивы в директорию "/tmp".

Примечание

Вместо SFTP можно воспользоваться SCP:

Шаблон команды
scp [Путь до архива] [реквизиты для подключения по SSH]:[Полный путь папки назначения]
Пример команды
scp /home/admin/Avanpost.DS.Server.Linux.Tools.v*.tar.gz root@192.168.1.30:/tmp/

При наличии доступа можно загружать сразу в целевую директорию "/opt/avanpost/ads/tools".

Шаг 6. Разархивировать архив в директорию "/opt/avanpost/tools".

Для этого необходимо выполнить команду:

sudo tar -xvzf /tmp/Avanpost.DS.Server.Linux.Tools.v*.tar.gz -C /opt/avanpost/tools

Шаг 7. Установить необходимые пакеты.

Для этого необходимо выполнить команды:

RedOS 8
sudo dnf update && sudo dnf install sssd authselect-compat mesa-libGL pam_krb5

ВАЖНО!

Для серверной версии Redos 8 необходимо установить пакет с зависимостями "krb5-workstation", иначе не будет работать "kinit", "klist".

RedOS 7
sudo dnf update && sudo dnf install sssd authselect-compat nss-pam-ldapd sssd-proxy

ВАЖНО!

Для серверной версии Redos 7 необходимо установить пакет с зависимостями "krb5-workstation", иначе не будет работать "kinit", "klist".

 Astra

На ОС Astra необходимо устанавливать пакеты в определенном порядке. Сначала требуется установить "ssh" и "sssd"/"astra-ad-sssd-client":

Установка ssh
sudo apt update && sudo apt install ssh

Если установлен графический интерфейс FLY, устанавливается пакет "astra-ad-sssd-client":

Установка astra-ad-sssd-client
sudo apt install astra-ad-sssd-client

Если графический интерфейс НЕ установлен, то устанавливается пакет "sssd":

Установка sssd
sudo apt install sssd

Далее установить остальные пакеты:

sudo apt install libsasl2-modules-gssapi-heimdal libsss-sudo

В процессе установки терминал будет запрашивать информацию по настройке. Требуется оставить все ответы по умолчанию. (Нажимать Enter без ввода значения)

 Alt
apt-get update && apt-get install kstart krb5-kinit sssd sssd-client task-auth-ad-sssd sssd-winbind-idmap sssd-tools sssd-pac sssd-ldap sssd-dbus sssd-ad python3-module-sssd python3-module-sssdconfig sssd-krb5 sssd-krb5-common
МСВСфера
НЕ выполняем данный шаг на МСВСфера. Все необходимые пакеты уже установлены.

Примечание

Доменный клиент Avanpost DS выполняет проверку наличия компонентов sssd и krb5-workstation / krb5-user в зависимости от дистрибутива. При их отсутствии установка НЕ выполнится.

Шаг 8. Проверить работу DNS серверов.

Для этого необходимо выполнить команду по шаблону:

Шаблон команды
nslookup -type=SRV _ldap._tcp.[Домен2ур].[Домен1ур] | grep 389

Заменить [Домен1ур] на свой домен первого уровня, а [Домен2ур] — на свой домен второго уровня.

Пример команды
nslookup -type=SRV _ldap._tcp.avanpost.local | grep 389
Вывод команды
_ldap._tcp.avanpost.local       service = 0 0 389 ds01.avanpost.local.

Шаг 9. Ввести рабочую станцию в домен с помощью утилиты "dscli".

Для этого необходимо выполнить команду по шаблону:

Шаблон команды
sudo /opt/avanpost/tools/dscli/dscli join -domain [ДОМЕН] -login [ЛОГИН]

Необходимо заменить [ДОМЕН] на свой домен, а [ЛОГИН] — на логин созданной вручную учетной записи с правами администратора(В примере "lipov")

Пример команды
sudo /opt/avanpost/tools/dscli/dscli join -domain avanpost.local -login lipov

Затем ввести пароль от указанной учетной записи с правами администратора.

Встроенная учетная запись Administrator не подходит для ввода в домен. 

Для введения рабочей станции в определенное OU домена, необходимо использовать ключ -ou для dscli join

Пример команды
sudo ./dscli join -domain avanpost.local -login lipov -ou ou=MSK,dc=avanpost,dc=local

 Команда "repair" позволяет восстановить настройки согласно state.json клиента.

Команда для восстановления настроек
sudo /opt/avanpost/tools/dscli/dscli repair

Шаг 10. Включить и добавить в автозагрузку службы "dscli.service" и "dscli.timer".

Для этого необходимо выполнить команду:

sudo systemctl enable --now dscli.service && sudo systemctl enable --now dscli.timer

Примечание

Служба "dscli" применяет групповые политики, а так же отслеживает изменения IP-адреса на хосте и отправляет их на контроллер Avanpost DS.

Шаг 11. Проверить, что рабочая станция успешно введена в домен.

Для этого требуется войти в систему с помощью доменной учетной записи (в примере "lipov"), используя команду по шаблону:

Шаблон команды
su - [ИМЯ ПОЛЬЗОВАТЕЛЯ]

[ИМЯ ПОЛЬЗОВАТЕЛЯ] необходимо заменить на имя доменной учетной записи. Имя можно указывать вместе с REALM или без него.

Примеры команды
su - lipov
su - lipov@AVANPOST.LOCAL
su - lipov@co.avanpost.com

ВАЖНО!

Если в домене Avanpost DS и в доверенном домене MS AD существуют пользователи с одинаковым логином, то для них необходимо обязательно указывать REALM.

Внимание:

Для авторизации на рабочей станции под пользователями из домена Avanpost DS, можно вводить REALM строго в верхнем регистре или вообще его не указывать.

Для авторизации на рабочей станции под пользователем из доверенного домена MS AD следует указывать REALM в том регистре, который используется для домена в MS AD, или вообще его не указывать.

Рассмотрим примеры:


Рисунок. Пример домена в MS AD в нижнем регистре

В данном случае используется нижний регистр, значит REALM для входа следует указывать в нижнем регистре: "user@co.avanpost.com".


Рисунок. Пример домена в MS AD в комбинированном регистре

В данном случае используется комбинированный регистр, значит REALM для входа следует указывать также: "user@TRUST01.local".

Обсуждение