Подключение, запрос и изменение статуса сервера ISC DHCP
omshell
См. описание подкоманд далее.
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита omshell представляет собой командный интерпретатор, осуществляющий подключение к серверу, запрос и (возможно) изменение статуса сервера ISC DHCP через OMAPI (Object Management API – интерфейс API для управления объектами) в интерактивном режиме. Если для внесения изменений используются интерфейс OMAPI и утилита omshell, то останавливать и затем перезапускать сервер DHCP не требуется. Вносить изменения можно на работающем сервере. Утилита omshell обеспечивает доступ к интерфейсу OMAPI.
OMAPI представляет собой всего лишь механизм связи, позволяющий управлять объектами. Для практического применения утилиты omshell необходимо ознакомиться с доступными объектами и способами их использования.
Документацию по объектам OMAPI см. в описании серверов, предоставляющих эти объекты (например, см. dhcpd).
Открытие соединения
Утилита omshell запускается из командной строки с использованием нескольких допустимых команд.
Связывание локальных и удаленных объектов
По команде open на сервере запрашивается информация о данном объекте аренды.
Просмотр удаленного объекта
После подключения к серверу для запроса объекта аренды с адресом 192.168.4.50 и получения атрибутов объекта используются следующие команды:
new lease
В результате создан новый локальный объект аренды.
set ip-address = 192.168.4.50
В результате установлен IP-адрес локального объекта 192.168.4.50
open
Теперь, если объект аренды с указанным IP-адресом существует, отображается полная информация сервера DHCP об этом объекте. Все данные, не являющиеся печатаемым текстом, отображаются в виде шестнадцатеричных значений, разделенных двоеточиями. В этом примере выводимая сервером информация для всей транзакции может выглядеть следующим образом:
> new "lease" obj: lease > set ip-address = 192.168.4.50 obj: lease ip-address = c0:a8:04:32 > open obj: lease
Здесь IP-адрес представлен в виде шестнадцатеричных значений (в таком же виде выводится время начала и окончания аренды).
Изменение удаленного объекта
Для обновления атрибутов удаленных объектов можно воспользоваться командой set (см. выше) и командой update. Команда set устанавливает атрибуты для текущего локального объекта, а команда update передает эти изменения на сервер.
В продолжение предыдущего примера, если введена команда set client-hostname = something-else и вслед за ней введена команда update, то вывод выглядит следующим образом:
> set client-hostname = "something-else" obj: lease ip-address = c0:a8:04:32 state = 00:00:00:02 dhcp-client-identifier = 01:00:10:a4:b2:36:2c client-hostname = "something-else" subnet = 00:00:00:06 pool = 00:00:00:07 hardware-address = 00:10:a4:b2:36:2c hardware-type = 00:00:00:01 ends = dc:d9:0d:3b starts = 5c:9f:04:3b tstp = 00:00:00:00 tsfp = 00:00:00:00 cltt = 00:00:00:00 < > update obj: lease ip-address = c0:a8:04:32 state = 00:00:00:02 dhcp-client-identifier = 01:00:10:a4:b2:36:2c client-hostname = "something-else" subnet = 00:00:00:06 pool = 00:00:00:07 hardware-address = 00:10:a4:b2:36:2c hardware-type = 00:00:00:01 ends = dc:d9:0d:3b starts = 5c:9f:04:3b tstp = 00:00:00:00 tsfp = 00:00:00:00 cltt = 00:00:00:00
Новые удаленные объекты
Создание новых объектов выполняется примерно так же, как изменение существующих объектов сервера. Создание локального объекта с помощью команды new; установка требуемых атрибутов и затем создание удаленного объекта с такими же свойствами:
create name = "some-host" hardware-address = 00:80:c7:84:b1:94 > set hardware-type = 1 obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 1 > set ip-address = 192.168.4.40 obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 1 ip-address = c0:a8:04:28 > create obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = c0:a8:04:28 >
В файле dhcpd.leases
при этом появится следующая запись:
host some-host { dynamic; hardware ethernet 00:80:c7:84:b1:94; fixed-address 192.168.4.40; }
Строка dynamic; означает, что эта запись хоста создана динамически через OMAPI и не извлекалась из файла dhcpd.conf.
Сброс атрибутов
Для удаления атрибута объекта используется команда unset. После удаления атрибута обязательно следует ввести команду update для обновления удаленного объекта. Например, если для хоста somehost из предыдущего примера необходимо удалить статический IP-адрес, используются следующие команды в утилите omshell:
obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = c0:a8:04:28 > unset ip-address obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = > name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = c0:a8:04:28 > remove obj: >
![]() | Обязательное предварительное условие для использования интерфейса OMAPI: в файле dhcpd.conf должна существовать следующая строка, определяющая порт:
omapi-port 7911; Здесь 7911 является значением по умолчанию, используемым библиотекой dhcpctl(). |
Базовые подсистемы ЗОСРВ «Нейтрино»
Предыдущий раздел: Утилиты