Как добавить astra linux в домен windows
Перед вводом в домен следует убедиться, что контроллеры домена доступы и доменные имена корректно разворачиваются в ip. (Иначе следует настроить resolv.conf)
Для ввода в домен предназначены две команды: /opt/pbis/bin/domainjoin-cli и /opt/pbis/bin/domainjoin-gui. Одна из них работает в командной строке, вторая использует libgtk для отображения графического интерфеса.
Для ввода в домен потребуется указать: имя домена, логин и пароль доменного пользователя с правами для ввода ПК в домен, контейнер для размещения объекта компьютера в домене — всё то же самое, что и при вводе в домен windows ПК.
После ввода в домен потребуется перезагрузка.
Обратите внимание — PBIS умеет работать с сайтами Active Directory. Клиент PBIS будет работать с контроллерами того сайта, в котором он находится!
А как же SSO при доступе к ресурсам на Linux ПК?
На клиентском Windows ПК (члене домена) при использовании Putty следует в свойствах SSH соединения установить флаг «Attempt GSSAPI authentification (SSH-2 only)» (В разных версиях этот пункт называется по-разному). 
Также в секции Connection —> Data можно поставить переключатель в позицию «Use system username»
Установка Astra Linux Directory
В этой статье будет рассмотрена установка Astra Linux Directory – реализация службы каталогов от компании АО «НПО РусБИТех» (Astra Linux). Особо отмечу, что речь идет про бесплатную версию Astra Linux Directory, а не Pro версию.
Цель статьи – это подготовить руководство для быстрого старта, которое позволило бы вам в разумные строки развернуть стенд для тестирования службы каталогов Astra Linux Directory.
Краткое описание служб каталогов ALD
Существует две версии продукта – Astra Linux Directory и Astra Linux Directory Pro. Как бы это странно не звучало, но технически это два разных продукта. Astra Linux Directory используются свой вариант каталога, а в основе служб каталогов Astra Linux Directory Pro лежит FreeIPA.
Astra Linux Directory доступна из коробки в бесплатной редакции Astra Linux Common Edition.
Кратко опишу основные возможности бесплатной версии Astra Linux Directory:
- Позволяет организовать централизованное хранение и управление учетными записями пользователей и групп.
- Предоставляет сквозную аутентификацию пользователей в домене с использованием протокола Kerberos.
- Обеспечивает функционирование глобального хранилища домашних директорий, доступных по Samba/CIFS.
К основным особенностям я бы отнес следующие:
- Поддерживает только клиенты с ОС Astra Linux.
- Добавление машины ОС MS Windows в домен ALD штатными средствами ОС MS Windows невозможно.
- Одновременной работы нескольких серверов ALD не предусмотрено.
- Переключение на резервный сервер ALD только вручную.
- «Плоская» иерархия пользователей и ПК, т.е. нет возможности, например, создавать OU.
Все приведенные мной выше умозаключения отражают только мое видение продукта и относятся к версии 1.7.37.

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

Она включает в себя один сервер (ADC01) и один клиент (ACLT01). В качестве службы разрешения имен я буду использовать сервер BIND. В целом для такой схемы можно вообще не использовать BIND, а просто сделать соответствующие записи в /etc/hosts.
Подготовка операционных систем
У Astra Linux Directory Common Edition нет градации на серверных и клиентские редакции ОС. Поэтому предварительная подготовка сервера и клиента ничем не отличаются.
Во всех примерах этой статьи использовалась версия Astra Linux Directory Common Edition релиза “Орёл” (2.12.43). Версия ядра – 5.10.0.-1038.40-hardened.

Итого подготовка серверной и клиентской системы включает в себя следующие шаги:
1. Установка и первоначальная настройка операционной системы. Можете использовать как физическое устройство, так и виртуальную машину. В целом можно использовать стандартные параметры установки, но вот версия ядра должна быть именно “hardened”:

2. Актуализация репозиториев:

3. Обновление установленных пакетов:

Настройка сервера Astra Linux Directory
Установка Astra Linux Directory включает в себя следующие верхнеуровневые шаги:
- Настройка BIND.
- Установка и настройка серверных служб ALD.
Предварительно неоходимо указать в качестве DNS сервера на сетевом интерфейсе адрес самого сервера.

