Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Командный язык DHCP сервера

Команды конфигурации или просмотра текущего состояния сервера вводятся с консоли или TELNET клиента WANFlex. Префикс команд управления DHCP сервером в командном интерпретаторе "WANFlex – dhcpd". Полный список команд (без префикса):

Синтаксис:

add scope <SCOPE_NAME> <INTERFACE|*> <START_IP> <END_IP>
add dscope <SCOPE_NAME> <INTERFACE|*> <START_IP> <END_IP>

add virtual interface <VIFNAME> <GATEWAY> <GWIFNAME|*>
clear
delete option <OPTION_NAME>
delete scope <SCOPE_NAME>
delete virtual interface <VIFNAME>
interface <INTERFACE> delete option <OPTION_NAME>
interface <INTERFACE> option <OPTION_NAME> <OPTION_VALUE>
interface <INTERFACE> reservation
    <CLIENT_ID> delete option <OPTION_NAME>
interface <INTERFACE> reservation
     <CLIENT_ID> option <OPTION_NAME> <OPTION_VALUE>
interface <INTERFACE|*> show boundhistory
interface <INTERFACE|*> show client <CLIENT_ID|*>
lock interface <INTERFACE>
option <OPTION_NAME> <OPTION_VALUE>
scope <SCOPE_NAME> add classid <CLIENT_CLASS_ID>
scope <SCOPE_NAME> add exclude <START_IP> <END_IP>
scope <SCOPE_NAME> add reservation <CLIENT_ID> <CLIENT_IP>
scope <SCOPE_NAME> delete classid <CLIENT_CLASS_ID>
scope <SCOPE_NAME> delete exclude <START_IP>
scope <SCOPE_NAME> delete option <OPTION_NAME>
scope <SCOPE_NAME> delete reservation <CLIENT_ID>
scope <SCOPE_NAME> interface <INTERFACE|*>
scope <SCOPE_NAME> option <OPTION_NAME> <OPTION_VALUE>
scope <SCOPE_NAME> reservation
    <CLIENT_ID> delete option <OPTION_NAME>

scope <SCOPE_NAME> reservation
     <CLIENT_ID> option <OPTION_NAME> <OPTION_VALUE>
scope <SCOPE_NAME> set range <START_IP> <END_IP>
scope <SCOPE_NAME|*> show declinehistory
show config
show interface <INTERFACE|*>
show options
show scope <NAME|*>
show unleases <SUBSTR|*>
show version
start
stop
unlock interface <INTERFACE>

virtual interface <VIFNAME> add subnet <IP_ADDRESS> <SUBNET_MASK>

virtual interface <VIFNAME> change <GATEWAY> <GWIFNAME|*>

virtual interface <VIFNAME> delete subnet <IP_ADDRESS> <SUBNET_MASK>

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

Например, команда "dhcpd show scope *" может быть сокращена до "dhcpd s s *", а команда "dhcpd show config" до "dhcpd sh c". Команды позволяющие изменять конфигурацию DHCP сервера, а также его старта или остановки, требуют, чтобы администратор имел в данной системе WANFlex права "super-user". Другие команды DHCP сервер будет выполнять для любого пользователя.

В приведенном списке команд их параметры условно изображены в скобках "<>". Если значение какого-либо параметра содержит пробелы, то это значение должно указываться в кавычках.

Например,

#2>dhcpd scope MSOFT add classid "MSFT 5.0"

или

#2>dhcpd add scope "Micro Soft" eth0 9.1.1.201 9.1.1.250

ПРЕДОСТЕРЕЖЕНИЕ

DHCP исполняет команды только после своего запуска:

dhcpd start

Клиенты DHCP сервера (CLIENT)

Протокол DHCP используется для динамической настройки основных параметров подключения хостов (рабочих станций и серверов) к сети TCP/IP. Протокол DHCP  использует в качестве транспортного протокол UDP/IP. Хост, запрашивающий данные о конфигурации своего подключения к сети (ip адрес, маску подсети, основной шлюз и др.) называется клиентом DHCP. Основным параметром конфигурации для клиента является IP адрес. После старта, клиент рассылает по сети специальные DHCP запросы о предоставлении ему в аренду IP адреса и получения прочих параметров сетевой конфигурации. Для своей идентификации клиент в этих запросах может указывать идентификатор клиента. В общем случае, идентификатор клиента – это двоичный набор байтов, уникальный в пределах физического сегмента сети, к которой этот клиент подключен. Если клиент не сообщает свой идентификатор, то за его идентификатор сервер примет физический адрес (MAC) сетевого интерфейса клиента. Т.о. в DHCP сервере клиент идентифицируется своим идентификатором клиента и сетевым интерфейсом с которого сервер принимает запросы от данного клиента (интерфейс клиента). Идентификатор клиента (параметр "<CLIENT_ID>" в командах) представляется в виде ID:<идентификатор>|01:<МАС адрес сетевого адаптера клиента>.

Например,

ID:01:00:04:35:22:88:1D

В своих запросах серверу, клиент может сообщать свой класс (идентификатор класса). Идентификатор класса – это строка символов, которая определяет какое-либо свойство клиента, общее для некоторого множества однотипных. Это может быть, например, название операционной системы клиента или краткое название продукта. Например, DHCP клиенты, работающие под управлением ОС Windows XP, передают в качестве класса клиента “MSFT 5.0”, а IP телефоны Infinet Wireless – “IW_IP_PHONE”. Класс клиента может быть использован администратором сервера для автоматической группировки клиентов в необходимые пулы адресов для удобства назначения специфических  параметров (опций) конфигурации.

Пулы адресов (SCOPE)

Пул (scope) - это диапазон IP-адресов в пределах которого сервер имеет право выделять IP адреса клиентам. Пулы хранятся в конфигурационной базе данных сервера и идентифицируются в ней своим именем, определенным администратором сервера при создании этого пула. Пул создается командой сервера:

Синтаксис:

