omshell

Подключение, запрос и изменение статуса сервера 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 запускается из командной строки с использованием нескольких допустимых команд.

server адрес
IP-адрес сервера DHCP для установления соединения. Сервер по умолчанию – 127.0.0.1 (localhost).
port номер
Порт, прослушиваемый через OMAPI. Значение по умолчанию – 7911.
key имя секрет
Эта команда задает ключ TSIG, используемый для аутентификации транзакций OMAPI. Аргумент имя является именем ключа, определенным в файле dhcpd.conf.
new тип_объекта
Возможные значения аргумента тип_объекта: На этом шаге создание нового объекта выполнено, и теперь можно задать свойства объекта. Например, если по команде new lease был создан новый объект аренды, можно задать следующие атрибуты аренды:
set имя_атрибута = значение
Имена атрибутов определены в команде dhcpd. Строковые значения следует заключать в кавычки. Пример: установка IP-адреса объекта аренды:
set ip-address = 192.168.4.50

Связывание локальных и удаленных объектов

По команде open на сервере запрашивается информация о данном объекте аренды.

open
Теперь созданный локальный объект аренды, которому назначен IP-адрес, связан с соответствующим объектом аренды на сервере DHCP. Все атрибуты объекта аренды, полученные от сервера DHCP, также являются атрибутами локального объекта и отображаются в omshell.

Просмотр удаленного объекта

После подключения к серверу для запроса объекта аренды с адресом 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: >


Note: Обязательное предварительное условие для использования интерфейса OMAPI: в файле dhcpd.conf должна существовать следующая строка, определяющая порт:

omapi-port 7911;

Здесь 7911 является значением по умолчанию, используемым библиотекой dhcpctl().


Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

dhcpd, dhcp.client




Предыдущий раздел: Утилиты