Настройка BIND
- Устанавливаем пакет BIND:
2. Устанавливаем пакет утилит для работы с DNS (например, в этот пакет входит утилита dig):
3. Корректируем настройка BIND. Нужно указать на каких IP-адресах сервера прослушивать запросы и на какие внешние DNS следует перенаправлять запросы. Открываем на редактирование конфигурационный файл:
Нам нужно скорректировать секции “forwarders” и “listen-on”. В секции “forwarders” нужно указать на какие внешние DNS перенаправлять запросы, а в секции “listen-on” нужно указать локальные адреса, на которых сервер будет прослушивать подключения. Пример моего файла конфигурации:
4. Теперь необходимо внести информацию и прямой и обратной зоне. В моем случае DNS-имя зоны будет itproblog.ru. Открываем на редактирование конфигурационный файл:
Пример моего конфигурационного файла named.conf.local:
В секции type указан тип зоны (основная зона), а в секции file расположение файла с текстом зоны (его мы настроим далее).
5. Создаем каталог для файлов DNS зон, создаем пустые файлы зон и назначаем необходимые разрешения:
6. Редактируем файл с прямой зоной:
Пример моего файла прямой зоны:
7. Редактируем файл с обратной зоной:
Пример моего файла обратной зоны:
8. Проверяем корректность заполнения конфигурационного файла и файлов зон:

Если ваш вывод на консоль отличается от вывода со скриншота выше, то, вероятно, нужно скорректировать ошибки в конфигурационных файлах.
9. Перезагружаем сервис BIND:
10. Проверяем разрешение имени через наш DNS сервер:

т.е. имена сервера и клиента успешно разрешаются в IP-адреса.
Установка служб Astra Linux Directory
- Устанавливаем основной пакет ALD сервера и графический интерфейс администрирования Fly:
В процессе установки нас попросят указать пароль администратора LDAP. Указываем его:

2. Указываем полное доменное имя сервера:

Да, полное доменное имя применилось корректно.
3. Перезагружаем сервер.
4. Теперь необходимо создать домен. Переходим по следующему пути в графическом режиме: “Пуск” – “Панель управления” – “Сеть” – “Доменная политика безопасности“.

5. Указываем пароль, который мы задали на этапе установки сервера ALD.

6. Поскольку пока еще сервер ALD не настроен, то могут возникать ошибки в диалоговых окна. Пока просто игнорируем их.
7. Указываем пароль базы данных Kerberos, пароль администратора ALD.

Я также отметил опцию “Использовать свои настройки сети” и выбрал IP-адрес для службы. После этого нажимаем кнопку “Создать сервер”.
8. Нажимаем “Да” в подтверждении о том, что мы согласны с тем, что предыдущая БД будет перезаписана (если она имеется).

9. В случае успешного завершения создания сервера мы получим соответствующее уведомление:

10. Перезагружаем сервер.
Проверка работы серверных служб ALD
Выполнил проверку сервиса ALD:

Сообщение говорит о том, что сервис сконфигурирован, клиент и сервис работают корректно.
Теперь попробуем открыть графическую оснастку администрирования. Переходим по следующему пути в графическом режиме: “Пуск” – “Панель управления” – “Сеть” – “Доменная политика безопасности“:

Нажимаем кнопку “Подключиться”.
Указываем пароль администратора ALD:

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

Создание тестовых пользователей
Для того, чтобы проверить подключение клиента и работу под доменной УЗ создадим две учетные записи – user1 и user2.
Переходим по следующему пути в графическом режиме: “Пуск” – “Панель управления” – “Сеть” – “Доменная политика безопасности“. Указываем пароль администратора ALD.
В контекстном меню элемента “Пользователи” выбираем пункт “Создать“:

Заполняем имя пользователя и указываем первичную группу “Domain Users”:

Подтверждаем наши намерения создать пользователя (зеленая галочка).
Создаем пароль для учетной записи:

Выполняем аналогичные действия для учетной записи user2.
Итого, в нашей директории должно быть два пользователя – user1 и user2:

Присоединение клиента к домену ALD
Предварительно на клиентском ПК необходимо указать в качестве DNS сервера наш сервер с ALD, т.к. именно там мы настроили BIND DNS.

Перезагружаем клиент и проверяем, что имя нашего сервера ALD разрешается в IP:

Указываем полное доменное имя клиента:
Процесс присоединения к домену
1. Устанавливаем необходимые пакеты:
2. Для разнообразия присоединим клиент через командную строку. Это можно сделать вот такой небольшой командой:
где последним параметром передается имя контроллера домена ALD.


3. На этапе выбора пользователя с правами присоединения к домену нажимаем Enter и указываем пароль администратора ALD.

4. В случае успешного присоединения вы должны увидеть следующий вывод:

Если теперь посмотреть в консоль управления ALD на сервере, то вы можете увидеть новый объект компьютера:

Проверка работы клиента ALD
Если мы попробуем сейчас выполнить вход на клиентский компьютер под доменной учетной записью user1, то увидим следующее сообщение – “Доступ запрещен”:

