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().