dhcpd add scope <SCOPE_NAME> <INTERFACE|*> <START_IP> <END_IP>

  • "SCOPE_NAME" – это имя пула. Имя пула безразлично к регистру и должно быть выбрано уникальным. Если имя пула содержит пробелы, сервер  автоматически заменит их на знак «подчеркивание» ( _ )
  • "INTERFACE" – имя сетевого интерфейса, к которому этот пул может подключаться (разрешенный интерфейс). Если вместо имени интерфейса указать *, то это значит, что этому пулу разрешено подключаться к любому подходящему сетевому интерфейсу. Подходящий сетевой интерфейс – это интерфейс, который содержит такую подсеть IP адресов (alias), к которой принадлежат и стартовый и конечный IP адрес этого пула. Если же при создании пула указано имя конкретного интерфейса, то при попытке подключиться, пул будет определять подходящую подсеть только среди подсетей этого интерфейса. Иными словами: пул подключается только к разрешенному интерфейсу, содержащему подсеть к которой пул принадлежит полностью.
  • "START_IP" и "END_IP" – начальный и конечный IP адрес пула соответственно. При подключении к сетевому интерфейсу, проверяется что диапазон подключающегося пула не пересекается (и не принадлежит к) с диапазоном уже подключенного ранее к этому интерфейсу пула. При выделении IP адресов клиентам, рассматриваются только те пулы, которые подключены к сетевому интерфейсу, через который принимаются запросы от данного клиента. Т.е. только пулы подключенные к интерфейсу клиента.

В любом случае, если даже пул по каким либо причинам не может быть подключен, он не уничтожается.

Для создания динамического пула используется следующая команда:

dhcpd add scope <SCOPE_NAME> <INTERFACE|*> <START_IP> <END_IP>

Например,

#2> dhcpd add scope MSOFT eth0  192.168.177.20 192.168.177.22

[eth0] <192.168.177.12> (MSOFT): 
  192.168.177.20-192.168.177.22   Scope attached

OK

Здесь был успешно создан пул с именем "MSOFT" с разрешенным интерфейсом "eth0". После создание пул автоматически подключился к интерфейсу "eth0" к подсети 192.168.177.12

#2> dhcpd add scope new * 10.12.12.30 10.12.12.50
WRN: Scope created, but not attached.

Здесь пул под названием new был создан с разрешением подключаться к любому интерфейсу. Пул был успешно создан, но не смог подобрать интерфейса для подключения, т.к. ни один из интерфейсов не имеет подсети, в которую бы диапазон адресов этого пула помещался бы полностью.

Изменить диапазон адресов ранее созданного пула можно командой:

Синтаксис:

dhcpd scope <SCOPE_NAME> set range <START_IP> <END_IP>

  • "SCOPE_NAME" – это имя пула, диапазон которого требуется изменить
  • "START_IP" и "END_IP" – новый начальный и конечный IP адрес пула соответственно.

Изменить разрешенный для подключения пула интерфейс можно командой:

Синтаксис:

scope <SCOPE_NAME> interface <INTERFACE|*>

  • "SCOPE_NAME" – это имя пула, для которого требуется изменить разрешенный интерфейс
  • "INTERFACE" – имя сетевого интерфейса разрешенного для данного пула. Если в системе не существует интерфейса с таким именем или у этого интерфейса не будет условий для подключения данного пула, то пул немедленно отключится. Это свойство можно использовать для временного отключения какого либо пула, если изменить имя разрешенного ему интерфейса на заведомо несуществующее.

Например,

#2> dhcpd scope OTHER interface -eth0
[eth0] <192.168.177.12> (OTHER):
 192.168.177.10-192.168.177.19   Scope detached
OK

Таким образом мы отключили пул "OTHER". Когда понадобится снова его подключить:

#2> dhcpd scope OTHER interface eth0 (или *)
[eth0] <192.168.177.12> (OTHER):
 192.168.177.10-192.168.177.19   Scope attached
OK

В пул адресов могут быт внесены исключения (exclude). Это диапазоны адресов, принадлежащие пулу, но запрещенные для выдачи в аренду клиентам. Исключения вносятся командой сервера:

Синтаксис:

dhcpd scope <SCOPE_NAME> add exclude <START_IP> <END_IP>

  • "SCOPE_NAME" – это имя пула в который вносится диапазон исключения
  • "START_IP" и "END_IP" – стартовый и конечный адреса диапазона исключения соответственно. При внесении исключения, его диапазон не должен пересекаться (или принадлежать к)  ни с одним из диапазонов исключения, ранее внесенным в данный пул. Вносимый диапазон исключения должен принадлежать пулу. Удаление ранее внесенного исключения производится командой сервера:

Синтаксис:

dhcpd scope <SCOPE_NAME> delete exclude <START_IP>

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

ПРЕДОСТЕРЕЖЕНИЕ

При выполнении команды "dhcpd scope <SCOPE_NAME> set range <START_IP> <END_IP>", те ранее созданные в пуле исключения, которые перестают удовлетворять устанавливаемому диапазону, будут удалены из пула автоматически!

Фильтр классов клиентов (CLASSID)

Пулы адресов имеют фильтр классов клиентов. Если клиент в запросе сообщает свой класс, то сервер может выделить IP адрес для этого клиента только из таких пулов, подключенных к интерфейсу клиента, у которых в фильтре классов имеется сообщаемый класс. Фильтр представляет собой список идентификаторов классов клиентов, для которых разрешено выделять из этого пула адреса в аренду. Чтобы сформировать у пула фильтр классов, необходимо добавить в список классов пула один или несколько идентификаторов классов клиентов (client vendor class id), которым он будет вправе выдавать IP адреса из своего диапазона в аренду. Для добавления каждого класса существует команда:

Синтаксис:

scope <SCOPE_NAME> add classid <CLIENT_CLASS_ID>

  • "SCOPE_NAME" – это имя пула в который добавляется идентификатор класса клиента со значением "CLIENT_CLASS_ID"
  • "CLIENT_CLASS_ID" – это набор символов произвольной длины (не более 255). Если этот параметр должен содержать пробелы, то необходимо указывать его в командной строке в кавычках. Класс клиента сопоставляется с тем, который сообщает клиент в пакетах запроса аренды IP адреса. В случае, если клиент сообщил такой свой класс, которого нет ни у одного пула в своем фильтре, или клиент вовсе не сообщил свой класс, то для выделения ему IP адреса сервер в праве использовать только такие пулы, у которых фильтр классов пуст.

Для удаления класса из фильтра пула существует команда:

Синтаксис:

scope <SCOPE_NAME> delete classid <CLIENT_CLASS_ID>

