Skip to content

Настройка DHCP-сервера

Функция DHCP-сервера на коммутаторе позволяет автоматически выдавать IP-адреса и сетевые параметры клиентам в пределах заданной подсети (VLAN). Коммутатор в этом режиме сам отвечает на DHCP-запросы клиентов (DISCOVER/REQUEST) и возвращает OFFER/ACK с параметрами: IP-адрес, маска, шлюз, DNS, время аренды и т.д.

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

  • в VLAN требуется автономная выдача адресов без отдельного сервера;

  • нужно быстро поднять тестовый/лабораторный сегмент;

  • требуется локальная выдача адресов в отдельной подсети (например, пользовательский VLAN).


Необходимые условия и предварительные требования

Перед настройкой DHCP-сервера необходимо:

  • определить VLAN и подсеть, где будет раздача адресов (в примере: VLAN 10, сеть 192.168.10.0/24);

  • настроить L3-интерфейс VLAN (SVI) как шлюз для клиентов (в примере: 192.168.10.1/24);

  • определить диапазон выдачи адресов (в примере: 192.168.10.5–192.168.10.254), чтобы исключить статические адреса;

  • определить параметры, которые выдаются клиенту:

    • default gateway (шлюз) - обычно адрес VLAN-интерфейса;

    • DNS (один или несколько);

    • время аренды (lease-time);

  • перевести клиентские порты в нужный VLAN (access-порт с PVID=10);

  • убедиться, что в этом же VLAN не работает другой DHCP-сервер.


Основная информация о применяемых технологиях

DHCP server (IPv4)

DHCP работает по схеме DORA:

  1. DISCOVER - клиент широковещательно ищет сервер.

  2. OFFER - сервер предлагает адрес и параметры.

  3. REQUEST - клиент запрашивает предложенный адрес (или продление аренды).

  4. ACK - сервер подтверждает выдачу и фиксирует binding (привязку IP к клиенту).

DHCP использует UDP:

  • сервер: 67/udp

  • клиент: 68/udp

Пул DHCP задает:

  • подсеть (network / mask);

  • диапазон выдачи (range);

  • опции (gateway, dns, дополнительные option).


Назначение применяемых команд

Настройка DHCP-сервера состоит из двух частей:

  1. включение DHCP в целом и создание пула (pool) в глобальном режиме;

  2. включение DHCP-сервера на VLAN-интерфейсе, где будут клиенты.

Включение DHCP

dhcp start - включает сервис DHCP на устройстве (глобально).

Создание пула адресов

dhcp pool <ID> - создает/открывает пул DHCP.

Внутри пула используются команды:

  • network range A.B.C.D A.B.C.D mask A.B.C.D - задает диапазон выдачи адресов и маску.

  • gateway A.B.C.D - задает шлюз по умолчанию, который получит клиент.

  • dns A.B.C.D - задает DNS-сервер.

  • lease-time day <d> hour <h> minute <m> - задает время аренды.

Включение DHCP-сервера на VLAN-интерфейсе

Команда применяется в режиме интерфейса VLAN:

  • ip dhcp server - включает режим DHCP-сервера на конкретном VLAN-интерфейсе (SVI).
    Важно: DHCP раздает адреса именно в том L2-сегменте, который соответствует этому VLAN.

Пример конфигурирования

Исходное состояние

  • На коммутаторе создан VLAN 10.

  • Клиенты подключаются к порту 10gigaethernet 1/0/2 и должны получать адрес по DHCP.

  • Шлюзом в сети VLAN 10 будет интерфейс vlan 10 с IP 192.168.10.1/24.

  • Диапазон выдачи: 192.168.10.5–192.168.10.254.

  • DNS: 8.8.8.8.

  • Время аренды: 7 дней.

Задача

  • Включить DHCP на коммутаторе.

  • Создать пул DHCP для VLAN 10.

  • Включить DHCP-сервер на интерфейсе VLAN 10.

  • Настроить клиентский порт как access VLAN 10.

Пример конфигурации (CLI)

SW1# configure


! L3-интерфейс VLAN 10 (шлюз)
SW1(config)# interface vlan 10
SW1(config-vlanif-10)# ip address 192.168.10.1/24
SW1(config-vlanif-10)# ip dhcp server
SW1(config-vlanif-10)# exit

! Включаем DHCP сервис и создаем пул
SW1(config)# dhcp start
SW1(config)# dhcp pool 10
SW1(config-dhcp-pool-10)# network range 192.168.10.5 192.168.10.254 mask 255.255.255.0
SW1(config-dhcp-pool-10)# gateway 192.168.10.1
SW1(config-dhcp-pool-10)# dns 8.8.8.8
SW1(config-dhcp-pool-10)# lease-time day 7 hour 0 minute 0
SW1(config-dhcp-pool-10)# quit

! Порт клиента в VLAN 10 (access)
SW1(config)# interface 10gigaethernet 1/0/2
SW1(config-10ge1/0/2)# port link-type access
SW1(config-10ge1/0/2)# port default vlan 10
SW1(config-10ge1/0/2)# end

