DHCP Server
Функция DHCP-сервера на коммутаторе позволяет автоматически выдавать IP-адреса и сетевые параметры клиентам в пределах заданной подсети (VLAN). Коммутатор в этом режиме сам отвечает на DHCP-запросы клиентов (DISCOVER/REQUEST) и возвращает OFFER/ACK с параметрами: IP-адрес, маска, шлюз, DNS, время аренды и т.д.
DHCP-сервер на коммутаторе используется, когда:
- в VLAN требуется автономная выдача адресов без отдельного сервера;
- нужно быстро поднять тестовый/лабораторный сегмент;
- требуется локальная выдача адресов в отдельной подсети (например, пользовательский VLAN).
DHCP работает по схеме DORA:
- DISCOVER - клиент широковещательно ищет сервер.
- OFFER - сервер предлагает адрес и параметры.
- REQUEST - клиент запрашивает предложенный адрес (или продление аренды).
- ACK - сервер подтверждает выдачу и фиксирует binding (привязку IP к клиенту).
DHCP использует UDP:
- сервер: 67/udp
- клиент: 68/udp
Пул DHCP задает:
- подсеть (network / mask);
- диапазон выдачи (range);
- опции (gateway, dns, дополнительные option).
Необходимые условия и предварительные требования
Перед настройкой DHCP-сервера необходимо:
- определить VLAN и подсеть, где будет раздача адресов;
- настроить L3-интерфейс VLAN (SVI) как шлюз для клиентов;
- определить диапазон выдачи адресов, чтобы исключить статические адреса;
- определить параметры, которые выдаются клиенту:
- default gateway (шлюз) - обычно адрес VLAN-интерфейса;
- DNS (один или несколько);
- время аренды (lease-time);
- перевести клиентские порты в нужный VLAN;
- убедиться, что в этом же VLAN не работает другой DHCP-сервер.
Назначение применяемой команды/конфигурации
Команды в режиме глобальной конфигурации
| ip dhcp excluded-address
ip dhcp pool
ip dhcp server
no ip dhcp excluded-address
no ip dhcp pool
no ip dhcp server
|
Команды в режиме настройки DHCP
| address <ipv4_addr> <ipv4_mask>
address <ipv4_addr> interface { GigabitEthernet | 25GigabitEthernet }
broadcast <ipv4_addr>
client-identifier fqdn <word>
client-identifier mac-address <mac_ucast>
client-identifier name <word>
client-name <word>
default-router <ipv4_addr>
dns-server <ipv4_addr>
domain-name <word>
hardware-address <mac_ucast>
host <ipv4_addr> <ipv4_mask>
lease { <0-365> <0-23> <0-59> | infinite }
netbios-name-server <ipv4_addr>
netbios-node-type { b-node | h-node | m-node | p-node }
netbios-scope <word>
network <ipv4_addr> <ipv4_mask>
nis-domain-name <word>
nis-server <ipv4_addr>
ntp-server <ipv4_addr>
option 66 ascii <word128>
option 67 ascii <word128>
option 242 ascii <string1-128>
option 242 hex <hexval>
reserved-only
vendor class-identifier <string64>
no address <ipv4_addr>
no broadcast
no client-identifier
no client-name
no default-router
no dns-server
no domain-name
no hardware-address
no host
no lease
no netbios-name-server
no netbios-node-type
no netbios-scope
no network
no nis-domain-name
no nis-server
no ntp-server
no option <1-254>
no reserved-only
no vendor class-identifier <string64>
|
Команды отображения информации
| show ip dhcp detailed statistics { client | combined | normal-forward | relay | server | snooping }
show ip dhcp excluded-address
show ip dhcp pool
show ip dhcp server binding
show ip dhcp server declined-ip
show ip dhcp server statistics
|
Команды очистки
| clear ip dhcp server binding
clear ip dhcp server statistics
clear ip dhcp detailed statistics
|
Пример конфигурирования
Настройка
Шаг 1. Глобальное включение dhcp сервера
Шаг 2. Настройка интерфейса VLAN 100
| (config)# interface vlan 100
(config-if-vlan)# ip address 10.0.100.1 255.255.255.0
|
Шаг 3. Привязка dhcp сервера к интерфейсу
| (config-if-vlan)# ip dhcp server
|
Шаг 4. Создание dhcp пула
| (config)# ip dhcp pool DYNAMIC_POOL
(config-dhcp-pool)# network 10.0.100.0 255.255.255.0
(config-dhcp-pool)# default-router 10.0.100.1
(config-dhcp-pool)# dns-server 8.8.8.8 8.8.4.4
(config-dhcp-pool)# domain-name lab.local
(config-dhcp-pool)# lease 0 0 3
|
Шаг 5. Исключение адресов из dhcp пула
| (config)# ip dhcp excluded-address 10.0.100.1 10.0.100.10
|
Полный вывод выполненных конфигураций
| configure terminal
!
ip dhcp server
!
interface vlan 100
ip address 10.0.100.1 255.255.255.0
ip dhcp server
!
ip dhcp pool DYNAMIC_POOL
network 10.0.100.0 255.255.255.0
default-router 10.0.100.1
dns-server 8.8.8.8 8.8.4.4
domain-name lab.local
lease 0 0 3
!
ip dhcp excluded-address 10.0.100.1 10.0.100.10
|
Изучение состояния устройства
Просмотр конфигурации
| # show ip dhcp server
DHCP server is globally enabled.
Enabled VLANs are 100.
# show ip dhcp pool
Pool Name: DYNAMIC_POOL
----------------------------------------------
Type is network
IP is 10.0.100.0
Subnet mask is 255.255.255.0
Subnet broadcast address is -
Lease time is 3 minutes
Default router is 10.0.100.1
Domain name is lab.local
Option 66: -
Option 67: -
DNS servers are 8.8.8.8 8.8.4.4
NTP server is -
Netbios name server is -
Netbios node type is -
Netbios scope identifier is -
NIS domain name is -
NIS server is -
Vendor class information is -
Client identifer is -
Hardware address is -
Client name is -
Is not restricted to reserved addresses:
No reserved addresses are configured
# show ip dhcp excluded-address
Low Address High Address
--------------- ---------------
01 10.0.100.1 10.0.100.10
# show ip dhcp server binding
IP: 10.0.100.11
----------------------------------------------
State is committed
Binding type is automatic
Pool name is DYNAMIC_POOL
Server/Relay IP is 10.0.100.1
VLAN ID is 100
Subnet mask is 255.255.255.0
Client identifier is type of MAC address that is 02:42:c2:6e:19:00
Hardware address is 02:42:c2:6e:19:00
Lease time is 3 minutes 0 seconds
Expiration is 2 minutes 44 seconds
# show ip dhcp server statistics
Database Counters
=========================
POOL 1
Excluded IP 1
Declined IP 0
=========================
Binding Counters
=========================
Automatic 1
Manual 0
Expired 0
=========================
Message Received Counters
=========================
DISCOVER 1
REQUEST 6
DECLINE 0
RELEASE 0
INFORM 0
=========================
Message Sent Counters
=========================
OFFER 1
ACK 6
NAK 0
=========================
|
Рекомендации выполнения команд/настроек
Диапазон адресов
Диапазон DHCP подбирать так, чтобы исключить статические адреса (шлюз, принтеры, серверы);
Проверка VLAN
Проверять, что клиентские порты действительно в нужном VLAN;
Конфликты адресов
При наличии конфликтов - проверить статические IP у устройств и при необходимости включить функции проверки конфликтов адресов.