Сетевые интерфейсы (INTERFACE)

Сетевой интерфейс – физический или VLAN сетевой адаптер, зарегистрированный в ядре ОС WANFlex. Сервер при старте самостоятельно определяет набор сетевых интерфейсов, пригодных для обслуживания DHCP клиентов. Пригодным считается интерфейс, подключенный к сети множественного доступа, поддерживающие широковещательную передачу broadcast (BMA), в том числе и виртуальный (VLAN). В базе данных сервера интерфейс идентифицируется своим именем, которое было присвоено интерфейсу при регистрации в ядре ОС WANFlex. Для просмотра информации о интерфейсах существует команда:

Синтаксис:

show interface <INTERFACE|*>

  • "INTERFACE" – это имя сетевого интерфейса, информацию о котором требуется распечатать. Если вместо имени интерфейса указать "*", то будет выведена информация о всех интерфейсах. Информация выводится в виде структурированного списка.

Например,

#2> dhcpd show interface *
>INTERFACES
[eth0] UP
 <SUBNET> 9.1.1.100/255.255.255.0
        <SCOPE> (PHONES) 9.1.1.151 - 9.1.1.200
 <SUBNET> 192.168.177.12/255.255.255.0
        <SCOPE> (OTHER) 192.168.177.10 - 192.168.177.19
        <SCOPE> (MSOFT) 192.168.177.20 - 192.168.177.22
[vlan0] DOWN
 <SUBNET> 192.168.178.1/255.255.255.0
OK

Здесь видно, что сервер обслуживает два сетевых интерфейса с именами "eth0" и "vlan0". "eth0" включен (UP) и у него две IP подсети. К одной из этих подсетей в данный момент подключился пул с именем "PHONES", а к другой подключились два пула: "OTHER" и "MSOFT". К интерфейсу "vlan0" не может подключится ни один из пулов, т.к. интерфейс переведен системным администратором в положение ВЫКЛЮЧЕН (DOWN).

При необходимости можно запретить DHCP серверу использовать тот или иной интерфейс. Для этого можно подать команду

Синтаксис:

lock interface <INTERFACE>

  • "<INTERFACE>" - имя интерфейса. При этом сервер отключит те пулы, которые были подключены на момент подачи этой команды и не будет допускать подключение других.

Например,

#2> dhcpd show interface *
>INTERFACES
[eth0] UP
 <SUBNET> 9.1.1.100/255.255.255.0
        <SCOPE> (PHONES) 9.1.1.151 - 9.1.1.200
 <SUBNET> 192.168.177.12/255.255.255.0
        <SCOPE> (OTHER) 192.168.177.10 - 192.168.177.19
        <SCOPE> (MSOFT) 192.168.177.20 - 192.168.177.22
[vlan0] DOWN
 <SUBNET> 192.168.178.1/255.255.255.0
OK

В этом примере у DHCP сервера есть два интерфейса: "eth0" и "vlan0". При этом vlan0 был отключен командой "WANFlex ifconfig vlan0 down". "Eth0" был включен и к нему подключились три пула: "phones", "other" и "msoft". При этом phones подключился к подсети 9.1.1.100/255.255.255.0, а остальные к 192.168.177.12/255.255.255.0. Допустим, мы хотим заблокировать использование интерфейса "eth0" DHCP сервером:

Например,

#2> dhcpd lock interface eth0
[eth0] <9.1.1.100> (PHONES):
  9.1.1.151-9.1.1.200   Scope detached
[eth0] <192.168.177.12> (OTHER):
  192.168.177.10-192.168.177.19   Scope detached
[eth0] <192.168.177.12> (MSOFT):
  192.168.177.20-192.168.177.22   Scope detached
OK

После блокировки вновь посмотрим состояние интерфейсов DHCP сервера

#2> dhcpd show interface *
>INTERFACES
[eth0] UP LOCKED
 <SUBNET> 9.1.1.100/255.255.255.0
 <SUBNET> 192.168.177.12/255.255.255.0
[vlan0] DOWN
 <SUBNET> 192.168.178.1/255.255.255.0
OK

Видно, что теперь интерфейс "eth0" заблокирован. При этом от него отключились все пулы.

Отменить запрет можно командой:

Синтаксис:

dhcpd unlock interface <INTERFACE>

Например,

#2> dhcpd unlock interface eth0
[eth0] <192.168.177.12> (MSOFT):
  192.168.177.20-192.168.177.22   Scope attached
[eth0] <192.168.177.12> (OTHER):
  192.168.177.10-192.168.177.19   Scope attached
[eth0] <9.1.1.100> (PHONES):
  9.1.1.151-9.1.1.200   Scope attached
OK
#2> dhcpd show interface *
>INTERFACES
[eth0] UP
 <SUBNET> 9.1.1.100/255.255.255.0
        <SCOPE> (PHONES) 9.1.1.151 - 9.1.1.200
 <SUBNET> 192.168.177.12/255.255.255.0
        <SCOPE> (OTHER) 192.168.177.10 - 192.168.177.19
        <SCOPE> (MSOFT) 192.168.177.20 - 192.168.177.22
[vlan0] DOWN
 <SUBNET> 192.168.178.1/255.255.255.0
OK

Резервации пулов (scope reservation)

Главная цель резервации пула – зафиксировать IP адрес выделяемый для определенного клиента из данного пула. Для создания резервации пула существует команда:

Синтаксис:

dhcpd scope <SCOPE_NAME> add
   reservation <CLIENT_ID> <CLIENT_IP>

  • "SCOPE_NAME" – это имя пула в который добавляется резервация.
  • "CLIENT_ID" – идентификатор клиента,
  • "CLIENT_IP" – IP адрес, который будет выдаваться этому клиенту. Резервации пулов хранятся в конфигурационной базе данных сервера и идентифицируются в ней названием пула плюс идентификатор клиента.

Например,

#2>dhcpd scope PHONES add reservation
          ID:01:00:04:35:00:22:23 9.1.1.170
OK

