Настройка управляемых АРМ
Для функционирования управляемых АРМ в дистрибутиве ОС должен быть сконфигурирован клиент службы каталогов Dynamic Directory (dd-client).
Настройка управляемых АРМ производится в зависимости от используемой ОС.
По результатам настройки клиентские ПК должны быть установлены и настроены следующим образом:
- АРМ введён в домен под управлением службы каталогов Dynamic Directory, настроенной согласно п. Установка Dynamic Directory настоящего Руководства;
- АРМ управляется сервером Puppet, настроенным согласно п. Установка сервера Puppet настоящего Руководства.
Обновление пакетов
Для обновления пакетной базы после подключения репозитория Dynamic Directory и обновления кэша метаданных нужно выполнить команду:
dnf -y update
Настройка управляемых АРМ c использованием клиента
Для настройки управляемого АРМ необходимо произвести установку пакета dd-client для соответствующей ОС и выполнить скрипт конфигурации dd-client-install.
Следует обратить внимание, что перед настройкой управляемых АРМ на ОС Astra Linux необходимо включить сетевой репозиторий и отключить DVD-репозиторий.
Установка пакета dd-client из подключенного репозитория для ОС Astra Linux выполняется командой:
sudo apt install dd-client
Установка пакета dd-client из подключенного репозитория для РЕД ОС, РОСА "Хром" и ROSA Fresh выполняется командой:
sudo dnf install dd-client
Для установки и конфигурирования клиента необходимо выполнить команду dd-client-install от имени привилегированного пользователя:
dd-client-install
Далее нужно следовать инструкциям установщика, вводя данные на запросы или нажимая клавишу Enter по умолчанию:
Введите имя домена:rosa.dev
Подготовка АРМ к вводу в домен rosa.dev
Введите имя АРМ в формате FQDN (dev-main.rosa.dev):
Введите имя пользователя с правами на ввод АРМ в домен (admin):
Введите пароль (не менее 8 символов):
Введите пароль (не менее 8 символов) ещё раз:
ПАРАМЕТРЫ ПОДКЮЧЕНИЯ К ДОМЕНУ:
ИМЯ ДОМЕНА: rosa.dev
ИМЯ АРМ: dev-main.rosa.dev
Пользователь для ввода в домен: admin
Подтвердить заданные опции и выполнить ввод в домен? [y/n]: y
y
This program will set up FreeIPA client.
Version 4.8.10
Discovery was successful!
Client hostname: dev-main.rosa.dev
Realm: ROSA.DEV
DNS Domain: rosa.dev
IPA Server: dc1-main.rosa.dev
BaseDN: dc=rosa,dc=dev
Synchronizing time
No SRV records of NTP servers found and no NTP server or pool address was provided.
Using default chrony configuration.
Attempting to sync time with chronyc.
Time synchronization was successful.
Successfully retrieved CA cert
Subject: CN=Certificate Authority,O=ALL-DEMO.ROSA
Issuer: CN=Certificate Authority,O=ALL-DEMO.ROSA
Valid From: 2024-04-22 21:15:24
Valid Until: 2044-04-22 21:15:24
Enrolled in IPA realm ALL-DEMO.ROSA
Created /etc/ipa/default.conf
Configured sudoers in /etc/authselect/user-nsswitch.conf
Configured /etc/sssd/sssd.conf
Configured /etc/krb5.conf for IPA realm ALL-DEMO.ROSA
Systemwide CA database updated.
Extra A/AAAA record(s) for host dev-main.rosa.dev: fe80::b85d:f070:a27c:b6cb.
Incorrect reverse record(s):
10.125.22.200 is pointing to dev-main. instead of dev-main.rosa.dev.
10.125.22.200 is pointing to dev-main.local. instead of dev-main.rosa.dev.
Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
SSSD enabled
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config.d/04-ipa.conf
Configuring rosa.dev as NIS domain.
Client configuration complete.
The ipa-client-install command was successful
На этом ввод клиента в домен завершен.
При настроенном сервере РОСА Центр управления или Puppet/Saltstack можно также выполнить подключение АРМ к серверу управления, для чего необходимо подтвердить подключение к серверу управления, введя "y" и следуя дальнейшим инструкциям:
Примечание – При настройке так же будет загружен клиент Puppet или Saltstack (должны быть доступны соответствующие репозитории ОС).
Вы хотите настроить подключение к серверу управления сейчас [y/n]: y
y
Введите тип сервера управления puppet|saltstack: puppet
Введите fqdn сервера управления puppet: cc.rosa.dev
read_config_server
Connection to cc.rosa.dev (10.125.22.12) 8140 port [tcp/puppet] succeeded!
АРМ будет настроен на использование сервера конфигурации puppet: cc.rosa.dev
ROSA 2021.1 - x86_64 - Contrib 69 kB/s | 3.4 kB 00:00
ROSA 2021.1 - x86_64 - Main 68 kB/s | 3.4 kB 00:00
ROSA 2021.1 - x86_64 - Non-free 68 kB/s | 3.3 kB 00:00
ROSA 2021.1 - i686 - Contrib 70 kB/s | 3.4 kB 00:00
ROSA 2021.1 - i686 - Main 68 kB/s | 3.4 kB 00:00
ROSA 2021.1 - i686 - Non-free 67 kB/s | 3.3 kB 00:00
Создан кэш метаданных.
Зависимости разрешены.
==============================================================================================================
Пакет Архитектура Версия Репозиторий Размер
==============================================================================================================
Установка:
puppet noarch 7.25.0-1 mirror-rosa-x86_64-main 1.3 M
Установка зависимостей:
facter noarch 4.4.0-1 mirror-rosa-x86_64-main 279 k
hiera noarch 3.6.0-3 mirror-rosa-x86_64-main 31 k
lib64ruby2.7 x86_64 2.7.8-9 mirror-rosa-x86_64-main 2.8 M
ruby x86_64 2.7.8-9 mirror-rosa-x86_64-main 35 k
rubygem-concurrent-ruby noarch 1.1.5-3 mirror-rosa-x86_64-main 242 k
rubygem-deep_merge noarch 1.2.1-6 mirror-rosa-x86_64-main 12 k
rubygem-hocon noarch 1.3.1-1 mirror-rosa-x86_64-main 88 k
rubygem-irb noarch 1.2.6-9 mirror-rosa-x86_64-main 63 k
rubygem-json x86_64 2.6.3-1 mirror-rosa-x86_64-contrib 177 k
rubygem-openssl x86_64 2.1.4-9 mirror-rosa-x86_64-main 140 k
rubygem-psych x86_64 3.1.0-9 mirror-rosa-x86_64-main 44 k
rubygem-semantic_puppet noarch 1.0.2-1 mirror-rosa-x86_64-main 20 k
rubygem-thor noarch 1.0.1-1 mirror-rosa-x86_64-main 58 k
rubygems noarch 3.1.6-9 mirror-rosa-x86_64-main 234 k
Установка слабых зависимостей:
ruby-default-gems noarch 2.7.8-9 mirror-rosa-x86_64-main 23 k
rubygem-bigdecimal x86_64 2.0.0-9 mirror-rosa-x86_64-main 47 k
rubygem-bundler noarch 2.3.26-1 mirror-rosa-x86_64-main 380 k
rubygem-io-console x86_64 0.5.6-9 mirror-rosa-x86_64-main 20 k
rubygem-rdoc noarch 6.2.1.1-9 mirror-rosa-x86_64-main 374 k
Результат транзакции
==============================================================================================================
Установка 20 Пакетов
Объем загрузки: 6.4 M
Объем изменений: 26 M
Загрузка пакетов:
(1/20): hiera-3.6.0-3-rosa2021.1.noarch.rpm 245 kB/s | 31 kB 00:00
(2/20): rubygem-json-2.6.3-1-rosa2021.1.x86_64.rpm 720 kB/s | 177 kB 00:00
(3/20): facter-4.4.0-1-rosa2021.1.noarch.rpm 805 kB/s | 279 kB 00:00
(4/20): ruby-2.7.8-9-rosa2021.1.x86_64.rpm 1.3 MB/s | 35 kB 00:00
(5/20): ruby-default-gems-2.7.8-9-rosa2021.1.noarch.rpm 874 kB/s | 23 kB 00:00
(6/20): rubygem-bigdecimal-2.0.0-9-rosa2021.1.x86_64.rpm 1.8 MB/s | 47 kB 00:00
(7/20): rubygem-bundler-2.3.26-1-rosa2021.1.noarch.rpm 2.7 MB/s | 380 kB 00:00
(8/20): puppet-7.25.0-1-rosa2021.1.noarch.rpm 3.4 MB/s | 1.3 MB 00:00
(9/20): rubygem-concurrent-ruby-1.1.5-3-rosa2021.1.noarch.rpm 2.8 MB/s | 242 kB 00:00
(10/20): rubygem-deep_merge-1.2.1-6-rosa2021.1.noarch.rpm 494 kB/s | 12 kB 00:00
(11/20): rubygem-hocon-1.3.1-1-rosa2021.1.noarch.rpm 2.9 MB/s | 88 kB 00:00
(12/20): rubygem-io-console-0.5.6-9-rosa2021.1.x86_64.rpm 755 kB/s | 20 kB 00:00
(13/20): rubygem-irb-1.2.6-9-rosa2021.1.noarch.rpm 2.3 MB/s | 63 kB 00:00
(14/20): rubygem-openssl-2.1.4-9-rosa2021.1.x86_64.rpm 5.1 MB/s | 140 kB 00:00
(15/20): rubygem-psych-3.1.0-9-rosa2021.1.x86_64.rpm 1.6 MB/s | 44 kB 00:00
(16/20): rubygem-semantic_puppet-1.0.2-1-rosa2021.1.noarch.rpm 767 kB/s | 20 kB 00:00
(17/20): rubygem-thor-1.0.1-1-rosa2021.1.noarch.rpm 2.1 MB/s | 58 kB 00:00
(18/20): rubygem-rdoc-6.2.1.1-9-rosa2021.1.noarch.rpm 4.8 MB/s | 374 kB 00:00
(19/20): rubygems-3.1.6-9-rosa2021.1.noarch.rpm 2.7 MB/s | 234 kB 00:00
(20/20): lib64ruby2.7-2.7.8-9-rosa2021.1.x86_64.rpm 3.4 MB/s | 2.8 MB 00:00
--------------------------------------------------------------------------------------------------------------
Общий размер 6.7 MB/s | 6.4 MB 00:00
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно.
Выполнение транзакции
Подготовка : 1/1
Установка : lib64ruby2.7-2.7.8-9.x86_64 1/20
Установка : ruby-default-gems-2.7.8-9.noarch 2/20
Установка : rubygem-bigdecimal-2.0.0-9.x86_64 3/20
Установка : rubygem-io-console-0.5.6-9.x86_64 4/20
Установка : rubygem-bundler-2.3.26-1.noarch 5/20
Установка : rubygem-irb-1.2.6-9.noarch 6/20
Установка : ruby-2.7.8-9.x86_64 7/20
Установка : rubygem-openssl-2.1.4-9.x86_64 8/20
Установка : rubygem-psych-3.1.0-9.x86_64 9/20
Установка : rubygems-3.1.6-9.noarch 10/20
Установка : rubygem-json-2.6.3-1.x86_64 11/20
Установка : rubygem-rdoc-6.2.1.1-9.noarch 12/20
Установка : rubygem-concurrent-ruby-1.1.5-3.noarch 13/20
Установка : rubygem-deep_merge-1.2.1-6.noarch 14/20
Установка : rubygem-hocon-1.3.1-1.noarch 15/20
Установка : rubygem-semantic_puppet-1.0.2-1.noarch 16/20
Установка : rubygem-thor-1.0.1-1.noarch 17/20
Установка : facter-4.4.0-1.noarch 18/20
Установка : hiera-3.6.0-3.noarch 19/20
Запуск скриптлета: puppet-7.25.0-1.noarch 20/20
Установка : puppet-7.25.0-1.noarch 20/20
Запуск скриптлета: puppet-7.25.0-1.noarch 20/20
Failed to open 'puppet': No such file or directory
Cannot set file attributes for '/var/log/journal', maybe due to incompatibility in specified attributes, previous=0x00080000, current=0x00080000, expected=0x00880000, ignoring.
Cannot set file attributes for '/var/log/journal/6570b00422d3482496625e15ba107cf2', maybe due to incompatibility in specified attributes, previous=0x00080000, current=0x00080000, expected=0x00880000, ignoring.
Проверка : rubygem-json-2.6.3-1.x86_64 1/20
Проверка : facter-4.4.0-1.noarch 2/20
Проверка : hiera-3.6.0-3.noarch 3/20
Проверка : lib64ruby2.7-2.7.8-9.x86_64 4/20
Проверка : puppet-7.25.0-1.noarch 5/20
Проверка : ruby-2.7.8-9.x86_64 6/20
Проверка : ruby-default-gems-2.7.8-9.noarch 7/20
Проверка : rubygem-bigdecimal-2.0.0-9.x86_64 8/20
Проверка : rubygem-bundler-2.3.26-1.noarch 9/20
Проверка : rubygem-concurrent-ruby-1.1.5-3.noarch 10/20
Проверка : rubygem-deep_merge-1.2.1-6.noarch 11/20
Проверка : rubygem-hocon-1.3.1-1.noarch 12/20
Проверка : rubygem-io-console-0.5.6-9.x86_64 13/20
Проверка : rubygem-irb-1.2.6-9.noarch 14/20
Проверка : rubygem-openssl-2.1.4-9.x86_64 15/20
Проверка : rubygem-psych-3.1.0-9.x86_64 16/20
Проверка : rubygem-rdoc-6.2.1.1-9.noarch 17/20
Проверка : rubygem-semantic_puppet-1.0.2-1.noarch 18/20
Проверка : rubygem-thor-1.0.1-1.noarch 19/20
Проверка : rubygems-3.1.6-9.noarch 20/20
Установлен:
facter-4.4.0-1.noarch hiera-3.6.0-3.noarch lib64ruby2.7-2.7.8-9.x86_64
puppet-7.25.0-1.noarch ruby-2.7.8-9.x86_64 ruby-default-gems-2.7.8-9.noarch
rubygem-bigdecimal-2.0.0-9.x86_64 rubygem-bundler-2.3.26-1.noarch rubygem-concurrent-ruby-1.1.5-3.noarch
rubygem-deep_merge-1.2.1-6.noarch rubygem-hocon-1.3.1-1.noarch rubygem-io-console-0.5.6-9.x86_64
rubygem-irb-1.2.6-9.noarch rubygem-json-2.6.3-1.x86_64 rubygem-openssl-2.1.4-9.x86_64
rubygem-psych-3.1.0-9.x86_64 rubygem-rdoc-6.2.1.1-9.noarch rubygem-semantic_puppet-1.0.2-1.noarch
rubygem-thor-1.0.1-1.noarch rubygems-3.1.6-9.noarch
Выполнено!
На этом подключение к серверу управления завершено.
Настройка управляемых АРМ вручную для Astra Linux
Для установки агента нужно выполнить на клиентском ПК следующие команды (при этом будет установлен агент и сервер SSH для удалённого управления агентом):
sudo apt update
sudo apt install puppet-agent astra-freeipa-client
Далее следует задать имя АРМ в формате FQDN:
hostnamectl set-hostname ${hostname}.${domain.name}
где:
- ${hostname} – имя АРМ в нижнем регистре;
- ${domain.name} – имя домена в нижнем регистре.
Затем необходимо ввести АРМ в домен, выполнив команду:
astra-freeipa-client -d ${domain.name} -p ${password}
где:
- ${domain.name} – имя домена в нижнем регистре;
- ${password} – пароль пользователя admin.
Если необходимо выполнить ввод в домен от имени другого пользователя, имеющего на это права, можно задать имя пользователя, используя опцию "-u ${username}" (более подробную информацию можно получить из вывода на экран команды "astra-freeipa-client -h").
После ввода в домен следует отредактировать файл /etc/sssd/sssd.conf, добавив в секцию [domain/${domain.name} строки:
ldap_search_base = cn=accounts,${base_dn}???cn=ou,cn=dynamicdirectory, ${base_dn}??
ldap_user_search_base = cn=users,cn=accounts,${base_dn}cn=ou,cn=dynamicdirectory,${base_dn}??
ldap_group_search_base = cn=groups,cn=accounts,${base_dn}???cn=ou,cn=dynamicdirectory,${base_dn}??
${base_dn} можно посмотреть в файле /etc/ipa/default.conf:
cat /etc/ipa/default.conf
Отредактировать файл /etc/sssd/sssd.conf можно, используя редактор nano:
nano /etc/sssd/sssd.conf
Например, для domain/rosa.dev добавляемые строки будут выглядеть так:
ldap_search_base = cn=accounts,dc=rosa,dc=dev???cn=ou,cn=dynamicdirectory,dc=rosa,dc=dev??
ldap_user_search_base = cn=users,cn=accounts,dc=rosa,dc=dev???cn=ou,cn=dynamicdirectory,dc=rosa,dc=dev??
ldap_group_search_base = cn=groups,cn=accounts,dc=rosa,dc=dev???cn=ou,cn=dynamicdirectory,dc=rosa,dc=dev??
После изменения конфигурационного файла /etc/sssd/sssd.conf необходимо перезапустить сервис SSSD, выполнив команду:
systemctl restart sssd.service
Далее необходимо отредактировать файл /etc/puppetlabs/puppet/puppet.conf, добавив параметры:
[agent]
ca_server = config.rosa.dev
server = config.rosa.dev
certname = user01.rosa.dev
runinterval = 90m
Для соединения агент использует IP-порт 8140. Если включен межсетевой экран, то нужно разрешить коммуникации через этот порт, выполнив для сетевого экрана ufw-команду:
sudo ufw allow 8140
Затем необходимо добавить службу Puppet Agent в автозагрузку и запустить её командами:
sudo systemctl enable puppet
sudo systemctl start puppet
Настройка управляемых АРМ вручную для РЕД ОС и РОСА
Для установки агента надо выполнить на клиентском ПК следующие команды (при этом будет установлен агент и сервер SSH для удалённого управления агентом):
dnf update
dnf install puppet-agent ipa-client
Далее следует задать имя АРМ в формате FQDN:
hostnamectl set-hostname ${hostname}.${domain.name}
где:
- ${hostname} – имя АРМ в нижнем регистре;
- ${domain.name} – имя домена в нижнем регистре.
Затем нужно скорректировать файл constant.py командой:
sed -i 's|_a-z0-9|_a-z0-9\\-|' /usr/lib/python3.8/site-packages/ipalib/constants.py
После этого необходимо ввести АРМ в домен, выполнив команду:
ipa-client-install --hostname=`hostname -f` --domain=`hostname -d` --realm=`hostname -d | tr 'a-z' 'A-Z'` --server=ds01.rosa.dev --ntp-server=ds01.rosa.dev --mkhomedir -p admin -w password --force-ntpd
После ввода в домен следует отредактировать файл /etc/sssd/sssd.conf, добавив в секцию [domain/${domain.name} строки:
ldap_search_base = cn=accounts,${base_dn}???cn=ou,cn=dynamicdirectory, ${base_dn}??
ldap_user_search_base = cn=users,cn=accounts,${base_dn}???cn=ou,cn=dynamicdirectory, ${base_dn}??
ldap_group_search_base = cn=groups,cn=accounts,${base_dn}???cn=ou,cn=dynamicdirectory, ${base_dn}??
${base_dn} можно посмотреть в файле /etc/ipa/default.conf:
cat /etc/ipa/default.conf
Отредактировать файл /etc/sssd/sssd.conf можно, используя редактор nano:
nano /etc/sssd/sssd.conf
Например, для domain/rosa.dev добавляемые строки будут выглядеть так:
ldap_search_base = cn=accounts,dc=rosa,dc=dev???cn=ou,cn=dynamicdirectory,dc=rosa,dc=dev??
ldap_user_search_base = cn=users,cn=accounts,dc=rosa,dc=dev???cn=ou,cn=dynamicdirectory,dc=rosa,dc=dev??
ldap_group_search_base = cn=groups,cn=accounts,dc=rosa,dc=dev???cn=ou,cn=dynamicdirectory,dc=rosa,dc=dev??
После изменения конфигурационного файла /etc/sssd/sssd.conf необходимо перезапустить сервис SSSD, выполнив команду:
systemctl restart sssd.service
Далее необходимо отредактировать файл /etc/puppetlabs/puppet/puppet.conf, добавив параметры:
[agent]
ca_server = config.rosa.dev
server = config.rosa.dev
certname = user01.rosa.dev
runinterval = 90m
Для соединения агент использует IP-порт 8140. Если включен межсетевой экран, то надо разрешить коммуникации через этот порт, выполнив для сетевого экрана ufw-команду:
ufw allow 8140
Затем необходимо добавить службу Puppet Agent в автозагрузку и запустить её командой:
systemctl enable puppet --now
Перезагрузить ПК командой:
reboot