С кем это связано? Все дело в том, что в оснастке управления ALD для учетной записи пользователя необходимо явно указать – на какие клиентские ПК ему разрешен доступ. Давайте добавим доменному user1 разрешения локального входа на доменный ПК aclt01.itproblog.ru.
Для этого на сервере ALD необходимо открыть оснастку управления ALD и в свойствам УЗ user1 на вкладке “Привилегии домена” добавим компьютер aclt01.itproblog.ru:

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

Да теперь мы успешно выполнили вход под доменной учетной записью.
Установка Astra Linux Directory : 8 комментариев
Добрый день!
Вход в домен приходиться выполнять каждый раз (ald-client join domain). Авторизация проходит успешно. После перезагрузки все по новой. Это нормальное поведение? Как можно автоматизировать вход с пк в домен?
Добрый день! Нет, так не должно быть. ald-client join domain – это разовая операция.
После перезагрузки не получается под доменной УЗ аутентифицироваться? Какая-то ошибка генерируется?
Здравствуйте
в привилегиях домена не появился подключенный компьютер, там вообще пусто, в разделе компьютеров он есть, все делалось в точности, версия астры 1.6 Смоленск, никаких бюллетеней поверх не установлено
Добрый день! А КД и клиент точно видят друг друга? В процессе присоединения клиента никаких ошибок не генерировалось? Попробуйте еще вот этой командой на клиенте статус проверить: sudo ald-client status
Еще из вариантов – последовательно перезагрудить КД и клиента и выполнить проверку снова.
делал по вашей инструкции но при подключении клиента к домену появляется ошибка: ошибка openldap при gssapi соединения local error в aldldapconnection.cpp:747 connect
Как ее исправить?
Добрый день! Разрешение имен точно работает корректно? КД по имени разрешает IP-адрес клиента и наоборот? Обсуждение подобной проблемы есть на форуме вендора – https://forum.astralinux.ru/threads/484/. Из обсуждения я понял, что по итогу былаиз-за ошибок в файлах конфигурации зоны в bind. Я бы на вашем месте проверил всю подсистему разрешения имен.
Здравствуйте, Роман! спасибо, действительно были опечатки в конфигурационных файлах DNS
DNS – это уже почти классика дебага:
– Это точно не DNS.
– Это не может быть DNS.
– Это был DNS.
Домен Astra на Linux
Настройка пакета ossec-web осуществляется на сервере.Дать права для пользователя audit-user к файлам сервиса ossec и web-интерфейсу:
Пользователю www-data необходимо дать права для просмотра директории /var/www/ossec:
В файлах /etc/php5/apache2/php.ini и /etc/php5/cli/php.ini в секцию нужно добавить параметр . Системную временную зону можно посмотреть в файле /etc/timezone. Например, Europe/Moscow.Web-интерфейс доступен через браузер по адресу: susrv/ossec/prog/UnitList.php. Для каждого агента будет создана директория с его именем в /var/www/ossec/data/.
Incron
Для появления событий в web-интерфейсе достаточно перезапустить сервис incron:
service incron restart
Сервис Incron следит за файлом /var/ossec/logs/alerts/alerts.log. В случае модификации данного файла вызывается скрипт AlertsMonitor.php. Данное действие описано в файле /var/spool/incron/ossec и устанавливается вместе с пакетом ossec-web. Обновление списка сообщений в web-интерфейсе происходит автоматически.
Раз в день лог alerts.log ротируется сервисом ossec. После этого события сообщения перестают попадать в этот интерфейс. Для решения данной проблемы требуется перезапуск службы incron.Для автоматизации данного решения можно добавить cron-задачу. Для этого создаем файл /etc/cron.d/incron со следующим содержимым:
Добавление новых сообщений для отображения в web-интерфесе.Рассмотрим добавление правила для административных действий в домене.Сообщения падают в файл /var/log/ald/audit.log. Добавляем данный файл на контроль сервиса ossec. Для этого на контроллере домена в файле var/ossec/etc/ossec.conf нужно раскоментировать или добавить:
Дать доступ для пользователя ossec к данному файлу:
В файле /var/ossec/etc/decoder.xml для выборки сообщений добавить:
В данном примере мы выбираем только те сообщения, которые содержат admin/admin. При срабатывании декодера требуется написать правило, описывающее данное событие. Для этого в файле /var/ossec/rules/admin.xml добавить:
В данном примере — это уникальный идентификатор, level=»5″ — это важность данного правила (от нее зависит цвет сообщения в web-интерфейсе, 0-игнорирование).Порядок прохождения логов на примере события parsec1. На агенте при обращении к защищаемым файлам генерируется лог, который помещается в файл /var/log/parsec/kernel.mlog2
Сообщение передается в службу rsyslog с помощью скрипта ossec_audit_send_sh3. Согласно конфигурационному файлу он передается на сервер4. На сервере служба rsyslog принимает входящее сообщение и кладет в файл /var/remote_logs/IP-адрес/all.log согласно правилам5. Служба ossec обрабатывает файл all.log, применяя к нему декодер, а затем правила6. В случае срабатывания правила сообщения попадают в файл /var/ossec/logs/alerts/alerts.log7. Все сообщения из alerts.log попадают в web-интерфейс при выполнении скрипта /var/www/ossec/prog/AlertsMonitor.php. Данное действие автоматизированно службой incron.
Настройка на сервере:
Для установки web-интерфейса и серверной части сервиса ossec требуется установить пакет ossec-web со всеми зависимостями.
apt-get install ossec-web
Установка данного пакета повлечет за собой установку следующих пакетов:
Создать каталог для хранения логов и дать доступ для пользователя ossec. Права удобно назначить с помощью расширенных атрибутов доступа ACL.
Скопировать настройки rsyslog с запуском сетевого сокета syslog для приема входящих сообщений:
cp /var/ossec/etc/10-ossec-syslog.conf /etc/rsyslog.d/
В данном файле 10-ossec-syslog.conf указана подгрузка UDP и TCP модулей и сокетов для приема сообщений с агентов и правила обработки входящих сообщений rsyslog для последующей записи в файлы в директориях /var/remote_logs/IP-адрес_машиныПерезапустить сервис rsyslog:
service rsyslog restart
Перезапуск осуществляется для того, чтобы изменения вступили в силу. Для проверки правильности настройки данной службы в файл /var/remote_logs/127.0.0.1/all.log должны попадать сообщения от сервера.
Настройка ossec-сервера
Рабочая директория ossec-сервера — /var/ossec/, основным конфигурационным файлом является /var/ossec/etc/ossec.confРаскоментировать в файле /var/ossec/etc/ossec.conf строки:
В файле /var/ossec/bin/ossec_audit_send.sh найти строку, содержащую команду парсинга логов parselog и убрать комментарий из конца строки #all logs. После изменения строка будет иметь вид:
После выполнения вышеперечисленных действий необходимо перезапустить сервер, чтобы изменения вступили в силу:
Все агентские машины должны быть добавлены на сервере через интерактивную команду /var/ossec/bin/manage_agents всех агентов, указав их имя и IP-адрес и экспортировать ключ.После подключения нового агента необходимо перезапустить сервер.
Ввод Astra Linux в домен Windows
Разблокирование суперпользователя (root)
Для более удобной работы разблокируем учётную запись root:
Назначим пароль для учётной записи root:
Настройка сети
В начало файла /etc/hosts добавить строки:
Строку с 127.0.1.1 ws3 удалить.Убедиться, что в файле /etc/hostname правильно указано имя машины:
/etc/hostname
Назначим статический ip-адрес. В файл /etc/network/interfaces добавить строки:
/etc/network/interfaces
Создать файл /etc/resolv.conf и добавить строки:
/etc/resolv.conf
sudo service networking restart
ip a
ping dc.dev.local
sudo ntpdate dc.dev.local
Установка требуемых пакетов
Проверить установлены ли samba, winbind, ntp, apache2 и postgresql:
sudo dpkg -l samba winbind ntp apache2 postgresql
Установить дополнительные пакеты (потребуется диск с дистрибутивом):
Настройка конфигурационных файлов
Редактируем файл /etc/krb5.conf и добавляем недостающую информацию в соответствующие разделы:
Редактируем файл /etc/samba/smb.conf. Если каких-то параметров нет, то добавляем:
Внимание! Если в дальнейшем будет изменятся конфигурационный файл samba, обязательно требуется очистка /var/cache/samba/* и /var/lib/samba/*
Проверим нет ли ошибок в конфигурации samba, выполнив команду:
Редактируем файл /etc/security/limits.conf. Добавляем в конец:
/etc/security/limits.conf
Редактируем файл /etc/pam.d/common-session. Добавляем в конец:
sudo net ads join -U Administrator
sudo net ads keytab list
Настройка Apache и Postgresql на работу с Kerberos
Редактируем файл /etc/apache2/sites-available/default. Настраиваем директорию на использование Kerberos:
Принципал, задаваемый параметром KrbServiceName, должен быть в файле таблицы ключей /etc/krb5.keytab. Проверить можно командой:
Редактируем файл /etc/postgresql/9.4/main/pg_hba.conf:
Назначим права для пользователя postgres, от имени которого работает Postgresql, для доступа к macdb и к файлу таблицы ключей:
sudo service postgresql restart
Добавление принтера через web интерфейс CUPS
Для удаленного использования сервера печати необходимо от имени администратора через механизм sudo выполнить следующие команды:
и вставить следующую строку:
Значение параметра DefaultAuthType должно быть Basic.
Перезапустить сервис печати CUPS командой:
sudo service cups status
Для дальнейшей настройки открыть браузер и ввести адрес:
Нажать кнопку «Добавить принтер», на запрос авторизации ввести имя и пароль пользователя, входящего в группу lpadmin.
Далее будет представлен список устройств для выбора. Фактическое имя принтера отображается рядом с меткой ( например, USB-принтеры напротив USB Printer #1). Принтеру можно присваивать любое имя, аналогично для пунктов ‘Расположение’ и ‘Описание’. После выбора соответствующего драйвера настройки будут окончены.
Убедитесь в правильности настроек, нажав на кнопку Print Test Page (Печать тестовой страницы) в выпадающем меню Maintenance (Обслуживание). Если принтер не печатает, но вы уверены в правильности всех настроек, попытайтесь сменить драйвер принтера на другой.
Настройка авторизации
Если не настроена авторизация через Kerberos, по умолчанию для всех ресурсов будет использоваться авторизация через , при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации . Для корректного функционирования авторизации через пользователю, от которого работает web-сервер (по умолчанию — ), необходимо выдать права на чтение информации из БД пользователей и сведений о метках безопасности. Например, добавить права на чтение файла
и права на чтение каталога :
Вариант простейшей настройки «Кеширующий сервер DNS»
Если у вас уже есть настроенный и доступный DNS-сервер (собственный, или сервер провайдера), создание в локальной сети кеширующего DNS-сервера позволит без особых затрат ускорить работу с Интернет за счет ускорения разрешения имен по запросам различных сетевых служб и/или пользовательскими программами.
Для примера предположим, что у нас есть:
сервер DNS с адресом 192.168.32.211
Для создания кеширующего dns-сервера
раскомментируем в файле конфигурации /etc/bind/named.conf.options строки
- указываем адреса используемых DNS-серверов, которым нужно передавать запросы (для примера взяты адреса DNS-серверов Google)
- и, в этом примере, отключаем авторизацию dnssec (использование dnssec будет рассмотрено позже)
Можно , но не обязательно, ещё добавить список интерфейсов компьютера, через сервис DNS должен принимать запросы:
- сохраняем файл конфигурации
- проверяем правильность конфигурации командой (если команда не выдаёт никаких сообщений — значит ошибок нет)
и перезапускаем сервис
sudo systemctl restart bind9
Настройка пользовательских компьютеров
На пользовательском компьютере использовать команду:
В файле /etc/nsswitch.conf добавить слово winbind параметры password и group:
Чтобы пользователи AD после аутентификации могли менять свой пароль из командной строкив файле /etc/pam.d/common-password из строки убрать слово
Предупреждение: Использование контроллера домена как файлового сервера
Несмотря на то, что Samba в режиме AD DC может предоставлять услуги разделения файлов так же, как и в любом другом режиме применения, разработчкики Samba не рекомендуют использовать DC как файловый север по следующим причинам:
- Для всех организаций, за исключением самых маленьких, наличие более, чем одного DC, является реально хорошим способом резервирования, повышающим безопасность обновлений;
- Отсутствие сложных данных и влияния на другие сервисы позволяет обновлять DC совместно с ОС хоста каждые год или два;
- Обновления могут выполняться путем установки новых версий, или внесения изменений, которые лучше проверены в Samba, что позволяет получить новые возможности, избежав множества рисков, связанных с повреждением данных;
- Необходимость модернизации DC и файлового сервера наступает в разные моменты. Потребность в новых возможностях DC и файлового сервера возникает в разные моментв времени. В то время, как AD DC стремительно развивается, приобретая новые возможности, файловый сервер, после более 20 лет, гораздо более консервативен;
- mandatory smb signing is enforced on the DC.
Если вы изучаете возможность использовать Samba DC как файловый сервер, рассмотрите вместо этого возможность использовать на DC виртуальную машину VM, содержащую отдельного участника домена.
Если вы вынуждены использовать Samba DC как файловый сервер, помните, что виртуальная файловая система (virtual file system, VFS) позволяет настраивать разделяемые ресурсы только со списками управления доступом access (control lists, ACL) Windows.Разделяемые ресурсы с ACL POSIX на Samba DC не поддерживаются, и не работают.
Для предоставления сетевх разделяемых ресурсов с полными возможностями Samba, используйте отдельного участника домена Samba.
Выпуск сертификата для пользователя
Необходимо установить переменные окружения:
и выпустить сертификат на пользователя:
Далее перекодируйте полученный сертификат из формата PEM в формат DER.
Запишите полученный сертификат на токен:
Настройка клиента. Проверка работоспособности
Создайте на клиенте каталог/etc/krb5/. Скопируйте в/etc/krb5/сертификат CA(cacert.pem)c сервера.
Настройте kerberos в /etc/krb5.conf. Секцию дополните следующими строками:
Когда появится строка запроса PIN-кода к карте, введите его.
Для проверки того, что kerberos-тикет был успешно получен для пользователя, введите команду klist.
Для удаления тикета — kdestroy.

Вход выполняется с подключенным токеном к компьютеру. При графическом входе в поле Login вводится имя пользователя, в поле Password вводится . При консольном входе все аналогично, только в момент ввода пароля будет сообщено, что требуется .
Инструмент командной строки nmcli для работы с NetworkManager
В составе пакета имеется инструмент командной строки nmcli для работы с NetworkManager.
Инструмент может работать с устройствами (devices, dev) или с соединениями (connection, con).
Примеры применения командного интерфейса к устройствам:
# устанавливаем IP-адрес для устройства eth0nmcli device modify eth0 ipv4.address 192.168.32.97/24
# устанавливаем адрес шлюза для устройства eth0nmcli device modify eth0 ipv4.gateway 192.168.32.1
# устанавливаем адрес шлюза для устройства eth0nmcli device modify eth0 ipv4.dns 192.168.32.1
# проверяем настройки устройства eth0nmcli device show eth0
# Имя соединения, и устанавливаемые начальные параметры: адрес/маска (ip), адрес шлюза (gw), адреса DNS (dns, можно несколько адресов через пробел), шлюз для статического маршрута (gwroute)con=»Проводное соединение 1″ip=»10.0.2.254/24″gw=»10.0.2.1″dns=»10.0.2.254 8.8.8.8″gwroute=»10.0.2.2″# Проверяем наличие соединенияif nmcli con show «$con» > /dev/null ; then echo «Настраиваем «$con» на работу со статическим адресом $ip gw $gw.»
# Отключаем содинение nmcli con down «$con»
# Задаем адрес и адрес шлюза nmcli con mod «$con» ip4 $ip gw4 $gw
# Задаем адреса DNS nmcli con mod «$con» ipv4.dns «$dns 8.8.8.8»
# Добавим статический маршрут nmcli con mod «$con» +ipv4.routes «192.168.1.0/24 $gwroute»
# Отключаем DHCP, переводим в «ручной» режим настройки nmcli con mod «$con» ipv4.method manual echo «Применены следующие настройки:» nmcli -p con show «$con» | grep ipv4
# Подключаем соединение с применением новых настроек nmcli con up «$con»
else echo «Соединение «$con» не найдено, настройте адрес вручную.» exit 1fi
man nmcliman nmcli-examplesman nm-online
Для того, чтобы NetworkManager прочитал изменения конфигурации (в том числе изменения списка интерфейсов, перечисленных в файле /etc/network/interfaces), следует перезапустить службу NetworkManager:
sudo systemctl restart NetworkManager
Для того, чтобы изменения настроек сетевого адаптера, сделанные через графический интерфейс, вступили в силу, следует перезапустить сетевой адаптер (на примере адаптера eth0):
сначала выключить адаптер:
sudo ifconfig eth0 down
И повторно включить адаптер:
sudo ifconfig eth0 up
Networking: Настройка сети из командной строки
Теоретически, службы NetworkManager и networking конфликтовать не должны, так как первая не работает с сетевыми интерфейсами, перечисленными в файле /etc/network/interfaces, а вторая — работает только с интерфейсами, перечисленными в этом файле, нопри переходе к использованию networking лучше отключить NetworkManager, для чего выполнить команду:
sudo systemctl —now mask NetworkManager
- Для систем, работающих в статичной сети (например, для серверов), следует сохранять как можно более простую конфигурацию ;
- Для систем, работающих с динамически меняющимися сетями и IP-адресами (например, для мобильных компьютеров) рекомендуется дополнительно использовать для настройки пакет resolvconf, упрощающий переключение конфигураций при смене сетевого адреса.
Пакет ifupdown содержит три команды: команды ifup и ifdown, обеспечивающие настройки сетевых интерфейсов в соответствии с конфигурационным файлом /etc/network/interfaces, и команда ifquery, проверяющая корректность конфигурационного файла /etc/network/interfaces. При этом список включенных в данный момент интерфейсов хранится в файле /run/network/ifstate
Сценарий изменения настройки сетевого интерфейса (на примере интерфейса eth0):
Остановить сетевой интерфейс командой
Внести изменения в файл /etc/network/interfaces в секцию, относящуюся к интерфейсу eth0.
Проверить корректность файла:
Повторно запустить интерфейс командой:
Допускается вносить изменения в файл /etc/network/interfaces заранее, после чего перезапускать интерфейс одной командой:
sudo ifdown eth0; sudo ifup eth0
Типичной ошибкой при использовании команд ifdown/ifup является повторное назначение параметров интерфейса неотключенным и некорректно работающим сервисом NetworkManager,что выглядит как игнорирование изменений, внесённых в файл /etc/network/interfaces.Для проверки полного состояния сетевого интерфейса вместо устаревшей команды ifconfig следует использовать современную команду ip из пакета iproute2:
проверить все сетевые адреса, назначенные сетевому интерфейсу:
очистить все сетевые адреса, назначенные сетевому интерфейсу:
Разрешение имён для клиентских машин
После выполнения указанных выше настроек DNS сервер не может получать и, соответственно, выдавать информацию об именах и IP-адресах клиентских машин.
Если в домене используются клиентские машины, получающие динамические IP-адреса от сервера DHCP, сервер DNS может быть настроен на автоматическое получение информации о выданных адресах. Примерный порядок настройки см. в статье Динамическое обновление DNS FreeIPA;
Если в домене используются клиентские машины, которым присваиваются статические адреса, то:
- Можно использовать для присвоения этих статических адресов сервер DHCP с динамическим обновлением адресов;
Система печати через Kerberos (ALD)
Для выполнения действий по управлению принтерами и очередями печати необходимо создать в ALD учетную запись группы администраторов печати:
ald-admin group-add print_admins
ALD
- lpmac_ald (только для версии ОССН Смоленск 1.6+ при использовании в домене ALD);
- lpmac (для всех остальных версий ОССН)
sudo ald-admin group-add lpmac_ald
sudo ald-admin group-add lpmac
- lpmac_ald (только для версии ОССН Смоленск 1.6+ при использовании в домене ALD);
- lpmac (для всех остальных версий ОССН)
sudo ald-admin group-mod lpmac_ald —add-users —user=ald_print_admin
sudo ald-admin group-mod lpmac —add-users —user=ald_print_admin
ALDALDALDsudo ald-admin service-add ipp/server.my_domain
mac
Kerberosald-client
sudo
Далее выполнить вход на сервере печати от имени учетной записи, входящей в группу ALD print_admins, и настроить принтеры (установить политику parsec и назначить максимальные допустимые уровни заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку).На клиентских машинах должны быть созданы файлы /etc/cups/client.conf. В файле конфигурации клиента client.conf должен быть задан один параметр ServerName, определяющий имя сервера печати, например:
Взаимодействие по протоколу RDP и vino
Установка и настройка пакетов
На компьютере Astra Linux eстановить пакеты vino и xrdp:
В файле /etc/xrdp/xrdp.ini в настройках протокола Xvnc изменить порт 5910 на 5900 и перезапустить xrdp:
sudo systemctl restart xrdp
Нужно запустить (из под учетной записи пользователя) vnc-сервер командой:
Настройка пароля для vnc-сервера.
Для того, чтобы vnc-сервер запрашивал пароль при подключении клиентской машины, на сервере необходимо установить пакет
sudo apt install libglib2.0-bin
passwordgsettings set org.gnome.Vino authentication-methods «»gsettings set org.gnome.Vino vnc-password «$(echo -n «password» | base64)»
Для подключения пользовательской машины к серверу необходимо воспользоваться стандартным rdp клиентом, указав ip-адрес сервера:

При подключении к серверу, в меню приглашения выбрать пункт vnc-any, указать ip-адрес сервера, и пароль к сессии:

Подготовка к инсталляции
-
Выберите имя хоста для вашего AD DC. Не рекомендуется использовать в качестве имен хостов такие идентификаторы, как PDC или BDC, унаследованные от NT4 . Эти сущности отсутствуют в AD, и такие названия вызывают путаницу;
Выберите DNS-имя для вашего доменного леса AD. Это имя также будет использовано как имя области (realm) Kerberos AD ;
Назначьте хосту полное доменное имя (FQDN), например dc2.samdom.example.com:
Отключите инструменты (например, resolvconf), которые автоматически обновляют файл настроек DNS /etc/resolv.conf.AD DC и члены домена обязаны использовать сервер DNS, способный разрешать зоны DNS AD . Если в сети нет других серверов DNS, то файл /etc/resolv.conf должен указывать адрес самого сервера:
Убедитесь, что файл /etc/hosts на DC корректно разрешает полное доменное имя (fully-qualified domain name, FQDN) и короткое имя хоста DC во внешний сетевой IP-адрес DC. Например:
Имя хоста не должно разрешаться в IP-адрес 127.0.0.1 или в любой другой IP-адрес, кроме используемого на внешнем сетевом интерфейсе DC.Для проверки правильности настроек можно использовать команду:
Kerberos
При работе в домене AD, Kerberos используется для аутентификации пользователей, хостов, и сервисов.
Во время процедуры назначения Samba автоматическм создает конфигурационный файл /var/lib/samba/private/krb5.conf для клиентов Kerberos, настроенный на создаваемый DC. Это файл должен быть скопирован в рабочую конфигурацию Kerberos на всех хостах, входящих в домен. На контроллере домена это можно сделать командой:
sudo cp -b /var/lib/samba/private/krb5.conf /etc/krb5.conf
В автоматически создаваемом файле конфигурации Kerberos для поиска доменного контроллера Kerberos (KDC) используются сервисные записи (SRV). Для того, чтобы такая конфигурация работала корректно, в домене должна быть правильно настроена и работать служба DNS.
Тестирование файлового сервера
Во время назначения автоматически создаются разделяемые ресурсы netlogon и sysvol, и они обязательно должны существовать в DC. Чтобы увидеть все разделяемые файловые ресурсы, предоставляемые DC:
smbclient -L localhost -U%
Нажмите, чтобы развернуть
Domain= OS= Server=
Sharename Type Comment——— —- ——-netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba x.y.z)Domain= OS= Server=
Для проверки работы аутентификации, подключитесь к ресурсу netlogon с использованием учётной записи администратора домена:
smbclient //localhost/netlogon -UAdministrator -c ‘ls’
Enter Administrator’s password: Domain= OS= Server=. D 0 Tue Nov 1 08:40:00 2016.. D 0 Tue Nov 1 08:40:00 2016
49386 blocks of size 524288. 42093 blocks available
Инструменты командной строки
Для управления Samba AD DC в состав пакета Samba входит инструмент командной строки samba-tool.
Как интегрировать Linux-машину в среду домена Windows AD (Active Directory)
В этой статье будет описан процесс добавления Linux-машины (Ubuntu 20.04) в домен Windows AD.
Шаг 1. Установка пакетов и подготовка
Сначала обновите пакеты.
sudo apt updatesudo apt upgrade
После этого установите требуемые пакеты.
sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Далее мы настроим все инструменты. Вам требуется знать:
- Домен: office.local
- IP DNS-сервера: 192.168.0.1
- IP второго DNS-сервера: 192.168.0.2
Шаг 2. Настройка DNS
Откройте конфигурационный файл netplan:
sudo nano /etc/netplan/*.yaml
Если вы видите там «dhcp4: true», то есть ваш DHCP-сервер настроен корректно, переходите к следующему шагу. Если вы настраиваете параметры сетевого подключения вручную, ознакомьтесь с примером настройки:
network:ethernets:enp0s3:addresses:- 192.168.0.15/24gateway4: 192.168.0.10nameservers:addresses: [192.168.0.1, 192.168.0.2]search:- office.localoptional: trueversion: 2
- addresses — это IP, назначаемый сетевой карте;
- gateway4 — IP роутера;
- nameservers — DNS-сервера;
- search — целевой домен.
sudo netplan apply
Шаг 3. Обнаружение домена, присоединение к нему и проверка результата.
В первую очередь требуется обнаружить домен:
realm discover office.local
Вы увидите что-то подобное. Это означает, что настройки сети верны и машина получила ответ от домена. Если нет, вам необходимо проверить настройки сети, домен и работоспособность DNS.
office.localtype: kerberosrealm-name: OFFICE.LOCALdomain-name: office.localconfigured: no.
Затем присоединитесь к домену AD. Замените admin1 на имя администратора и укажите пароль.
realm join -U admin1 office.localPassword for admin1:
Проверьте, возможен ли прием информации о пользователе AD. Замените user1 на имя пользователя вашего домена.
id user1@office.localuid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Шаг 4. Последние настройки и авторизация.
Необходимо произвести настройку, чтобы в будущем каждый раз не добавлять имя домена к имени пользователя.
sudo nano /etc/sssd/sssd.conf
Измените значение use_fully_qualified_names на False. Перезагрузите и проверьте:
sudo systemctl restart sssdid useruid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Теперь нужно настроить создание домашних каталогов для пользователей AD при входе в систему.
sudo nano /etc/pam.d/common-session#add this line in the end of filesession optional pam_mkhomedir.so skel=/etc/skel umask=077
Войдите в систему как пользователь AD.
su – userPassword:Creating directory ‘/home/user1@office.local’.user1@ubuntu-server:
Это означает, что вы успешно вошли в систему как пользователь AD.
Также вы можете разрешить авторизацию для некоторых пользователей и групп AD или же ограничить других. В приведенном ниже примере настроен запрет для всех пользователей, кроме user0, user1 и группы Main Admins.
sudo realm deny –allsudo realm permit user0@office.local user1@office.localsudo realm permit -g ‘Main Admins’
Настройка пользователей AD для получения root-прав такая же, как и для локальных, но выполняется в другом файле.