.TH ISNS_CONFIG 5 "11 мая 2007" "isns_config 0.103" "Руководство по форматам файлов" .SH ИМЯ isns_config - файл конфигурации iSNS .SH СИНТАКСИС .B /usr/share/defaults/etc/isns/isnsadm.conf или .B /etc/isns/isnsadm.conf .br .B /usr/share/defaults/etc/isns/isnsd.conf или .B /etc/isns/isnsd.conf .br .B /usr/share/defaults/etc/isns/isnsdd.conf или .B /etc/isns/isnsdd.conf .SH ОПИСАНИЕ Все утилиты Open-iSNS читают свою конфигурацию из файла в каталоге .BR /etc/isns . Для каждой утилиты существует отдельный файл конфигурации: .BR isnsd ", " isnsadm ", и " isnsdd . Синтаксис и набор поддерживаемых опций одинаков, хотя некоторые опции специфичны, например, для сервера. Если не указано иное, опции применимы ко всем утилитам. .PP Файл конфигурации Open-iSNS содержит пары "ключевое слово-аргумент", по одной паре на строку. Все ключевые слова нечувствительны к регистру. .PP Символ .B # вводит комментарий, который продолжается до конца строки. Пустые строки игнорируются. .PP Продолжение строк не поддерживается, и кавычки вокруг аргументов использовать нельзя. .PP Некоторые опции задают значения таймаута, которые по умолчанию указываются в секундах. Однако можно явно указать единицу измерения, например: .BR d " (дни), .BR h " (часы), .BR m " (минуты), или .BR s " (секунды). .\" ------------------------------------------------------------------ .SS Общие опции .TP .BR HostName По умолчанию приложения Open-iSNS получают имя хоста машины с помощью системного вызова .BR gethostname (3) и выполняют поиск в DNS для получения канонического имени. С помощью опции .BR HostName можно переопределить это значение. Эта опция редко требуется. .TP .BR SourceName Эта опция обязательна для всех приложений Open-iSNS. Это должно быть имя, которое уникально идентифицирует клиента. Существуют две интерпретации RFC 4171: одна требует, чтобы это было квалифицированное имя iSCSI, например .BR iqn.2001-04.com.example.host , в то время как другая часть RFC предполагает, что это строка произвольного формата, которая должна быть уникальной (например, полное доменное имя клиента). .IP При использовании аутентификации DSA Open-iSNS в настоящее время требует, чтобы имя источника соответствовало идентификатору ключа (SPI) открытого ключа клиента. .IP Если оставить пустым, имя источника будет взято либо из значения по умолчанию в файле .BR /usr/share/defaults/etc/iscsi/initiatorname.iscsi или .BR /etc/iscsi/initiatorname.iscsi , либо, при его отсутствии, из имени хоста клиента с использованием опции .BR IQNPrefix для генерации квалифицированного имени iSCSI. .TP .BR IQNPrefix Задает префикс квалифицированного имени iSCSI; должен быть в формате .BR iqn.YYYY-MM , где .BR YYYY — год, а .BR MM — месяц. .TP .BR ServerAddress " (клиент): Эта опция задает имя хоста или адрес сервера iSNS, с которым необходимо взаимодействовать. За ним может следовать двоеточие и номер порта. .IP Вместо имени хоста можно использовать адреса IPv4 или IPv6. Чтобы избежать неоднозначностей, буквенные адреса IPv6 должны быть заключены в квадратные скобки, например .BR [2001:4e5f::1] . .IP При указании номера порта можно использовать либо числовой порт, либо строковое имя, которое будет найдено в файле .BR /etc/services . Если порт не указан, по умолчанию используется 3205 — номер порта, назначенный IANA для iSNS. .IP Если используется специальная строка .B SLP:, клиент попытается найти сервер iSNS через SLP. .TP .BR SLPRegister " (сервер): Если установлено в 1, демон iSNS зарегистрирует себя в службе SLP. Это позволяет клиентам связываться с сервером без необходимости статической настройки его адреса. .TP .BR PIDFile " (сервер): Задает имя файла PID сервера, по умолчанию это .B /var/run/isnsd.pid . .\" ------------------------------------------------------------------ .SS Опции, связанные с базой данных Эти опции применимы только к серверу iSNS и управляют работой базы данных iSNS. .TP .BR Database Эта опция используется для указания способа хранения базы данных. Установка этой опции в абсолютный путь заставит .B isnsd хранить базу данных в указанном каталоге. .IP Если оставить пустым, .B isnsd будет хранить базу данных в памяти. Это также настройка по умолчанию. .TP .BR DefaultDiscoveryDomain iSNS использует так называемые домены обнаружения для ограничения видимости других узлов. Узел хранения A сможет "увидеть" узел хранения B только в том случае, если оба находятся в одном домене обнаружения. .IP Если зарегистрирован узел хранения, который не входит ни в один домен обнаружения, он не увидит другие узлы. .IP Установив .BR DefaultDiscoveryDomain=1 , можно указать isnsd создать виртуальный "домен обнаружения по умолчанию", который включает все узлы, не входящие в административно настроенные домены обнаружения. .IP По умолчанию домен обнаружения по умолчанию отсутствует. .TP .BR RegistrationPeriod Сервер iSNS может удалять зарегистрированные сущности после определенного периода неактивности. Это называется периодом регистрации. Клиенты, регистрирующие объекты, должны обновлять свою регистрацию в течение этого периода. .IP Значение по умолчанию — 1 час. Установка в 0 отключает удаление сущностей из базы данных. .TP .BR ESIRetries Open-iSNS может отслеживать доступность узлов хранения и их порталов с помощью функции протокола, называемой ESI (запрос статуса сущности). Клиенты запрашивают мониторинг ESI, регистрируя порт ESI вместе с каждым порталом. Сервер будет отправлять сообщения ESI на эти порталы с регулярными интервалами. Если портал не отвечает несколько раз подряд, он считается недоступным и удаляется из базы данных. .IP .B ESIRetries задает максимальное количество попыток, которые сервер предпримет для связи с порталом, прежде чем объявить его недоступным. Если установлено в 0, сервер отключает ESI и отклоняет любые регистрации, указывающие порт ESI, с кодом ошибки "ESI не поддерживается". .IP Значение по умолчанию — 3. .TP .BR ESIMinInterval Это значение таймаута задает минимальный интервал ESI. Если клиент запрашивает интервал ESI меньше этого значения, он автоматически округляется вверх. .IP Значение по умолчанию — 60 секунд. .TP .BR ESIMaxInterval Это значение таймаута задает максимальный интервал ESI. Если клиент запрашивает интервал ESI больше этого значения, он автоматически округляется вниз. .IP Значение по умолчанию — 10 минут. .IP Максимальный интервал ESI не должен превышать половины периода регистрации. .TP .BR SCNRetries Клиенты iSNS могут регистрироваться для получения сообщений об изменении состояния (SCN), чтобы узнавать об изменениях в базе данных iSNS. Это значение указывает, сколько раз сервер будет пытаться повторно отправить сообщение SCN, прежде чем отказаться. .IP Значение по умолчанию — 3. .TP .BR SCNCallout Это путь к вспомогательной программе, которую .B isnsdd будет вызывать при обработке уведомления об изменении состояния от сервера. Вспомогательная программа будет вызвана с аргументом, указывающим тип события, одним из: .BR add ", " update ", или " remove . За этим следует список атрибутов в нотации .IB name = value , с использованием имен и соглашений, описанных в .BR isnsadm (8). .\" ------------------------------------------------------------------ .SS Опции, связанные с безопасностью Стандарт iSNS определяет метод аутентификации на основе алгоритма DSA. Участники обмена сообщениями аутентифицируют сообщения, добавляя "блок аутентификации", содержащий временную метку, строку, идентифицирующую ключ, и цифровую подпись сообщения. Этот же метод используется в SLP, протоколе обнаружения служб. .PP Строка, содержащаяся в блоке аутентификации, называется .IR "индекс политики безопасности" (SPI). Эта строка может использоваться сервером для поиска открытого ключа клиента любым способом; например, строка может быть именем файла открытого ключа в каталоге или использоваться для получения сертификата X509 из LDAP. .PP С точки зрения клиентских приложений Open-iSNS существуют только два ключа: собственный (закрытый) ключ клиента, используемый для подписи отправляемых серверу сообщений, и открытый ключ сервера, используемый для проверки подписей входящих сообщений сервера. .PP Серверу iSNS, помимо собственного закрытого ключа, необходим доступ ко всем открытым ключам клиентов, которые будут с ним взаимодействовать. Последние хранятся в так называемом хранилище ключей. Хранилища ключей и их работа обсуждаются в разделе .B Хранилища ключей и политика ниже. .PP Следующие опции конфигурации управляют аутентификацией: .TP .BR Security Включает или отключает аутентификацию DSA. При установке в 1 клиент будет подписывать все сообщения и ожидать, что все сообщения сервера будут подписаны. .IP При включении безопасности на сервере входящие сообщения проверяются на наличие блока аутентификации. Если блок отсутствует или сервер не может найти открытый ключ, соответствующий SPI, сообщение считается исходящим от анонимного источника. Если SPI известен, но подпись неверна, сообщение отбрасывается без уведомления. .IP Сообщения от анонимного источника получают очень ограниченную политику, разрешающую только запросы к базе данных. .IP Установка этой опции в 0 отключает аутентификацию. .IP Значение по умолчанию — -1, что указывает iSNS использовать аутентификацию, если установлены необходимые ключи, и использовать неаутентифицированный iSNS в противном случае. .TP .BR AuthName Это строка, которая будет использоваться как SPI во всех исходящих сообщениях, содержащих блок аутентификации. По умолчанию используется имя хоста (см. опцию .BR HostName ). .TP .BR AuthKeyFile Это путь к файлу, содержащему ключ DSA в формате PEM. Этот ключ используется для подписи исходящих сообщений. По умолчанию это .BR /etc/isns/auth_key . .TP .BR ServerKeyFile Эта опция используется только клиентскими приложениями и задает путь к файлу, содержащему ключ DSA в формате PEM. Этот ключ используется для аутентификации ответов сервера. По умолчанию это .BR /etc/isns/server_key.pub . .TP .BR KeyStore Эта опция на стороне сервера задает используемое хранилище ключей, описанное в следующем разделе. .PP Следующие две опции управляют проверкой временной метки, содержащейся в блоке аутентификации, которая предназначена для предотвращения атак повторного воспроизведения. .TP .B Auth.ReplayWindow Для компенсации расхождения часов между двумя хостами, обменивающимися сообщениями iSNS, Open-iSNS применяет небольшую погрешность при сравнении временной метки в сообщении с локальным системным временем. Если разница между временной меткой и локальным временем меньше количества секунд, указанного в этой опции, сообщение принимается. В противном случае оно отклоняется. .IP Значение по умолчанию — .BR 5m . .TP .B Auth.TimestampJitter При проверке входящих сообщений Open-iSNS проверяет, что временные метки, отправленные партнером, монотонно увеличиваются. Чтобы компенсировать переупорядочивание сообщений сетью (например, при использовании UDP в качестве транспорта), допускается определенная погрешность временной метки. Если временная метка входящего сообщения не раньше, чем на .B TimestampJitter секунд до последней полученной временной метки, сообщение принимается. В противном случае оно отклоняется. .IP Значение по умолчанию — .BR 1s . .\" ------------------------------------------------------------------ .SS Хранилища ключей и политика Текущая реализация поддерживает два типа хранилищ ключей. .PP Простое хранилище ключей использует плоский каталог для хранения открытых ключей, каждый ключ в отдельном файле. Ожидается, что файл содержит открытый ключ клиента в формате PEM, и имя файла должно соответствовать SPI клиента. Этот тип хранилища ключей не рекомендуется, так как он не хранит информацию о политике. .PP Простое хранилище ключей можно настроить, установив опцию .B KeyStore в путь к каталогу. .PP Рекомендуемый подход — использовать базу данных в качестве хранилища ключей. Это использует специфические для производителя объекты политики для связывания строки SPI, открытого ключа, имени сущности, имени источника и других элементов политики, и их постоянного хранения. .PP Хранилище ключей базы данных настраивается установкой опции .B KeyStore в зарезервированное значение .BR DB: , которое также является значением по умолчанию. .PP В настоящее время объекты политики Open-iSNS имеют следующие атрибуты, помимо SPI: .TP Source: Это имя исходного узла, которое должен использовать клиент. По умолчанию используется строка SPI. .TP Functions: Это битовая карта, описывающая, какие функции клиенту разрешено вызывать. Имена битов соответствуют сокращенным именам, используемым в RFC 4171, таким как .BR DevAttrReg , .BR DevAttrQry , и т.д. По умолчанию разрешены регистрация, запрос и дерегистрация, а также SCNRegister. .TP Entity name: Это имя сущности, назначенное клиенту. Если установлено, регистрация клиента не допускает использование другого имени сущности. Если клиент отправляет регистрацию без идентификатора сущности, сервер назначает имя сущности, указанное в политике. По умолчанию имя сущности не ограничено. .TP Object access: Это битовое поле, описывающее разрешения доступа для каждого типа объектов. Для каждого типа объектов можно предоставить разрешения на чтение и/или запись. Разрешение на чтение применяется к вызовам Query и GetNext; все остальные операции требуют разрешения на запись. По умолчанию предоставляется доступ на чтение и запись для объектов типа Entity, Storage Node, Portal и Portal Group; и доступ на чтение для Discovery Domains. .TP Node types: Это битовое поле, описывающее, какие типы узлов хранения клиент может регистрировать; допустимые имена битов: .BR target ", " initiator " и " control . По умолчанию узлы ограничены регистрацией только инициаторов. .\" ------------------------------------------------------------------ .SS Опции, связанные с сетью .TP .BR Network.MaxSockets Это количество принимаемых входящих соединений, по умолчанию 1024. Обычно это относится только к серверной стороне, но актуально, если создается пассивный сокет TCP для ESI или SCN. .TP .BR Network.ConnectTimeout Это значение таймаута, которое задает время ожидания установления TCP-соединения. По умолчанию .BR 60s . .TP .BR Network.ReconnectTimeout Когда попытка соединения не удалась, ожидается короткое время, прежде чем будет предпринята повторная попытка соединения. Это предназначено для снятия нагрузки с перегруженных серверов. Значение по умолчанию — .BR 10s . .TP .BR Network.CallTimeout Общее время ожидания перед истечением времени вызова к серверу iSNS. Значение по умолчанию — .BR 60s . .\" ------------------------------------------------------------------ .SH СМОТРИ ТАКЖЕ RFC 4171, .BR isnsd (8), .BR isnsadm (8). .SH АВТОРЫ Олаф Кирх