Т.о., если через интерфейс, к которому подключен пул "PHONES" поступит DHCP запрос от клиента ID:01:00:04:35:00:22:23, то сервер обязательно выдаст ему IP адрес 9.1.1.170. При этом IP адрес резервации обязан быть из диапазона пула, но на нее не действует правило исключений пула. Т.е. даже если бы у пула было задано исключение (например, "dhcpd scope PHONES add exclude 9.1.1.165 9.1.1.175"), к которому принадлежит адрес резервации, сервер все равно создаст такую резервацию. Если при добавлении резервации обнаружится, что уже существует резервация для такого клиента в каком-либо другом пуле, подключенном к данному интерфейсу, то сервер не создаст такой резервации и сообщит об ошибке.

#1> dhcpd scope other add reservation
       ID:01:00:04:35:00:22:23 192.168.177.10
[eth0] <192.168.177.12> (OTHER):
 192.168.177.10-192.168.177.19  Reservation for "ID:01:00:04:35:00:22:23" already exists in scope PHONES with IP=9.1.1.170
ERR: Reservation's IP is out of scope's range

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

Рассмотрим ситуацию:

#2> dhcpd show scope *
>SCOPES:
(MSOFT)         192.168.177.20  - 192.168.177.22  [eth0] ATTACHED [eth0] <192.168.177.12>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_BRI_GATEWAY" "MSFT 5.0"
 <CLIENT> ID:01:00:C0:DF:10:AF:69 "MSFT 5.0"      'wad     ' 192.168.177.20  <BOUND>    since 01/01/2003 05:01:08
 <FREE RANGE>   192.168.177.21  - 192.168.177.22   =2
          (NEW)           10.12.12.30     - 10.12.12.50     [*]

(OTHER)         192.168.177.10  - 192.168.177.19  [eth0] ATTACHED [eth0] <192.168.177.12>/255.255.255.0
 <CLIENT> ID:01:00:05:90:02:1F:C8 ""              '        ' 192.168.177.10  <BOUND>    since 01/01/2003 05:34:24
 <FREE RANGE>   192.168.177.11  - 192.168.177.11   =1
 <FREE RANGE>   192.168.177.13  - 192.168.177.19   =7

(PHONES)        9.1.1.151       - 9.1.1.200       [*] ATTACHED [eth0] <9.1.1.100>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_IP_PHONE"
 <CLIENT> ID:01:00:04:35:00:22:24 "IW_IP_PHONE"   'Stas    ' 9.1.1.151       <BOUND>    since 01/01/2003 05:00:34
 <FREE RANGE>   9.1.1.152       - 9.1.1.169        =18
 <RESERV> ID:01:00:04:35:00:22:23 "IW_IP_PHONE"   'Andrew  ' 9.1.1.170       <BOUND>    since 01/01/2003 05:49:35
 <FREE RANGE>   9.1.1.171       - 9.1.1.200        =30
 <OPTION>       Router  9.1.1.3
 <OPTION>       H323_GK_ADDRESS 195.38.45.84

OK

Здесь видно, что клиент "ID:01:00:05:90:02:1F:C8" в DHCP запросе не указал свой класс (“”), и поэтому, сервер отдал право выделять ему IP адрес пулу "OTHER", подключенному к подсети 192.168.177.12/255.255.255.0 интерфейса "eth0", т.к. у него отсутствует фильтр классов клиентов. С другой стороны, администратору необходимо, чтобы клиент "ID:01:00:05:90:02:1F:C8" получал IP адрес и дополнительные параметры конфигурации из пула "PHONES". Для этого в пуле "PHONES" мы создадим резервацию для этого клиента с IP адресом, например, 9.1.1.200:

#2> dhcpd scope PHONES add reservation
        ID:01:00:05:90:02:1F:C8 9.1.1.200
OK
#2> dhcpd show scope *
>SCOPES:
(MSOFT)         192.168.177.20  - 192.168.177.22  [eth0] ATTACHED [eth0] <192.168.177.12>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_BRI_GATEWAY" "MSFT 5.0"
 <CLIENT> ID:01:00:C0:DF:10:AF:69 "MSFT 5.0"      'wad     ' 192.168.177.20  <BOUND>    since 01/01/2003 05:01:08
 <FREE RANGE>   192.168.177.21  - 192.168.177.22   =2

(NEW)           10.12.12.30     - 10.12.12.50     [*]

(OTHER)         192.168.177.10  - 192.168.177.19  [eth0] ATTACHED [eth0] <192.168.177.12>/255.255.255.0
 <FREE RANGE>   192.168.177.10  - 192.168.177.11   =2
 <FREE RANGE>   192.168.177.13  - 192.168.177.19   =7

(PHONES)        9.1.1.151       - 9.1.1.200       [*] ATTACHED [eth0] <9.1.1.100>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_IP_PHONE"
 <CLIENT> ID:01:00:04:35:00:22:24 "IW_IP_PHONE"   'Stas    ' 9.1.1.151       <BOUND>    since 01/01/2003 05:00:34
 <FREE RANGE>   9.1.1.152       - 9.1.1.169        =18
 <RESERV> ID:01:00:04:35:00:22:23 "IW_IP_PHONE"   'Andrew  ' 9.1.1.170       <BOUND>    since 01/01/2003 05:49:35
 <FREE RANGE>   9.1.1.171       - 9.1.1.199        =29
 <RESERV> ID:01:00:05:90:02:1F:C8 ""              '        ' 9.1.1.200       <BOUND>    since 01/01/2003 06:22:30
 <OPTION>       Router  9.1.1.3
 <OPTION>       H323_GK_ADDRESS 195.38.45.84

OK

Недостатком такого метода «классификации» клиента является то, что нам пришлось зафиксировать выделяемый этому клиенту IP адрес из пула "PHONES". Этот недостаток можно устранить образованием резервации интерфейса, о которых будет сказано позже.

Если пул больше не нуждается в резервации, то ее можно удалить командой:

Синтаксис:

dhcpd scope <SCOPE_NAME> delete reservation <CLIENT_ID>

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

Например,

#1> dhcpd scope phones delete
       reservation ID:01:00:05:90:02:1F:C8
OK
#1> dhcpd show scope *
>SCOPES:
(MSOFT)         192.168.177.20  - 192.168.177.22  [eth0] ATTACHED [eth0] <192.168.177.12>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_BRI_GATEWAY" "MSFT 5.0"
 <CLIENT> ID:01:00:C0:DF:10:AF:69 "MSFT 5.0"      'wad     ' 192.168.177.20  <BOUND> since 01/01/2003 01:01:08
 <FREE RANGE>   192.168.177.21  - 192.168.177.22   =2

