Настройка 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:
-
DISCOVER - клиент широковещательно ищет сервер.
-
OFFER - сервер предлагает адрес и параметры.
-
REQUEST - клиент запрашивает предложенный адрес (или продление аренды).
-
ACK - сервер подтверждает выдачу и фиксирует binding (привязку IP к клиенту).
DHCP использует UDP:
-
сервер: 67/udp
-
клиент: 68/udp
Пул DHCP задает:
-
подсеть (network / mask);
-
диапазон выдачи (range);
-
опции (gateway, dns, дополнительные option).
Назначение применяемых команд
Настройка DHCP-сервера состоит из двух частей:
-
включение DHCP в целом и создание пула (pool) в глобальном режиме;
-
включение 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
!
Изучение состояния устройства
Рекомендуемая последовательность проверки:
- убедиться, что 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)