omshell

Подключение, запрос и изменение статуса сервера ISC DHCP

Синтаксис:

omshell

Поддерживаемые платформы:

Neutrino

Опции:

См. описание подкоманд далее.


Описание:

Утилита 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 тип_объекта

Возможные значения аргумента тип_объекта: group, host или lease.

На этом шаге создание нового объекта выполнено, и теперь можно задать свойства объекта. Например, если по команде 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:

>

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

omapi-port 7911;

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