[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по управлению системой: Сети и средства связи


Демон BINLD

Сервер демона согласования загрузочных образов (BINLD) применяется на третьем этапе загрузки клиентов PXE. Сначала клиент обращается к серверу DHCP за IP-адресом, затем получает от proxy-сервера PXE DHCP информацию о расположении сервера загрузки, а с сервера загрузки - имя и каталог загрузочного файла. Если для загрузки клиента необходимо несколько файлов, то клиент PXE может обращаться к серверу несколько раз.

На последнем этапе клиент PXE получает загрузочный образ с сервера загрузки. Расположение сервера TFTP и имя загружаемого файла клиент PXE получает с сервера загрузки.

Сервер BINLD

В системе AIX версии 4.3.3 сервер BINLD разделен на три основные части: база данных, средства поддержки протокола и набор служебных нитей, для каждой из которых задается собственная информация о конфигурации.

База данных BINLD

Для создания списка ответов на пакет REQUEST, полученный от клиента, применяется база данных db_file.dhcpo. Значения, возвращаемые базой данных, зависят от выбранного типа сервера. Значения задаются ключевым словом pxeservertype в файле binld.cnf.

База данных заполняется и проверяется в соответствии с информацией, заданной в файле конфигурации.

Средства поддержки протокола BINLD

Средства поддержки протокола PXED основаны на спецификациях Intel Preboot Execution Environment (PXE) версии 2.1 и совместимы со спецификацией Intel PXE версии 1.1. Отправляемая клиентам информация о конфигурации определяется с помощью базы данных.

Служебные нити BINLD

Третья часть сервера BINLD - это набор операций, которые, собственно, и обеспечивают его работу. Так как в сервере BINLD реализована поддержка нескольких нитей, то эти операции в действительности организованы в виде набора нитей, которые в определенное время выполняют нужные операции и обеспечивают правильную работу.

Первая нить, main, обрабатывает запросы SRC (такие, как startsrc, stopsrc, lssrc, traceson и refresh). Кроме того, эта нить согласовывает все операции, влияющие на остальные нити, и обрабатывает сигналы. Пример:

Остальные нити выполняют обработку пакетов. В зависимости от типа сервера, может быть создана одна или две нити. Одна нить ожидает сигнала на порту 67, а вторая - на порту 4011. Каждая нить может обрабатывать запрос клиента.

Настройка BINLD

По умолчанию сервер BINLD считывает информацию из файла /etc/binld.cnf, в котором хранится исходная база данных параметров и адресов сервера. Сервер может запускаться с помощью Web-администратора системы, SMIT или команды SRC.

Настройка сервера BINLD - это самая трудная часть настройки BINLD в сети. Во-первых, определите, в каких сетях будут размещаться клиенты PXE. В следующем примере сервер BINLD будет работать в той же системе, что и сервер DHCP:

pxeservertype       binld_on_dhcp_server
 
subnet default
{
    vendor pxe
    {
                bootstrapserver  9.3.149.6      #IP-адрес сервера TFTP
                pxebootfile   1   2   1   window.one   1   0
                pxebootfile   2   2   1   linux.one    2   3
                pxebootfile   1   2   1   hello.one    3   4
                client 6 10005a8ad14d any
                {
                   pxebootfile   1   2   1   aix.one     5   6
                   pxebootfile   2   2   1   window.one  6   7
        }
     }
}

В предыдущем примере сервер BINLD ожидает от клиента прямые пакеты и пакеты рассылки на порту 4011, если BINLD получил адрес рассылки из dhcpsd/pxed. В ответ на пакеты REQUEST/INFORM, принятые от клиента, сервер BINLD возвращает имя загрузочного файла и IP-адрес сервера TFTP. Если BINLD не находит загрузочный файл на уровне, указанном клиентом, он пытается найти его на следующем уровне. Сервер BINLD не отвечает ничего, если он не смог найти файл, удовлетворяющий запросу клиента (Type, SystemArch, MajorVers, MinorVers, and Layer).

В следующем примере сервер BINLD работает на другом компьютере, чем DHCP.

subnet 9.3.149.0 255.255.255.0
{
 
     vendor pxe
     {
 
     bootstrapserver        9.3.149.6      # IP-адрес сервера TFTP
     pxebootfile    1    2    1   window.one    1   0
     pxebootfile    2    2    1   linux.one     2   3
     pxebootfile    1    2    1   hello.one     3   4
     client 6 10005a8ad14d any
       {
       pxebootfile    1    2    1   aix.one      5   6
       pxebootfile    2    2    1   window.one   6   7
       }
     }
}

В следующем примере pxeservertype не задан, поэтому тип сервера по умолчанию - это binld_only. Сервер BINLD ожидает от клиента прямые пакеты и пакеты рассылки на порту 4011, прямые пакеты и пакеты оповещения на порту 67, если BINLD получил адрес рассылки из dhcpsd/pxed. Имя загрузочного файла и IP-адрес сервера TFTP отправляются клиенту PXE только в том случае, если IP-адрес клиента принадлежит диапазону адресов подсети (9.3.149.0 - 9.3.149.255).

В следующем примере сервер BINLD будет работать в той же системе, что и сервер PXED:

pxeservertype       binld_on_proxy_server
subnet default
{
     vendor
     {
     bootstrapserver        9.3.149.6          # IP-адрес сервера TFTP
     pxebootfile    1    2    1   window.one    1    0
     pxebootfile    2    2    1   linux.one     2    3
     pxebootfile    1    2    1   hello.one     3    4
     client 6 10005a8ad14d any
       {
       pxebootfile    1    2    1   aix.one     5   6
       pxebootfile    2    2    1   window.one  6   7
       }
     }
}

В предыдущем примере сервер BINLD ожидает от клиента только пакеты рассылки на порту 4011, если BINLD получил адрес рассылки из dhcpsd/pxed. Если сервер BINLD не получает пакеты рассылки, то он завершает работу и заносит в файл протокола сообщение об ошибке.

Оператор базы данных db_file задает способ обработки этой части файла конфигурации. Комментарии начинаются с символа #. Символы, стоящие в строке после символа #, игнорируются сервером PXED. С помощью каждой строки option сервер задает для клиента какое-либо действие. В разделе Опции контейнера PXE описаны все поддерживаемые и известные опции. В разделе Формат файла сервера BINLD для выполнения общих операций описаны способы задания опций, неизвестных серверу.

Файл конфигурации

Файл конфигурации состоит из раздела адресов и раздела определения опций. Оба этих раздела реализуют концепцию контейнера, который может включать опции, модификаторы и, возможно, другие контейнеры.

Контейнер (по существу, это способ группирования параметров) позволяет объединять клиентов в группы на основании идентификатора. Типы контейнеров: subnet, class, vendor и client. Контейнеры, определяемые пользователем, в настоящее время не поддерживаются. Клиент однозначно определяется своим идентификатором, что позволяет всегда точно обнаруживать его, например, при переносе в другую подсеть. Для определения клиента может применяться несколько контейнеров.

Опции - это идентификаторы, возвращаемые клиенту. Это может быть, например, применяемые по умолчанию адреса шлюза и сервера DNS.

Контейнеры

При получении запроса сервер DHCP анализирует пакет и на основании ключей идентификации определяет, какие нужно выбрать контейнеры, параметры и адреса.

Контейнер подсети показан в предыдущем примере. Его ключ идентификации - это расположение клиента в сети. Если клиент находится в данной сети, то он попадает в этот контейнер.

Для идентификации клиентов в разных типах контейнеров применяются различные опции:

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

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

Основные правила для контейнеров и подконтейнеров:

С помощью этих правил вы можете создавать иерархию контейнеров, в которой опции объединены в наборы, соответствующие конкретным клиентам или группам клиентов.

Каким образом организована обработка адресов и опций, если клиент входит в несколько контейнеров? Сервер DHCP получает сообщение, формирует запрос к базе данных (в данном случае - к файлу db_file) и получает список контейнеров. Контейнеры перечисляются в списке в порядке их вложенности и приоритета. Приоритет определяется как неявный иерархический уровень контейнера. Контейнеры с ограничениями имеют более высокий приоритет, чем обычные. Сортировка контейнеров выполняется в таком порядке: клиенты, классы, вендоры и подсети. В пределах одного типа контейнеры упорядочиваются по уровню вложенности. Созданный таким образом список упорядочивается от более конкретных объектов к менее конкретным. Например:

    Subnet 1
    --Class 1
    --Client 1
    Subnet 2
    --Class 1
    ----Vendor 1
    ----Client 1
    --Client 1

В примере есть две подсети Subnet 1 и Subnet 2. Кроме того, определен один класс, Class 1, один вендор, Vendor 1, и один клиент, Client 1. Class 1 и Client 1 определены в разных местах. Поскольку они они определены в разных контейнерах, то их имена могут совпадать, однако, указанные в них значения могут различаться. Если клиент Client 1 отправит сообщение серверу DHCP из подсети Subnet 1 с указанием класса Class 1, определенного в списке опций этого клиента, то сервер DHCP создаст следующий список контейнеров:

Subnet 1, Class 1, Client 1

Контейнер, определенный наиболее точно, заносится в список последним. Для получения адреса список просматривается в обратном порядке до обнаружения первого доступного адреса. Затем список просматривается в прямом порядке (в соответствии с иерархией) для получения опций. По мере просмотра списка новые значения опций переопределяют прежние значения до тех пор, пока в контейнере не встретится опция deny. Поскольку класс Class 1 и клиент Client 1 находятся в одной и той же подсети Subnet 1, они упорядочиваются в соответствии с приоритетом контейнеров. Если сообщение будет получено от клиента с тем же именем, находящегося в подсети Subnet 2, то будет создан следующий список контейнеров:

Subnet 2, Class 1, Client 1 (на уровне Subnet 2), Client 1 (на уровне Class 1 )

Первой в списке указывается подсеть Subnet 2, затем класс Class 1, затем клиент Client 1 на уровне Subnet 2 (так как этот клиент находится в иерархии на один уровень ниже). Иерархия подразумевает, что клиент, имя которого указано в первом операторе, определен менее конкретно, чем клиент Client 1, определенный в классе Class 1 подсети Subnet 2.

Приоритет, определяемый по уровню вложенности, выше, чем приоритет самих контейнеров. Например, если тот же клиент отправит такое же сообщение, указав идентификатор вендора, то список контейнеров будет следующим:

Subnet 2, Class 1, Vendor 1, Client 1 (на уровне Subnet 2), Client 1 (на уровне Class 1)

Организация поиска на основании приоритета контейнера повышает эффективность, поскольку контейнеры client обеспечивают наиболее точный способ определения одного или нескольких клиентов. В контейнере class адреса определены менее конкретно, чем в контейнере client; в контейнере vendor адреса определены еще менее конкретно, а контейнер subnet содержит самые общие определения адресов.

Адреса и диапазоны адресов

С контейнерами любого типа могут быть связаны диапазоны адресов. Контейнеры subnet обязательно имеют связанный диапазон адресов. Каждый диапазон адресов в пределах контейнера должен быть подмножеством диапазона адресов родительского контейнера и не должен пересекаться с диапазонами адресов других контейнеров. Например, если внутри подсети определен класс с диапазоном адресов, то этот диапазон должен быть подмножеством диапазона адресов подсети. Диапазон внутри этого контейнера класса не должен пересекаться с любыми другими диапазонами этого уровня.

Диапазоны адресов могут задаваться в строке контейнера. Для задания несмежных диапазонов адресов можно воспользоваться операторами range и exclude. Таким образом, если в подсети есть два диапазона по десять адресов, то имеет смысл указать эти диапазоны в операторе subnet, чтобы уменьшить объем памяти и избежать конфликтов адресов с другими клиентами.

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

Опции

После первого просмотра списка и получения адресов для клиента создается набор опций. В процессе выбора ранее определенные значения опций переопределяются новыми до тех пор, пока не встретится опция deny (запретить); при этом запрещенная опция удаляется из списка опций, отправляемых пользователю. Этот способ разрешает наследование опций родительских контейнеров и сокращает объем данных, которые нужно определять.

Ведение протокола

Параметры протокола указываются в окне диалога, напоминающем окно настройки базы данных, но с ключевым словом logging_info. На этапе обучения настройке PXED рекомендуется установить максимально подробное ведение протокола. Кроме того, весьма полезно настроить протокол до начала работы с любыми другими файлами настройки, чтобы ошибки конфигурации были после инициализации системы занесены в протокол. Для включения опций протокола укажите ключевое слово logitem, а для их отключения удалите это ключевое слово. Другие ключевые слова позволяют задавать имя файла протокола, его размер, а также число взаимозаменяемых файлов протоколов.

Повышение производительности системы

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

Во-первых, понимание механизма наследования опций от контейнеров-предков к потомкам позволяет сократить объем используемой памяти. В среде, в которой не поддерживаются не указанные в списке клиенты, администратор должен явно перечислить всех клиентов в файле. При указании списка опций для каждого отдельного клиента на хранение дерева конфигурации расходуется больше ресурсов памяти сервера, чем при наследовании опций от контейнера-предка к потомку (в роли предка может выступать подсеть, сеть или глобальные контейнеры). Следовательно, администратор должен проверить, не повторяются ли какие-либо опции на уровне клиента в файле конфигурации, а если это так, то решить, можно ли указать эти опции в контейнере-предке и таким образом распространить их сразу на несколько клиентов.

Кроме того, если применяются записи logItem INFO и TRACE, то в протокол при обработке каждого сообщения клиента PXE заносится несколько сообщений. Добавление строк в файл протокола может привести к чрезмерному увеличению нагрузки; поэтому ограничение объема заносимой в протокол информации повышает производительность сервера DHCP. Протокол можно подключить динамически с помощью команды SRC traceson.

Синтаксис файла сервера BINLD для общих операций сервера

Примечание: Используемые в таблицы единицы времени (единицы_времени) являются необязательными и применяются в качестве модификаторов значений времени. По умолчанию время указывается в минутах. Допустимо указывать время в секундах (1), минутах (60), часах (3600), сутках (86400), неделях (604800), месяцах (2392000) и годах (31536000). В скобках указано число, на которое надо умножить заданное значение времени, n, чтобы перевести его в секунды.

Ключевое слово Формат Вложенные контейнеры Значение по умолчанию Описание
database database тип базы данных Да Нет Основной контейнер, содержащий определения для пулов адресов, опций и операторов, задающих уровень доступа клиентов. тип базы данных - это имя модуля, который должен загружаться для обработки этой части файла. В текущей версии применяется только значение db_file.
logging_info logging_info Да Нет основной контейнер, определяющий параметры ведения протоколов.
logitem logitem NONE Нет По умолчанию все запрещены. Задает уровень ведения протокола. Можно указать несколько строк.
logitem SYSERR
logitem OBJERR
logitem PROTOCOL
logitem PROTERR
logitem WARN
logitem WARNING
logitem CONFIG
logitem EVENT
logitem PARSEERR
logitem ACTION
logitem ACNTING
logitem STAT
logitem TRACE
logitem RTRACE
logitem START
numLogFiles numLogFiles n Нет 0 Указывает, сколько файлов протоколов нужно создать. Каждый последующий файл протокола создается после заполнения предыдущего. n - число создаваемых файлов.
logFileSize logFileSize n Нет 0 Задает размер каждого файла протокола в блоках по 1024 байта.
logFileName logFileName путь Нет Нет Задает путь к первому файлу протокола. Имя файла протокола имеет вид имя_файла или имя_файла.расширение. Имя_файла должно состоять не более, чем из восьми символов. Имя следующего файла протокола создается на основе базового имени_файла, к которому добавляется номер, либо этот номер указывается вместо расширения. Например, если первому файлу присвоено имя file, то именем следующего файла будет file01. Если имя первого файла - file.log, то следующему файлу будет присвоено имя file.01.
pxeservertype pxeservertype тип_сервера Нет dhcp_only Указывает тип сервера dhcpsd. Параметру тип_сервера можно присвоить одно из следующих значений: binld_on_dhcp_server (означает, что BINLD работает на той же машине, что и сервер DHCP, ожидает запроса от клиента PXE на порту 4011, а адрес рассылки будет получен от DHCP / PXED), binld_on_proxy_server (означает, что BINLD работает на той же машине, что и сервер PXED, ожидает запроса от клиента PXE, а адрес рассылки будет получен от DHCP / PXED. Значение по умолчанию - binld_only, то есть BINLD работает на отдельном компьютере, ожидает пакетов от клиента на портах 67 и 4011, а адрес рассылки должен быть получен от DHCP / PXED.
dhcp_or_proxy_address dhcp_or_proxy_address IP-адрес Нет Нет Указывает IP-адрес сервера dhcp или pxed, которому сервер BINLD может напрямую отправлять пакеты типа REQUEST/INFORM, чтобы получить адрес рассылки. Это ключевое слово определено только в том случае, если dhcp или pxed находятся в другой подсети, чем BINLD.

Синтаксис файла сервера BINLD для базы данных db_file

Примечания:

Ключевое слово Формат Вложенные контейнеры Значение по умолчанию Описание
subnet subnet default Да Нет Определяет подсеть, которая входит в диапазон. Подсеть применяется только при ответе на пакет INFORM, полученный от клиента, а для адреса клиента нет соответствующего контейнера подсети.
subnet subnet ид подсети маска Да Нет Определяет подсеть и пул адресов. Если в строке не задан диапазон адресов и адреса не изменены в контейнере с помощью оператора range или exclude, то предполагается, что пул включает все адреса. Необязательный параметр диапазона представляет собой пару IP-адресов в десятичном формате с точками, разделенных дефисом. Можно (но не обязательно) указывать метку и приоритет. Они используются виртуальными подсетями для идентификации и упорядочения подсетей в виртуальной подсети. Метка и приоритет разделяются двоеточием. Эти контейнеры могут использоваться только на глобальном уровне или на уровне контейнера базы данных.
subnet ид подсети маска диапазон
subnet ид подсети маска метка:приоритет
subnet ид подсети маска диапазон метка:приоритет
subnet subnet ид подсети диапазон Да Нет Определяет подсеть, которая входит в контейнер сети. Задает диапазон адресов. Если не задан диапазон, то считается, что в подсеть входят все адреса. Маска подсети определяется родительским контейнером сети.

Примечание: Задавать подсеть таким образом не рекомендуется.
option option номер данные ... Нет Нет Задает опцию для отправки клиенту, или, в случае запрещения, опцию, отправка которой запрещена. Опция option * deny означает, что все параметры, не определенные в данном контейнере, не должны возвращаться клиенту. Опция option номерdeny запрещает только указанную опцию. Номер - это 8-разрядное целое число без знака. Данные - это данные для опции (см. выше), заключенная в кавычки строка ASCII, либо шестнадцатеричные данные в одном из форматов: 0xшестн._число или hex "шестн._число" или hex"шестн._число". Если опция находится в контейнере vendor, то она будет включена вместе с другими опциями в опцию 43.
option номерdeny
option * deny
exclude exclude IP-адрес Нет Нет Изменяет диапазон адресов контейнера, в котором указан оператор exclude. На глобальном уровне и на уровне контейнера базы данных оператор exclude недопустим. Оператор exclude удаляет заданные адреса или диапазон адресов из диапазона, указанного для данного контейнера. Оператор exclude позволяет создавать для подсетей и других контейнеров не смежные диапазоны адресов.
exclude адрес-адрес
range range IP-адрес Нет Нет Изменяет диапазон адресов контейнера, в котором указан оператор range. На глобальном уровне и на уровне контейнера базы данных оператор range недопустим. Если в строке описания контейнера не задан диапазон адресов и оператор range стоит в этом контейнере первым, то диапазон адресов контейнера будет определяться именно этим оператором range. Диапазоны, определяемые всеми остальными операторами range, стоящими после первого оператора range, или всеми операторами range, задающими диапазоны в строке описания контейнера, добавляются к текущему диапазону. С помощью оператора range к диапазону можно добавить отдельный адрес или набор адресов. Диапазон должен размещаться внутри группы адресов, определенной для контейнера подсети.
range адрес-адрес
client client тип аппаратуры аппаратный адрес NONE Да Нет Определяет контейнер клиента, запрещающий выделение адреса клиенту с указанным типом аппаратуры и аппаратным адресом. Если параметр тип аппаратуры равен 0, то в параметре аппаратный адрес должна быть задана строка ASCII. В остальных случаях тип аппаратуры - это тип аппаратного обеспечения клиента, а аппаратный адрес - аппаратный адрес клиента. Если аппаратный адрес - это строка, то она может быть заключена в кавычки. Если аппаратный адрес - это шестнадцатеричная строка, то он может быть записан в виде 0xшестн._число или hex шестн._число. Диапазон разрешает выделять адрес из указанного диапазона клиенту с указанным типом аппаратуры и аппаратным адресом. Для сравнения нескольких клиентов должны использоваться регулярные выражения.
client тип аппаратуры аппаратный адрес ANY
client тип аппаратуры аппаратный адрес адрес
client тип аппаратуры аппаратный адрес диапазон
class class строка Да Нет Определяет контейнер класса с именем строка. Строка может быть заключена в кавычки. Если строка заключена в кавычки, то перед сравнением они удаляются. Кавычки необходимы в том случае, если строка содержит пробелы или символы табуляции. Использование контейнера class допустимо на любом уровне. Для задания набора адресов, которые могут быть предложены клиенту с данным классом, рекомендуется пользоваться диапазонами. Диапазон может задаваться как одиночный IP-адрес в десятичном формате с точками или как два IP-адреса, разделенных дефисом.
class строка диапазон
network network ид сети маска Да Нет Задает ИД сети на основании информации о классе (например, 9.3.149.0 с маской сети 255.255.255.0 - это сеть 9.0.0.0 255.255.255.0). В таком контейнере сети могут находиться подсети с одинаковым ИД сети и маской сети. Если задан диапазон адресов, то все адреса этого диапазона образуют пул. Диапазон адресов должен относиться к данной сети. Используется полная адресация класса. Это ключевое слово допустимо только на глобальном уровне или на уровне контейнера базы данных.

Примечание: Вместо ключевого слова network лучше использовать контейнер subnet.
network ид_сети
network ид сети диапазон
vendor vendor ид_вендора Да Нет Определяет контейнер вендора. Контейнеры вендоров используются для возврата клиенту опции 43. ИД вендора может задаваться в виде строки, заключенной в кавычки, либо в виде двоичной строки в формате 0xшестн._число или hex "шестн._число". После ИД вендора можно указать диапазон. Диапазон задается двумя IP-адресами в десятичном формате с точками, разделенными дефисом. После диапазона может следовать первая часть опции 43 в виде шестнадцатеричной или ASCII-строки. При наличии в контейнере опций они добавляются к данным опции 43. После обработки всех опций к данным добавляется опция конца списка. Для возврата клиенту других опций (помимо опции 43) используйте регулярное выражение, позволяющее сравнивать всех клиентов и определения нормальных опций, возвращаемых на основании ИД вендора.
pxe после ключевого слова vendor создаст контейнер вендора для клиента PXEClient.
pxeserver после ключевого слова vendor создаст контейнер вендора для сервера PXEServer.
vendor ид_вендора hex ""
vendor ид_вендора hex ""
vendor ид_вендора 0xданные
vendor ид_вендора ""
vendor ид_вендора диапазон
vendor ид_вендора диапазон hex ""
vendor ид_вендора диапазон hex ""
vendor ид_вендора диапазон
vendor ид_вендора диапазон ""
vendor pxe
vendor pxeserver
inoption inoption номерданные Да Нет Указывает контейнер, с которым следует сравнивать переданные клиентом опции с данным номером. номер означает номер опции. данные - это ключ для сравнения с этим контейнером в ходе выбора адреса и опции для данного клиента. Параметр данные для стандартных опций указывается в явной форме: строка, заключенная в кавычки, IP-адрес, целое число; кроме того, их можно указать в форме шестнадцатеричной строки байтов, начинающейся с символов 0x. Для опций, неизвестных серверу, допустим только второй вариант. Кроме того, данные могут представлять собой выражение, которое следует сравнить с содержимым строки данных опции, переданной клиентом. Такие выражения записываются в кавычках и начинаются с символов "! (кавычка и восклицательный знак). Опции, неизвестные серверу, должны указываться в виде шестнадцатеричной строки байтов БЕЗ начальных символов 0x.
inoption номерданныедиапазон
virtual virtual fill ИД ИД ... Нет Нет Определяет виртуальную подсеть со стратегией. Слово fill означает, что перед переходом к следующему контейнеру необходимо использовать все адреса текущего контейнера. Слово rotate указывает, что для каждого запроса адрес выбирается из следующего указанного пула. sfill и srotate означают то же, что fill и rotate, однако в этом случае производится поиск, чтобы узнать, не соответствует ли клиент каким-либо контейнерам, вендорам или классам в подсети. Если обнаружено совпадение с контейнером, в котором выделяется адрес, то, адрес выбирается из этого контейнера, а не назначается в соответствии со стратегией. Число ИД в списке не ограничено. ИД - это либо ИД подсети, либо метка, заданная в описании подсети. Метка нужна при наличии нескольких подсетей с одинаковым идентификатором.
virtual sfill ИД ИД ...
virtual rotate ИД ИД ...
virtual srotate ИД ИД ...
inorder: inorder: ИД ИД ... Нет Нет Определяет виртуальную подсеть со стратегией заполнения, т.е. перед переходом к следующему контейнеру должны быть использованы все адреса текущего контейнера. Число ИД в списке не ограничено. ИД - это либо ИД подсети, либо метка, заданная в описании подсети. Метка нужна при наличии нескольких подсетей с одинаковым идентификатором.
balance: balance: ИД ИД ... Нет Нет Определяет виртуальную подсеть со стратегией смены адресов, при которой каждый следующий адрес выбирается из следующего контейнера. Число ИД в списке не ограничено. ИД - это либо ИД подсети, либо метка, заданная в описании подсети. Метка нужна при наличии нескольких подсетей с одинаковым идентификатором.
bootstrapserver bootstrapserver IP-адрес Нет Нет Указывает, на каком сервере находятся файлы TFTP, которые должны использоваться клиентами после получения ими пакетов BOOTP или DHCP. Это значение задается в поле siaddr пакета. Оно допустимо на любом уровне контейнера.
giaddrfield giaddrfield IP-адрес Нет Нет Задает поле giaddrfield для ответных сообщений (пакетов).

Примечание: Данная спецификация недопустима в протоколах BOOTP и DHCP, однако, некоторые клиенты требуют, чтобы в поле giaddr был указан шлюз по умолчанию для сети. Из-за возможных конфликтов ключевое слово giaddrfield должно использоваться только внутри контейнеров клиентов, хотя оно может работать на любом уровне.
bootfile bootfile полное_имя Нет Нет Определяет загрузочный файл, который должен быть указан в ответном пакете. Допустимо на уровне любого контейнера. Взаимодействие элементов, указанных в поступающем пакете с операторами загрузочного файла и домашнего каталога определяется стратегией загрузочного файла.
pxebootfile pxebootfile архив ст_версия мл_версия файл_загрузки тип уровень Нет Нет Задает файл загрузки для PXEClient. Функция разбора файла конфигурации выдает сообщение об ошибке, если число параметров после ключевого слова меньше 4, игнорирует все параметры после седьмого, а если указано ровно 4 параметра, то Тип и Уровень полагаются равными нулю. Это ключевое слово допустимо только в контейнере.

Сведения о других опциях приведены в разделах Известные опции файла сервера и Опции контейнера PXE.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]