Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • Проверка имени хоста и DNS

    Предупреждение
    titleВажно!

    В случае сбоев при разрешении имени доменного имени сервера или DNS-записей проверьте и скорректируйте их настройки. Подробнее см. Настройка серверов для FreeIPA и Настройка сетевых подключений в Astra Linux.

    • Чтобы проверить корректную настройку полного доменного имени (FQDN) используется команда:

      Command

      hostname -f

      Ожидается, что hostname -f выдаст полное доменное имя сервера, например:

      Блок кода
      titleВывод
      ipasrv.testdomain.test
    • Для диагностики корректности записей DNS в составе пакета dnsutils предоставляется инструмент dig. Для выполнения диагностики:

      • Сделать прямой запрос (hostname → IP):

        Command

        dig +short A $(hostname -f)

        Раскрыть
        titleСправка
        Информация
        titleСправка

        Команда используется как инструмент для опроса DNS-серверов и получения ответов на DNS-запросы.
        В примерах используется со следующими параметрами:

        • +short
          выводит только ответ без заголовков и дополнительных сведений,

        • A
          указывает на запрос A-записи (IPv4),

        • -x
          сокращённый синтаксис для запроса PTR-записи, используемой в обратном разрешении имен,

        • $(hostname -f) 
          командная подстановка, возвращающая FQDN, соответствующий текущему хосту,

        • $(hostname -i) 
          командная подстановка, возвращающая IP-адрес, соответствующий текущему имени хоста.

        Ожидается, что команда вернет IPv4 адрес сервера, например:

        Блок кода
        titleВывод
        10.192.5.243
      • Сделать обратный PTR-запрос (IP → hostname):

        Command

        dig +short -x $(hostname -i)

        Раскрыть
        titleСправка
        Информация
        titleСправка

        Команда используется как инструмент для опроса DNS-серверов и получения ответов на DNS-запросы.
        В примерах используется со следующими параметрами:

        • +short
          выводит только ответ без заголовков и дополнительных сведений,

        • A
          указывает на запрос A-записи (IPv4),

        • -x
          сокращённый синтаксис для запроса PTR-записи, используемой в обратном разрешении имен,

        • $(hostname -f) 
          командная подстановка, возвращающая FQDN, соответствующий текущему хосту,

        • $(hostname -i) 
          командная подстановка, возвращающая IP-адрес, соответствующий текущему имени хоста,

        • $(hostname -d)
          командная подстановка, возвращающая домен, соответствующий текущему хосту.

        Ожидается, что команда вернёт полное доменное имя сервера с точкой на конце, например:

        Блок кода
        titleВывод
        ipasrv.testdomain.test.
      • Сделать SRV-запрос для службы LDAP , протокол по протоколу TCP:
        Command

        dig +short SRV _ldap._tcp.$(hostname -d)

        Раскрыть
        titleСправка
        Информация
        titleСправка

        Команда используется как инструмент для опроса DNS-серверов и получения ответов на DNS-запросы.
        В примерах используется со следующими параметрами:

        • +short
          выводит только ответ, без заголовков и дополнительных сведений,

        • A
          указывает на запрос A-записи (IPv4),

        • -x
          сокращённый синтаксис для запроса PTR-записи, используемой в обратном разрешении имен,

        • $(hostname -f) 
          командная подстановка, возвращающая FQDN, соответствующий текущему хосту,

        • $(hostname -i) 
          командная подстановка, возвращающая IP-адрес, соответствующий текущему имени хоста,

        • $(hostname -d)
          командная подстановка, возвращающая домен, соответствующий текущему хосту.
        Ожидается, что команда вернет блок ANSWER вида:
        Блок кода
        titleВывод
        10 100 389 ipasrv.testdomain.test.
        0 100 389 ipasrv.testdomain.test.
        0 100 389 ipacln.testdomain.test.
      • Сделать SRV-запрос запросы для Kerberos, протокол службы Kerberos по протоколам TCP и UDP:
        Command

        dig +short SRV _kerberos._udp.$(hostname -d)
        dig +short SRV _kerberos._tcp.$(hostname -d)

        Раскрыть
        titleСправка
        Информация
        titleСправка

        Команда используется как инструмент для опроса DNS-серверов и получения ответов на DNS-запросы.
        В примерах используется со следующими параметрами:

        • +short
          выводит только ответ, без заголовков и дополнительных сведений,

        • A
          указывает на запрос A-записи (IPv4),

        • -x
          сокращённый синтаксис для запроса PTR-записи, используемой в обратном разрешении имен,

        • $(hostname -f) 
          командная подстановка, возвращающая FQDN, соответствующий текущему хосту,

        • $(hostname -i) 
          командная подстановка, возвращающая IP-адрес, соответствующий текущему имени хоста,

        • $(hostname -d)
          командная подстановка, возвращающая домен, соответствующий текущему хосту.
        Ожидается, что команда вернет блок ANSWER вида:
      • Команда используется как инструмент для опроса DNS-серверов и получения ответов на DNS-запросы.
        В примерах используется со следующими параметрами:

      • +short
        выводит только ответ, без заголовков и дополнительных сведений,

      • A
        указывает на запрос A-записи (IPv4),

      • -x
        сокращённый синтаксис для запроса PTR-записи, используемой в обратном разрешении имен,

      • $(hostname -f) 
        командная подстановка, возвращающая FQDN, соответствующий текущему хосту,

      • $(hostname -i) 
        командная подстановка, возвращающая IP-адрес, соответствующий текущему имени хоста,

      • $(hostname -d)
        командная подстановка, возвращающая домен, соответствующий текущему хосту
        .
        Блок кода
        titleВывод
        0 100 88 ipasrv.testdomain.test.
        0 100 88 ipacln.testdomain.test.
        Command

        dig +short SRV _kerberos._udp.$(hostname -d)

        Раскрыть
        titleСправка
        Информация
        titleСправка
  • Проверка доступности сетевых портов

    • Для диагностики доступности сетевых портов в составе пакета freeipa-server предоставляется инструмент ipa-replica-conncheck. Требуется репликация с минимум двумя узлами: ведущим (master) и ведомым (slave/replica). Для выполнения диагностики:
      • На ведомом узле проверить доступность сетевых портов ведущего узла при помощи команды:
        Command
        sudo ipa-replica-conncheck -m ipasrv.testdomain.test -r TESTDOMAIN.TEST -k ipasrv.testdomain.test -p admin -w 12345678 -a
        Раскрыть
        titleСправка
        Информация
        titleСправка
        Command
        sudo ipa-replica-conncheck -m <HOST> -r <REALM> -k <HOST> -p <PRINCIPAL> -w <PASSWORD> -a

        Эта команда проводит двухфазную проверку сетевого взаимодействия между уже существующими ведущими и ведомыми узлами реплики FreeIPA. Сначала тестируется доступность TCP-портов ведущего узла (389, 636, 88, 464, 80, 443), а затем автоматически по SSH инициирует обратную проверку тех же портов с ведущего на ведомый узел. Ошибки «Failed to bind» при этом свидетельствуют лишь о занятости портов штатными службами, но не об их недоступности.

        Используются следующие параметры:

        • -m <HOST>
          указывает FQDN или IP-адрес ведущего узла, к которому ведомый узел должен подключиться в первой фазе проверки,

        • -r <REALM>
          имя IPA Kerberos области (realm) (обычно домен в верхнем регистре); без него инструмент не сможет получить билет и завершится ошибкой,

        • -k <HOST>
          FQDN или IP-адрес KDC для Kerberos аутентификации (по умолчанию совпадает с ведущим узлом),

        • -p <PRINCIPAL>
          имя Kerberos принципала (например, admin), под которым будет совершена аутентификация перед проверкой,

        • -w <PASSWORD>
          пароль указанного принципала (в кавычках, если содержит спецсимволы); является небезопасным, при отсутствии параметра инструмент запросит его интерактивно,

        • -a
          автоматически запускает на ведомом узле вторую фазу проверки: по SSH заходит на ведущий узел и выполняет ipa-replica-conncheck --replica <REPLICA> для диагностики связи ведущий → ведомый.

        Блок кода
        titleВывод
        Check connection from replica to remote master 'ipasrv.testdomain.test':
           Directory Service: Unsecure port (389): OK
           Directory Service: Secure port (636): OK
           Kerberos KDC: TCP (88): OK
           Kerberos Kpasswd: TCP (464): OK
           HTTP Server: Unsecure port (80): OK
           HTTP Server: Secure port (443): OK
        
        The following list of ports use UDP protocol and would need to be
        checked manually:
           Kerberos KDC: UDP (88): SKIPPED
           Kerberos Kpasswd: UDP (464): SKIPPED
        
        Connection from replica to master is OK.
        Start listening on required ports for remote master check
        389 tcp: Failed to bind
        636 tcp: Failed to bind
        88 tcp: Failed to bind
        88 udp: Failed to bind
        464 tcp: Failed to bind
        464 udp: Failed to bind
        80 tcp: Failed to bind
        443 tcp: Failed to bind
        Get credentials to log in to remote master
        Check RPC connection to remote master
        Retrying using SSH...
        Check SSH connection to remote master
        Execute check on remote master
      • Дополнительно вручную проверить порты 88 и 464 протокола UDP. Сделать это можно при помощи команды на ведомом узле, например:
        Command
        nc -vuz ipasrv.testdomain.test 88 464
        Раскрыть
        titleСправка
        Информация
        titleСправка

        Команда сканирует указанные UDP-порты (88 и 464) на хосте ipasrv.testdomain.test, не передавая реальных данных и выводит подробную информацию о статусе каждого порта (открыт/закрыт). Поставляется с пакетом netcat-openbsd.
        Используются следующие параметры:

        • -v
          включает подробный режим,

        • -u
          заставляет использовать UDP вместо TCP при соединении с портами,

        • -z
          включает режим сканирования без передачи данных: netcat лишь пытается установить соединение и сразу его закрывает, что полезно при проверке портов.

        Блок кода
        titleВывод
        Connection to ipasrv.testdomain.test (10.192.5.244) 88 port [udp/kerberos] succeeded!
        Connection to ipasrv.testdomain.test (10.192.5.244) 464 port [udp/kpasswd] succeeded!
  • Проверка списков реплик и соглашений репликации

    • Для диагностики доступности узлов в текущей топологии, а также для диагностики актуальности репликации узлов в составе пакета freeipa-server предоставляется инструмент ipa-replica-manage. Для выполнения диагностики:
      • На любом узле вывести базовый список узлов при помощи команды:
        Command
        sudo ipa-replica-manage list
        Раскрыть
        titleСправка
        Информация
        titleСправка

        Отображает все узлы (ведущие и ведомые) в текущей топологии, проверяя отсутствие «призрачных» или пропавших узлов. Позволяет убедиться, что каждый сервер имеет корректную роль.

        Блок кода
        titleВывод
        ipasrv.testdomain.test: master
        ipacln.testdomain.test: master
      • На любом узле вывести подробный статус соглашений репликации для конкретного узла, например:
        Command
        sudo ipa-replica-manage list ipasrv.testdomain.test -v
        Раскрыть
        titleСправка
        Информация
        titleСправка
        Command
        ipa-replica-manage list <HOST> -v

        Команда выводит детальную информацию о всех соглашениях репликации для указанного узла: статус и метки времени последних инициализаций и обновлений реплик.

        Используются следующие параметры:

        • <HOST>
          FQDN узла для которого будет выводиться подробный статус соглашений,
        • -v
          включает подробный режим.

        Пояснение вывода команды:

        • last init status
          код результата последней инициализации реплики (0 = успешно, иначе ошибка),
        • last init ended
          время завершения инициализации,
        • last update status
          код результата последнего инкрементального обновления (0 = успешно, иначе ошибка),
        • last update ended
          время завершения обновления (если никогда не выполнялось успешно после инициализации → 1970-01-01 00:00:00+00:00).
        Блок кода
        titleВывод
        ipacln.testdomain.test: replica
          last init status: Error (0) Total update succeeded
          last init ended: 2025-05-28 19:51:44+00:00
          last update status: Error (0) Replica acquired successfully: Incremental update succeeded
          last update ended: 2025-05-28 23:59:09+00:00
      • На любом узле вывести значения счётчиков изменений (RUV) при помощи команды:
        Command
        sudo ipa-replica-manage list-ruv
        Раскрыть
        titleСправка
        Информация
        titleСправка

        Команда позволяет получить значения счётчиков изменений (RUV) для всех реплик как в доменной части, так и (при наличии DogTag) в службе сертификатов. По сравнению с простым выводом топологии она даёт представление о точке синхронизации каждой реплики, что помогает оперативно выявлять узлы, отстающие по приёму изменений. Если счётчик одного узла существенно меньше, чем у остальных, значит он не подтянул последние операции (создание/удаление/изменение записей) из домена или CA.

        Блок кода
        titleВывод без подключенного DogTag
        Replica Update Vectors:
                ipasrv.testdomain.test:389: 4
                ipacln.testdomain.test:389: 3
        Certificate Server Replica Update Vectors:
                No CS-RUVs found.
        Блок кода
        titleВывод c подключенным DogTag
        Replica Update Vectors:
                ipasrv.testdomain.test:389: 4
                ipacln.testdomain.test:389: 3
        Certificate Server Replica Update Vectors:
                ipasrv.testdomain.test:389: 6
      • На любом узле вывести назначенные UID/GID-диапазоны (DNA-ranges) при помощи команды:
        Command
        sudo ipa-replica-manage dnarange-show
        Раскрыть
        titleСправка
        Информация
        titleСправка

        Команда выводит назначенные UID/GID-диапазоны (DNA) для каждого сервера; для реплик без созданных пользователей выводит «No range set». Помогает убедиться, что новые реплики получили корректный диапазон при создании первой записи; отсутствие диапазона у «визуально активной» реплики указывает, что на ней ещё не создавались пользователи или группы.

        Блок кода
        titleВывод
        ipasrv.testdomain.test: 1188400002-1188500499
        ipacln.testdomain.test: 1188500504-1188599999
    • Для диагностики доступности узлов, участвующих в репликации сертификатов DogTag CA в составе пакета freeipa-server предоставляется инструмент ipa-careplica-manage. Для выполнения диагностики:
      • На любом узле вывести базовый список узлов участвующих в репликации сертификатов DogTag CA при помощи команды:
        Command
        sudo ipa-csreplica-manage list
        Раскрыть
        titleСправка
        Информация
        titleСправка

        Отображает все узлы в текущей топологии, участвующие в репликации сертификатов DogTag CA, проверяя отсутствие «призрачных» или пропавших узлов. Позволяет убедиться, что каждый сервер имеет корректную роль.

        Блок кода
        titleВывод
        ipasrv.testdomain.test: master
        ipacln.testdomain.test: master
      • На любом узле вывести подробный статус соглашений репликации сертификатов DogTag CA для конкретного узла, например:
        Command
        sudo ipa-csreplica-manage list ipasrv.testdomain.test -v
        Раскрыть
        titleСправка
        Информация
        titleСправка
        Command
        ipa-careplica-manage list <HOST> -v

        Команда выводит детальную информацию о всех соглашениях репликации сертификатов DogTag CA для указанного узла: статус и метки времени последних инициализаций и обновлений реплик.

        Используются следующие параметры:

        • <HOST>
          FQDN узла для которого будет выводиться подробный статус соглашений сертификатов DogTag CA,
        • -v
          включает подробный режим.

        Пояснение вывода команды:

        • last init status
          код результата последней инициализации реплики (0 = успешно, иначе ошибка),
        • last init ended
          время завершения инициализации,
        • last update status
          код результата последнего инкрементального обновления (0 = успешно, иначе ошибка),
        • last update ended
          время завершения обновления (если никогда не выполнялось успешно после инициализации → 1970-01-01 00:00:00+00:00).
        Блок кода
        titleВывод
        ipacln.testdomain.test
          last init status: Error (0) Total update succeeded
          last init ended: 2025-05-28 10:22:34+00:00
          last update status: Error (0) Replica acquired successfully: Incremental update succeeded
          last update ended: 2025-05-28 21:32:10+00:00
  • Проверка суффиксов репликации

    • Для диагностики наличия и корректности LDAP-суффиксов репликации в составе пакета freeipa-server предоставляется инструмент ipa с командами topologysuffix-find, ipa topologysuffix-show, ipa topologysuffix-verify. Для выполнения диагностики:
      • На любом узле выполнить обзор суффиксов при помощи команды:
        Command
        sudo ipa topologysuffix-find --all
        Раскрыть
        titleСправка
        Информация
        titleСправка

        Показывает топологические суффиксы LDAP domain и ca (только при наличии центра сертификации DogTag), которые участвуют в репликации, вместе с полным набором их атрибутов и метаданных. Помогает понять, почему нужные данные не реплицируются между серверами. Также сразу видно отсутствие или некорректность суффиксов в топологии, что указывает на проблемы конфигурации репликации.

        Пояснение вывода команды:

        • dn
          полный DN записи в LDAP, 

        • Имя суффикса 
          значение атрибута cn, задающее понятное имя суффикса,

        • DN управляемого суффикса LDAP
          показывает базовый DN LDAP-суффикса,

        • nsDS5ReplicaStripAttrs
          список атрибутов, исключаемых из репликации,

        • nsDS5ReplicatedAttributeList
          список атрибутов, которые будут реплицироваться, за исключением тех, что перечислены после ключевого слова EXCLUDE,

        • nsDS5ReplicatedAttributeListTotal
          список всех атрибутов, которые будут реплицированы полностью, за исключением тех, что перечислены после ключевого слова EXCLUDE,

        • objectClass
          указывает, к каким объектным классам относится запись.

        Блок кода
        titleВывод без подключенного DogTag
        ---------------------------------------------
        установлено соответствие 1 суффикса топологии
        ---------------------------------------------
          dn: cn=domain,cn=topology,cn=ipa,cn=etc,dc=testdomain,dc=test
          Имя суффикса: domain
          DN управляемого суффикса LDAP: dc=testdomain,dc=test
          nsds5replicastripattrs: modifiersName modifyTimestamp internalModifiersName internalModifyTimestamp
          nsds5replicatedattributelist: (objectclass=*) $ EXCLUDE memberof idnssoaserial entryusn krblastsuccessfulauth krblastfailedauth krbloginfailedcount passwordgraceusertime
          nsds5replicatedattributelisttotal: (objectclass=*) $ EXCLUDE entryusn krblastsuccessfulauth krblastfailedauth krbloginfailedcount passwordgraceusertime
          objectclass: top, iparepltopoconf
        ---------------------------------
        Количество возвращённых записей 1
        ---------------------------------
        Блок кода
        titleВывод с подключенным DogTag
        ----------------------------------------------
        установлено соответствие 2 суффиксов топологии
        ----------------------------------------------
          dn: cn=ca,cn=topology,cn=ipa,cn=etc,dc=testdomain,dc=test
          Имя суффикса: ca
          DN управляемого суффикса LDAP: o=ipaca
          objectclass: top, iparepltopoconf
        
          dn: cn=domain,cn=topology,cn=ipa,cn=etc,dc=testdomain,dc=test
          Имя суффикса: domain
          DN управляемого суффикса LDAP: dc=testdomain,dc=test
          nsds5replicastripattrs: modifiersName modifyTimestamp internalModifiersName internalModifyTimestamp
          nsds5replicatedattributelist: (objectclass=*) $ EXCLUDE memberof idnssoaserial entryusn krblastsuccessfulauth krblastfailedauth krbloginfailedcount passwordgraceusertime
          nsds5replicatedattributelisttotal: (objectclass=*) $ EXCLUDE entryusn krblastsuccessfulauth krblastfailedauth krbloginfailedcount passwordgraceusertime
          objectclass: top, iparepltopoconf
        ---------------------------------
        Количество возвращённых записей 2
        ---------------------------------
      • На любом узле выполнить верификацию нужного суффикса, например domain, при помощи команды:
        Command
        sudo ipa topologysuffix-verify domain
        Раскрыть
        titleСправка
        Информация
        titleСправка
        Command
        ipa topologysuffix-verify <SUFFIX>

        Команда выполняет проверку репликационной топологии для указанного LDAP-суффикса, анализируя объекты «topology suffix» и связанные с ними «topology segment» и убеждаясь, что между всеми серверами настроены двунаправленные соглашения репликации. Если обнаруживается хоть один сегмент с односторонней связью или разрыв репликации, команда выводит сообщение об ошибке, что позволяет быстро выявить и устранить сбои в репликации. При отсутствии каких-либо проблем команда завершится без ошибок, подтверждая целостность конфигурации.

        Используется следующий параметр:

        • <SUFFIX>
          Имя суффикса репликации. Например domain или ca.
      • Блок кода
        titleВывод
        =================================================================
        Топология репликации суффикса "domain" соответствует требованиям.
        =================================================================

...