(NEW)           10.12.12.30     - 10.12.12.50     [*]

(OTHER)         192.168.177.10  - 192.168.177.19  [eth0] ATTACHED [eth0] <192.168.177.12>/255.255.255.0
 <CLIENT> ID:01:00:05:90:02:1F:C8 ""              '        ' 192.168.177.10  <BOUND> since 01/01/2003 01:16:36
 <FREE RANGE>   192.168.177.11  - 192.168.177.11   =1
 <FREE RANGE>   192.168.177.13  - 192.168.177.19   =7

(PHONES)        9.1.1.151       - 9.1.1.200       [*] ATTACHED [eth0] <9.1.1.100>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_IP_PHONE"
 <CLIENT> ID:01:00:04:35:00:22:24 "IW_IP_PHONE"   'Stas    ' 9.1.1.151  <BOUND> since 01/01/2003 01:01:47
 <FREE RANGE>   9.1.1.152       - 9.1.1.169        =18
 <RESERV> ID:01:00:04:35:00:22:23 "IW_IP_PHONE"   'Andrew  ' 9.1.1.170  <BOUND> since 01/01/2003 01:01:37
 <FREE RANGE>   9.1.1.171       - 9.1.1.200        =30
 <OPTION>       Router  9.1.1.3
 <OPTION>       H323_GK_ADDRESS 195.38.45.84

OK

В этом случае, после удаления резервации, сервер аннулировал аренду клиентом "ID:01:00:05:90:02:1F:C8" IP адреса 9.1.1.200 в пуле "PHONES", т.к. класс клиента не удовлетворяет фильтру классов пула "PHONES". Спустя некоторое время этот клиент получил в аренду другой адрес из пула "OTHER".

#1> dhcpd scope phones delete
          reservation ID:01:00:04:35:00:22:23
OK
#1> dhcpd show scope phones
>SCOPES:
(PHONES)        9.1.1.151       - 9.1.1.200       [*] ATTACHED [eth0] <9.1.1.100>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_IP_PHONE"
 <CLIENT> ID:01:00:04:35:00:22:24 "IW_IP_PHONE"   'Stas    ' 9.1.1.151       <BOUND>    since 01/01/2003 01:01:47
 <FREE RANGE>   9.1.1.152       - 9.1.1.169        =18
 <CLIENT> ID:01:00:04:35:00:22:23 "IW_IP_PHONE"   'Andrew  ' 9.1.1.170       <BOUND>    since 01/01/2003 01:01:37
 <FREE RANGE>   9.1.1.171       - 9.1.1.200        =30
 <OPTION>       Router  9.1.1.3
 <OPTION>       H323_GK_ADDRESS 195.38.45.84

OK

А для клиента "ID:01:00:04:35:00:22:23" удаление связанной с ним резервации не привело к аннулированию его аренды адреса 9.1.1.170, т.к. этот клиент удовлетворяет всем правилам пула.

ПРЕДОСТЕРЕЖЕНИЕ

При выполнении команды "dhcpd scope <SCOPE_NAME> set range <START_IP> <END_IP>", те ранее созданные в пуле резервации, которые перестают удовлетворять устанавливаемому диапазону, будут удалены из пула автоматически!

Конфигурационные параметры (options)

Конфигурационные параметры (options) – это параметры, которые клиенты могут запрашивать у сервера для более точной настройки хоста. К таким параметрам относятся, например, "Address Time" (время аренды), "Router" (шлюзы по умолчанию), "NTP Servers" и т.п. Клиенты могут запрашивать различный набор этих параметров. Значения этих параметров сервер передает клиентам только, если клиент включил этот параметр в список запрашиваемых и только если серверу известно значение этого параметра. Набор и значения параметров (опций) определяется при конфигурировании DHCP сервера. Наборы (подразделения) опций могут быть определены для:

  • Резервации пула. Значения опций из этого подразделения будут передаваться клиенту этой резервации
  • Резервации интерфейса. Передаются, если значение запрошенной опции отсутствовало в подразделениях резервации пула
  • Пула. Значения опций из этого подразделения будут передаваться клиенту получившему аренду из этого пула, если запрашиваемая клиентом опция отсутствует в подразделении резервации пула или интерфейса для этого клиента или клиент не является резервацией
  • Интерфейса. Передаются клиентам, получившим аренду в одном из пулов, подключившихся к данному интерфейсу, а значения запрашиваемой опции отсутствовало в резервации пула, в самом пуле и в резервации интерфейса
  • Всего сервера. Передаются клиентам, получившем аренду в одном из пулов сервера, если значение запрашиваемой им опции отсутствовало во всех выше перечисленных подразделениях. По сути, это значения опций по умолчанию.

Если значение какой-либо из запрошенных опций отсутствует во всех подразделения, то клиенту не передается никакого значения этой опции. Исключение составляют две опции:

  • "Address Time" – значение передается всегда (без запроса клиента). Если значение этой опции не определено ни в одном из подразделении, то клиенту передается значение 120 (аренда адреса = 2 минуты)
  • "Subnet Mask" – значение передается всегда (без запроса клиента). Значение этой опции определяется сервером автоматически и ее запрещено определять в подразделениях опций при конфигурации. Значение маски подсети для клиента всегда передается равное маске подсети интерфейса, к которой подключился пул, аренду IP адреса из которого получил клиент.

Сводную таблицу конфигурационных опций DHCP протокола можно получить по адресу: http://www.iana.org/assignments/bootp-dhcp-parameters

Для определения набора опций, у DHCP сервера существует ряд команд для каждого подразделения. У этих команд есть параметры, формат ввода которых одинаков для всех этих команд:

  • "OPTION_NAME" -  название опции (см. сводную таблицу). При указании названия опции, если в названии присутствуют пробелы, то их следует при вводе заменить на знак «подчеркивание» ( _ ). Название опции безразлично к регистру символов.
  • "OPTION_VALUE" – значение опции. Формат ввода значения опции зависит от ее предназначения и разделяется DHCP сервером на три категории (формата):
    • Символьная. Строка символов, как, например, для опции "Bootfile-Name". Если значение этой опции содержит пробелы, то при вводе значение опции следует заключить в кавычки.
    • Двоичная. Одно или несколько десятичных чисел. Если по смыслу опции необходимо задать несколько чисел, то при вводе их необходимо разделить запятыми. Пример таких опций: "Address Time", "Time Offset".
    • IP адрес. Одно или несколько значений, задаваемых в виде IP адреса. Примером такой опции может служить "Router" (шлюз по умолчанию). Если значение такой опции должно состоять из нескольких IP адресов, то при вводе следует разделить их запятыми.