SW1# write file

Полный вывод выполненных конфигураций

Фрагменты конфигурации, относящиеся к DHCP-серверу и VLAN 10:

SW1#show running-config
!
vlan 1,10
!
dhcp start
dhcp pool 10
 network range 192.168.10.5 192.168.10.254 mask 255.255.255.0
 gateway 192.168.10.1
 dns 8.8.8.8
 lease-time day 7 hour 0 minute 0
!
interface vlan 10
 ip address 192.168.10.1/24
 ip dhcp server
!

Изучение состояния устройства

Рекомендуемая последовательность проверки:

  1. убедиться, что DHCP включен глобально; 2) проверить конфигурацию пула; 3) проверить, что DHCP-server включен на нужном VLAN; 4) посмотреть статистику выдачи.

Просмотр параметров работы (общий статус DHCP)

Команда show dhcp показывает состояние DHCP и ключевые параметры сервиса:

SW1#show dhcp
 Version : DHCP_VB3.00.02.00
 DHCP State : Enable
 DHCP Server Detect : Disable
 DHCP Address Check Time(ms) : 500
 DHCP Server Option82 : Enable
 DHCP Lease Entry Number : 250
 DHCP Bind Entry Number : 37
 DHCP Forbidden Entry Number : 0
 DHCP Conflict IP Number : 1
 DHCP Expired IP Number : 4
 DHCP User Flush Interval(s) : 1800

Обратите внимание:

  • DHCP State : Enable - DHCP сервис включен.

  • DHCP Bind Entry Number - количество активных привязок (клиенты реально получили адреса).

  • DHCP Conflict IP Number - обнаруженные конфликты адресов (если растет - проверяйте статические IP у клиентов).

  • DHCP Server Detect - функция detect отключена (в примере это допустимо).

Просмотр конфигурации DHCP (пулы и включение на интерфейсе)

Команда show dhcp config отображает примененные настройки DHCP и привязку DHCP-сервера к VLAN-интерфейсу:

SW1#show dhcp config
!
dhcp start
dhcp pool 10
 network range 192.168.10.5 192.168.10.254 mask 255.255.255.0
 gateway 192.168.10.1
 dns 8.8.8.8
 lease-time day 7 hour 0 minute 0
!
interface vlan 10
 ip dhcp server

Что проверяем по выводу:

  • пул 10 действительно содержит нужный диапазон;

  • шлюз и DNS заданы;

  • ip dhcp server включен на interface vlan 10.

Проверка, что DHCP-сервер включен именно на нужном VLAN

Команда show dhcp server показывает VLAN-интерфейсы, где включен DHCP-сервер:

SW1#show dhcp server
DHCP server Configure!
 vlan10
   dhcp server mode: enable

Просмотр статистики DHCP-сервера

Команда show dhcp server statistic показывает счетчики обработки DHCP-сообщений и количество выдач:

SW1#show dhcp server statistic
Pool Number : 1
Auto-bind IP Address Number : 37
Manual-bind IP Address Number : 2
Boot Request In: 3
Discover In : 184
Request In : 176
Decline In : 2
Release In : 11
Boot Reply Out: 3
Offer Out : 184
ACK Out : 176
NAK Out : 8
Packets Error Out : 1

Как интерпретировать:

  • Discover In / Offer Out растут парой - клиенты запрашивают адреса, сервер делает предложения.

  • Request In / ACK Out растут - клиенты подтверждают выбор адреса, сервер выдает/продлевает аренду.

  • NAK Out - отказы (например, клиент пришел с некорректным состоянием или запросом вне пула).

  • Decline In - клиент отказался от адреса (часто при конфликте IP).

  • Auto-bind IP Address Number - реальные адреса, выданные автоматически из пула.


Рекомендации выполнения команд/настроек

Рекомендуется:

  • диапазон DHCP подбирать так, чтобы исключить статические адреса (шлюз, принтеры, серверы);

  • проверять, что клиентские порты действительно в нужном VLAN (access + PVID);

  • при наличии конфликтов (Conflict/Decline) - проверить статические IP у устройств и при необходимости включить функции проверки конфликтов адресов (если приняты в вашей эксплуатации).


История возникновения команды

Команды и конфигурации, приведенные в данной главе, применимы для:

  • аппаратных платформ CIT серии L3200;

  • версии ПО v1.0.2 (по выводу running-config в примере).


Ссылка на внешнюю документацию

  • RFC 2131 - Dynamic Host Configuration Protocol (DHCP) - базовая спецификация DHCP. (rfc-editor.org)

  • RFC 2132 - DHCP Options and BOOTP Vendor Extensions - описание стандартных опций DHCP. (rfc-editor.org)

  • RFC 3046 - DHCP Relay Agent Information Option (Option 82) - спецификация Option 82. (rfc-editor.org)

  • RFC 5227 - IPv4 Address Conflict Detection - общие принципы обнаружения конфликтов IPv4-адресов. (rfc-editor.org)