Перейти к содержанию

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-сервер.

Назначение применяемой команды/конфигурации

Команды в режиме глобальной конфигурации

1
2
3
4
5
6
7
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>

Команды отображения информации

1
2
3
4
5
6
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

Команды очистки

1
2
3
clear ip dhcp server binding
clear ip dhcp server statistics
clear ip dhcp detailed statistics

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

Настройка

Шаг 1. Глобальное включение dhcp сервера

(config)# ip dhcp server

Шаг 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 пула

1
2
3
4
5
6
(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 у устройств и при необходимости включить функции проверки конфликтов адресов.