Команда определения (добавления) опций для:

  • Подразделения резерваций пулов

Синтаксис:

dhcpd scope <SCOPE_NAME> reservation
      <CLIENT_ID> option <OPTION_NAME> <OPTION_VALUE>

    • "SCOPE_NAME" – это имя пула для резервации которого необходимо определить значение опции
    • "CLIENT_ID" – идентификатор клиента резервации. Если опция с таким именем ранее была определена в данном наборе, то команда заменит ее значение на указанное в этой команде.
  • Подразделения резерваций интерфейсов

Синтаксис:

dhcpd interface <INTERFACE> reservation
     <CLIENT_ID> option <OPTION_NAME> <OPTION_VALUE>

    • "INTERFACE" – имя интерфейса на котором задана резервация для клиента "CLIENT_ID". Если у данного интерфейса не существовало резервации для указанного клиента, то команда автоматически создаст эту резервацию и добавит в набор ее опций указанную в команде.

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

Не определяет фиксированное значение IP адреса для клиента. Т.о. предоставляет серверу определить динамически из какого пула и какой IP адрес выдать этому клиенту в аренду.

Позволяет изменить класс клиента. Т.е., если определить для резервации интерфейса опцию "Class Id", то при поступлении запросов от клиента этой резервации, его класс будет изменен на значение этой опции. Это бывает необходимо в случаях, когда ПО DHCP клиента не передает своего класса. Тем не менее, этот клиент может быть отнесен к какому-либо, например, указанному в фильтре классов одного из пулов данного интерфейса.

Создание резервации интерфейса не противоречит созданию резервации пула для того же клиента.

  • Подразделения пулов

Синтаксис:

dhcpd scope <SCOPE_NAME>
     option <OPTION_NAME> <OPTION_VALUE>

  • Подразделения интерфейсов

Синтаксис:

dhcpd interface <INTERFACE>
   option <OPTION_NAME> <OPTION_VALUE>

  • Подразделение сервера

Синтаксис:

dhcpd option <OPTION_NAME> <OPTION_VALUE>

Соответственно, существует набор команд для удаления выбранных опций из подразделений :

Синтаксис:

dhcpd scope <SCOPE_NAME>
     reservation <CLIENT_ID> delete option <OPTION_NAME>

dhcpd scope <SCOPE_NAME> delete option <OPTION_NAME>

dhcpd interface <INTERFACE>
     reservation <CLIENT_ID> delete option <OPTION_NAME>

dhcpd interface <INTERFACE> delete option <OPTION_NAME>

dhcpd delete option <OPTION_NAME>

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

Не любые опции могут быть заданы в любом подразделении. Кроме "Subnet Mask", о которой говорилось ранее в допустимом наборе есть опции, которые можно задавать только для определенных подразделении. Для указанного набора данная опция неприменима, сервер сообщит о недопустимости применения данной опции для данного подразделения. Например, опция "Class Id":

Например,

#1> dhcpd scope phones option class_id "TestClass"
ERR: This option cannot contain in the given division

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

  • Subnet Mask
  • Address Request
  • Overload
  • DHCP Msg Type
  • DHCP Server Id
  • Parameter List
  • DHCP Message
  • DHCP Max Msg Size
  • Client Id

При попытке указать (добавить) одну из этих опций для любого подразделения сервер сообщит об ошибке "ERR": "This option cannot contain in the given division".

DHCP сервер поддерживает опции "Classless Static Route" и "MS Classless Static Route".

Предназначены для описания статических бесклассовых маршрутов на клиентах. Формат опций одинаковый: "IP/MASK>GATEWAY[,IP/MASK>GATEWAY,...]".

Например,

dhcpd scope TEST option Classless_Static_Route 192.168.12.0/24>192.169.1.1,192.168.15.0/24>192.169.1.2

Описывает два статических маршрута на подсети 192.168.12.0/24 через gateway 192.169.1.1 и 192.168.15.0/24 через gateway 192.169.1.2.

Для контроля опций, запрошенных клиентом и выданных ему сервером существует команда:

Синтаксис:

dhcpd interface <INTERFACE|*> show client <CLIENT_ID|*>

  • "INTERFACE" – имя сетевого интерфейса, информацию о клиентах которого необходимо распечатать
  • "CLIENT_ID" – идентификатор клиента, информацию о котором необходимо распечатать. Вместо имени интерфейса можно указать *, и тогда будет распечатана информация о клиентах всех интерфейсов сервера. Вместо идентификатора клиента так же допускается указывать *, что будет означать запрос информации о всех клиентах. Информация о запрашиваемых клиентом опциях распечатывается только для клиентов, получивших к текущему моменту времени аренду IP адреса у одного из пулов, подключившихся к данному интерфейсу.

Например,

#2> dhcpd interface * show client *
>INTERFACES CLIENTS
--------- [eth0] ---------
(IPHONES) <CLIENT> ID:01:00:04:35:00:22:24 "IW_IP_PHONE" 'Unknown node' 192.168.0.101 <BOUND> since 25/04/2005 11:32:57
SUPPLIED OPTIONS:
#1       .  .  .  .  . DF Subnet Mask               255.255.255.0
#2       .  .  .  .  .  . Time Offset               <not supplied>
#3       .  .  S  .  .  . Router                    192.168.0.1
#7       .  .  .  .  .  . Log Server                <not supplied>
#42      .  .  S  .  .  . NTP Servers               192.168.0.1
#230     .  .  S  .  .  . H323 GK ADDRESS           192.168.0.1
#231     . IR  .  .  .  . H323 LOGIN ALIAS          IWPhone/V. Pupkin/101
#232     .  .  .  .  .  . H323 GK ID                <not supplied>

Здесь список запрошенных клиентом опций (supplied options) состоит из записей (строк), каждая из которых содержит номер (#<N>) запрашиваемой клиентом опции, карты подразделений сервера из которого эта опция была предоставлена клиенту (если была предоставлена), названия опции и ее значения, если эта опция была предоставлена клиенту. Если запрашиваемая клиентом опция не определена ни в одном из подразделении сервера, то в списке она показывается со значением "<not supplied>". На карте опций подразделения условно обозначаются символами:

  • "SR" – подразделение резервации пула
  • "IR" – подразделение резервации интерфейса
  • "S" – подразделение пула
  • "I" – подразделение интерфейса клиента
  • "SV" – подразделение сервера.

Кроме того, опции, которые были запрошены клиентом и выданы сервером в обязательном порядке, но не определены ни в одном из подразделении (например, "Subnet Mask") обозначаются DF.

Время аренды (Address Time)

Любая аренда IP адреса выдается клиентам на время, определенное опцией "Address Time". Если клиент, которому данная аренда была предоставлена, не подтвердит продление аренды за время "Address Time", сервер аннулирует данную аренду. Значение этого времени может быть установлено и самим клиентом, но не более максимального значения. За максимальное значение этого времени принимается то, которое установлено в опции "Address Time" одного из подразделений, к которому относится данный клиент. Если у сервера не определена такая опция ни в одном из подразделений, то значение максимального времени принимается равным 120 секундам. В случае, если клиент не запрашивает какого-либо значения этого параметра, то сервер выдает аренду на максимальное время, определяемое так, как было описано выше.

Клиент, получивший аренду, периодически подтверждает ее. Периодичность обычно равна половине "Address Time". В ответ на подтверждение продления аренды клиентом, сервер подтверждает для клиента конфигурационные параметры аренды (опции). Т.о. если в течение срока аренды, в конфигурации сервера поменялись состав или значения опций подразделения, к которому относится данный клиент, то клиент об этом «узнает» только в моменты подтверждений продления аренды.

Если по истечении времени аренды клиент ни разу не подтвердил ее, пул аннулирует эту аренду. Если этот клиент не был клиентом резервации пула, то пул, отметит IP адрес этой аренды как «условно свободный». На распечатках состояний пулов (dhcpd show scope *) это состояние обозначается как "<OBIND>". Т.о., при наличии свободных адресов, пул не будет предоставлять "<OBIND>" адреса для новых клиентов. Если в течение одних суток с момента аннулирования аренды, данный клиент вновь запросит аренду, то сервер предоставит ему тот же самый IP адрес, что и был у него во время не продленной им аренды.

#1> dhcpd show scope MSOFT
>SCOPES:
(MSOFT)         192.168.177.20  - 192.168.177.22  [eth0] ATTACHED [eth0] <192.168.177.12>/255.255.255.0
 <CLIENT CLASS IDs>: "IW_BRI_GATEWAY" "MSFT 5.0"
 <CLIENT> ID:01:00:C0:DF:10:AF:69 "MSFT 5.0"      'wad     ' 192.168.177.20  <BOUND>    since 01/01/2003 01:01:14
 <O_BIND> ID:01:00:0F:EA:05:29:C6 "MSFT 5.0"      'win2k3sbs' 192.168.177.21  <OBIND>
 <FREE RANGE>   192.168.177.22  - 192.168.177.22   =1
OK

Одновременно пул записывает параметры аннулированной аренды в специальную базу данных своего интерфейса (boundhistory).

#1> dhcpd interface eth0 show boundhistory
[eth0]
>BOUND_HISTORY 1
(MSOFT) ID:01:00:0F:EA:05:29:C6 BOUND=192.168.177.21     until 02/01/2003 13:25:37
OK

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

Сервер будет повторно использовать условно свободные адреса для других клиентов, если у всех пулов, которые подходят этим клиентам, закончились свободные адреса. При этом сервер в первую очередь будет использовать самые «старые» записи в "boundhistory" интерфейса клиента.

Сервер также аннулирует аренду клиента по запросу самим клиентом завершения им использования данного адреса (например, штатная парковка компьютера).

Проверка допустимости выдачи IP адреса в аренду

Проверка производится в целях предотвращения конфликта IP адресов. После того, как сервер определил IP адрес свободный для передачи в аренду клиенту, но до собственно передачи ее клиенту, сервер обязательно проверяет допустимость предоставления данного IP адреса этому клиенту. Другими словами, сервер убеждается, что этот IP адрес не занят в данный момент ни одним хостом (кроме, может быть самим целевым клиентом) на интерфейсе целевого клиента. Для этого сервер проводит ARP запросы в интерфейсе клиента. Если на запрос никто не ответил или ответил только сам же клиент, то аренда этого IP адреса предоставляется.

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

Если обнаруживается конфликт IP адресов, то данный IP адрес не будет предоставлен в аренду и сервер попытается выделить следующий свободный из адресов подходящего пула. Если в конце концов бесконфликтных свободных адресов не остается, сервер задействует "boundhistory" интерфейса клиента. Если же высвободить IP адрес и там не удалось, сервер заносит клиента в базу данных «не выданных аренд».

Невыданные аренды (unleases)

Клиенты, которым DHCP серверу не удалось выдать IP адрес в аренду, записываются в специальный список – "unleases". Записи в этом списке хранятся в течение 15 минут, если клиент не повторяет попыток получить аренду. Каждая запись в этом списке состоит из полей:

  • Имя сетевого интерфейса, через который от клиента был получен запрос на получение аренды (интерфейс клиента).
  • Идентификатор клиента
  • Идентификатор класса клиента
  • Имя компьютера клиента (host name).

Просмотр содержимого этого списка можно осуществить при помощи команды:

Синтаксис:

dhcpd show unleases <SUBSTR|*>

  • "SUBSTR" – это подстрока для выборочного просмотра списка "unleases". При исполнении команды, сервер будет распечатывать только такие записи "unleases", у которых одно из полей содержит указанную подстроку. При этом учитывается регистр символов. Если вместо подстроки указать "*", то сервер распечатает содержимое этого списка полностью.

Например,

#1> dhcpd show unleases *
>UNLEASES 1
eth0    ID:01:00:C0:DF:10:AF:69 "MSFT 5.0"  wad
OK

Виртуальные интерфейсы (virtual interface)

После старта, DHCP клиенты производят запросы на аренду IP адреса. Эти запросы клиенты рассылают широковещательно. Т.к. клиент в это время еще не имеет выделенного ему IP адреса, сервер также производит начальный диалог с клиентом при помощи широковещательных пакетов (broadcast). Как известно, широковещательные пакеты не подлежат маршрутизации, и таким образом, в этот момент времени диалог между DHCP клиентом и DHCP сервером может состоятся только в пределах одной сети (физического сегмента). Таком образом, если DHCP клиент физически подключен к другой сети, то прямого диалога с DHCP сервером состоятся не может. Однако, на маршрутизаторе, логически соединяющем сеть клиента с сетью DHCP сервера может работать специальная программная компонента – DHCP Relay Agent (DRA). DRA производит ретрансляцию DHCP пакетов (включая и широковещательные) от DHCP клиентов DHCP серверу и обратно. При этом обмен DHCP пакетами между DRA и DHCP сервером происходит только адресно (unicast). Из этого следует, что DRA и DHCP сервер должны знать IP адреса друг друга еще на этапе своей конфигурации. Для этой цели в DHCP сервере существуют виртуальные интерфейсы. В сущности виртуальный интерфейс в DHCP сервере – это некий физический сетевой интерфейс, но находящийся у DRA. Т.к. набор подсетей этих интерфейсов DHCP серверу неизвестен, то при конфигурации виртуальных интерфейсов необходимо указать эти подсети.

Для создания виртуального интерфейса существует команда:

Синтаксис:

add virtual interface <VIFNAME> <GATEWAY> <GWIFNAME|*>

  • "VIFNAME" – имя виртуального интерфейса DHCP сервера
  • "GATEWAY"IP-адрес DRA, у которого находится соответствующий физический интерфейс.
  • "GWIFNAME" – имя интерфейса DRA, который ретрансляцию DHCP пакетов. Если в качестве параметра «GWIFNAME» используется символ «*», то DRA может производить ретрансляцию на всех своих интерфейсах.

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

Например,

#1> dhcpd add virtual interface vvv1  192.168.177.81 *
#1> dhcpd show interface *
>INTERFACES
[eth0] UP
 <SUBNET> 9.1.1.100/255.255.255.0
        <SCOPE> (PHONES) 9.1.1.151 - 9.1.1.200
 <SUBNET> 192.168.177.12/255.255.255.0
        <SCOPE> (MSOFT) 192.168.177.20 - 192.168.177.50
 <SUBNET> 192.168.15.55/255.255.255.0
 <RESERVATION>  for ID:01:00:05:90:02:1F:C8
        <OPTION>        Class_Id        "Swissvoice"
[vlan0] DOWN
 <SUBNET> 192.168.178.1/255.255.255.0
>VIRTUAL INTERFACES
[vvv1] 192.168.177.81:* UP

Таким образом, в конфигурации сервера появился еще один интерфейс с именем «vvv1». Правила работы с ним точно такие же, как и с обычными сетевыми интерфейсами. Однако, прежде чем к этому интерфейсу сможет подключиться какой-либо пул, ему необходимо сконфигурировать набор подсетей. Для этого существует команда:

Синтаксис:

dhcpd virtual interface <VIFNAME> add subnet <IP_ADDRESS> <SUBNET_MASK >

  • "VIFNAME" – имя виртуального интерфейса DHCP сервера
  • "IP_ADDRESS"IP адрес, который имеет DRA на данной подсети
  • "SUBNET_MASK" – маска этой подсети.

Например,

#1> dhcpd virtual interface vvv1
       add subnet 192.168.188.1 255.255.255.0
#1> dhcpd show interface *
>INTERFACES
[eth0] UP
 <SUBNET> 9.1.1.100/255.255.255.0
        <SCOPE> (PHONES) 9.1.1.151 - 9.1.1.200
 <SUBNET> 192.168.177.12/255.255.255.0
        <SCOPE> (MSOFT) 192.168.177.20 - 192.168.177.50
 <SUBNET> 192.168.15.55/255.255.255.0
 <RESERVATION>  for ID:01:00:05:90:02:1F:C8
        <OPTION>        Class_Id        "Swissvoice"
[vlan0] DOWN
 <SUBNET> 192.168.178.1/255.255.255.0
>VIRTUAL INTERFACES
[vvv1] 192.168.177.81:* UP
 <SUBNET> 192.168.188.1/255.255.255.0

Теперь можно создать пул адресов из которых DHCP сервер будет выделять IP адреса в аренду клиентам, прямой доступ к которым имеет данный DRA.

Например,

#1> dhcpd add scope VIRTUAL_TEST 
     vvv1 192.168.188.20 192.168.188.50
#1> dhcpd show interface vvv1
>VIRTUAL INTERFACES
[vvv1] 192.168.177.81:* UP
 <SUBNET> 192.168.188.1/255.255.255.0
        <SCOPE> (VIRTUAL_TEST) 192.168.188.20 - 192.168.188.50
#1> dhcpd show scope virtual_test
>SCOPES:
(VIRTUAL_TEST) 192.168.188.20 - 192.168.188.50 [vvv1] ATTACHED [vvv1] <192.168.188.1>/255.255.255.0 <FREE RANGE> 192.168.188.20 - 192.168.188.50   =31

Удалить подсеть из набора виртуального интерфейса можно командой:

Синтаксис:

dhcpd virtual interface <VIFNAME> delete subnet <IP_ADDRESS> <SUBNET_MASK>

Например,

#1> dhcpd virtual interface vvv1 delete subnet 192.168.188.1 255.255.255.0
#1> dhcpd show scope virtual_test
>SCOPES:
(VIRTUAL_TEST)       192.168.188.20  - 192.168.188.50  [vvv1]

Естественно, раз мы удалили подсеть, к которой был подключен пул, то этот пул немедленно отключился и, т.к. разрешенный интерфейс у него «vvv1», то этот пул будет оставаться неподключенным до тех пор, пока не будет сконфигурирована подходящая для него подсеть у виртуального интерфейса «vvv1».

Очистка конфигурации DHCP сервера

При необходимости очистить конфигурацию сервера, его надо остановить командой "dhcpd stop". После остановки, полностью очистить конфигурацию можно командой

dhcpd clear
  • No labels