01. Конфигурация DHCP
DHCP (RFC2131) — сокращение от Dynamic Host Configuration Protocol (Протокол Динамической Конфигурации Узла). DHCP позволяет динамически назначить IP-адрес, а также передать хосту другие параметры сетевой конфигурации, такие как маршрут по-умолчанию, DNS-сервер, местоположение файла образа прошивки и другие.
DHCP — имеет архитектуру “клиент-сервер”. DHCP-клиент запрашивает сетевой адрес и другие параметры у DHCP-сервера, сервер предоставляет сетевой адрес и параметры конфигурации клиентам. Если DHCP-сервер и DHCP-клиент находятся в разных подсетях, для перенаправления пакетов может быть настроен DHCP-relay.
В общем случае процесс предоставления адреса и других данных по DHCP выглядит следующим образом:
- DHCP клиент отправляет широковещательный запрос DHCPDISCOVER;
- При получении DHCPDISCOVER пакета DHCP сервер отправляет DHCP клиенту DHCPOFFER пакет, содержащий назначаемый IP-адрес и другие параметры;
- DHCP клиент отправляет широковещательный DHCPREQUEST;
- DHCP сервер отправляет пакет DHCPACK клиенту и клиент получает IP-адрес и другие параметры;
Вышеуказанные четыре этапа завершают процесс динамического назначения параметров. Однако, если DHCP сервер и DHCP клиент не находятся в одной сети, сервер не сможет получить широковещательные пакеты, отправленные DHCP клиентом. Для пересылки таких пакетов используется DHCP-relay, который перенаправит широковещательные пакеты от DHCP-клиента серверу как unicast.
Коммутаторы SNR могут быть настроены в качестве DHCP сервера, DHCP relay, а также получать параметры динамически в качестве DHCP-клиента.
1.2. Конфигурация DHCP-сервера
- Включить\выключить DHCP service;
- Настроить пул DHCP-адресов:
- Создать\удалить:
- Настроить передаваемые параметры;
- Настроить привязку IP адреса к MAC;
! В режиме глобальной конфигурации
Включить сервисы DHCP (server, relay)
Выключить сервисы DHCP (по умолчанию)
! В режиме конфигурации интерфейса
Выключить сервисы DHCP на интерфейсе
Включить сервисы DHCP на интерфейсе (по умолчанию)
2. Настроить пул DHCP-адресов:
! В режиме глобальной конфигурации
Создать пул адресов для DHCP-сервера и войти в режим его конфигурирования.
Удалить пул адресов для DHCP-сервера
b. Настроить передаваемые параметры;
network-address [mask | prefix-length]
! В режиме конфигурирования DHCP pool
Добавить область адресов в текущий DHCP pool
Удалить область адресов из текущего DHCP pool
! В режиме конфигурирования DHCP pool
Задать один или несколько (до 8 одновременно) шлюзов по-умолчанию. Чем раньше задан адрес, тем выше приоритет он будет иметь.
Удалить адрес шлюза по-умолчанию.
! В режиме конфигурирования DHCP pool
Задать один или несколько (до 8 одновременно) DNS-адресов. Чем раньше задан адрес, тем выше приоритет он будет иметь.
! В режиме конфигурирования DHCP pool
! В режиме конфигурирования DHCP pool
Задать один или несколько (до 8 одновременно) адресов WINS-серверов.
Удалить адрес WINS-сервера
! В режиме конфигурирования DHCP pool
Удалить параметр WINS node-type.
! В режиме конфигурирования DHCP pool
! В режиме конфигурирования DHCP pool
Задать IP-адрес сервера, на котором хратится bootfile
Удалить IP-адрес сервера, на котором хратится bootfile
! В режиме конфигурирования DHCP pool
Настройка параметра | hex | ipaddress >, определенного кодом опции .
Удалить параметр, определенный кодом опции
! В режиме конфигурирования DHCP pool
Задать время аренды адреса, infinite — постоянное использование
Вернуть значение по-умолчанию (1 day)
! В режиме конфигурирования DHCP pool
Задать максимальное время аренды адреса, infinite — постоянное использование
Вернуть значение по-умолчанию (1 day)
! В режиме глобальной конфигурации
Задать диапазон IP-адресов из dhcp pool, который будет исключен из динамического назначения. — начало диапазона, — конец диапазона
c. Настроить привязку IP адреса к MAC;
! В режиме конфигурирования DHCP pool
Задать аппаратный адрес для фиксированного назначения адреса
Удалить аппаратный адрес для фиксированного назначения адреса
! В режиме конфигурирования DHCP pool
Задать IP-адрес, который будет назначен на заданный hardware-address
Удалить IP-адрес, который будет назначен на заданный hardware-address
! В режиме конфигурирования DHCP pool
Задать уникальный ID пользователя
Удалить уникальный ID пользователя
3. Включить логирование конфликта IP-адресов;
no ip dhcp conflict logging
! В режиме глобальной конфигурации
Включить/выключить логирование при обнаружении конфликта адресов, выданных по DHCP
! В привилегированном режиме
Удалить одну или все записи обнаруженных конфликтов адресов
1.3. DHCP-relay
Когда DHCP-клиент и DHCP-сервер находятся в разных сегментах сети, транслировать пакеты может DHCP relay. В результате внедрения DHCP-relay, один DHCP-сервер может использоваться для разных сегментов сети, что не только экономически эффективно, но и удобно в администрировании.
DHCP-клиент, как обычно, выполняет диалог с DHCP-сервером, но в процесс добавляется DHCP-relay. Он перехватывает пакеты от DHCP-клиента и перенаправляет их на заданный адрес DHCP-сервера как unicast, принимает пакеты от DHCP-сервера и перенаправляет их DHCP-клиенту, которому они предназначались.
- Включить\выключить DHCP service;
- Настройка DHCP-relay для перенаправления пакетов;
- Настройка VLAN источника и назначения перенаправления.
! В режиме глобальной конфигурации
Включить сервисы DHCP (server, relay)
Выключить сервисы DHCP (по умолчанию)
2. Настройка DHCP-relay для перенаправления пакетов;
ip forward-protocol udp bootps
no ip forward-protocol udp bootps
! В режиме глобальной конфигурации
Включить пересылку bootps пакетов
Выключить пересылку bootps пакетов
! В режиме конфигурации Interface Vlan
Задать адрес DHCP сервера.
Удалить адрес DHCP сервера.
3. Настройка VLAN источника и назначения перенаправления.
Для использования DHCP-relay на коммутаторе необходимо создать интерфейс уровня 3 для VLAN, которая будет использоваться в качестве share-vlan. Одновременно с этим необходимо включить
ip dhcp relay share-vlan sub-vlan
! В режиме глобальной конфигурации
Задать соответствие VLAN источника (sub-vlan ) и назначения share-vlan перенаправления
Удалить соответствие VLAN источника и назначения перенаправления
1.4. Пример конфигурации DHCP
Чтобы упростить настройку и администрирование, компания использует коммутатор в качестве DHCP-сервера. IP-адрес VLAN управления — 10.16.1.2/16. Сеть компании разделена между сетями A и B по местоположению офис. Конфигурация сети A и B показана в таблице ниже:
В сети A IP адрес 10.16.1.210 фиксированно задан для назначения устройству, имеющему MAC-адрес 00-03-22-23-dc-ab.
Switch(config)#service dhcp Switch(config)#interface vlan 1 Switch(Config-Vlan-1)#ip address 10.16.1.2 255.255.0.0 Switch(Config-Vlan-1)#exit Switch(config)#ip dhcp pool A Switch(dhcp-A-config)#network 10.16.1.0 24 Switch(dhcp-A-config)#lease 3 Switch(dhcp-A-config)#default-route 10.16.1.200 10.16.1.201 Switch(dhcp-A-config)#dns-server 10.16.1.202 Switch(dhcp-A-config)#netbios-name-server 10.16.1.209 Switch(dhcp-A-config)#netbios-node-type H-node Switch(dhcp-A-config)#exit Switch(config)#ip dhcp excluded-address 10.16.1.200 10.16.1.201 Switch(config)#ip dhcp pool B Switch(dhcp-B-config)#network 10.16.2.0 24 Switch(dhcp-B-config)#lease 1 Switch(dhcp-B-config)#default-route 10.16.2.200 10.16.2.201 Switch(dhcp-B-config)#dns-server 10.16.2.202 Switch(dhcp-B-config)#option 72 ip 10.16.2.209 Switch(dhcp-config)#exit Switch(config)#ip dhcp excluded-address 10.16.2.200 10.16.2.201 Switch(config)#ip dhcp pool A1 Switch(dhcp-A1-config)#host 10.16.1.210 Switch(dhcp-A1-config)#hardware-address 00-03-22-23-dc-ab Switch(dhcp-A1-config)#exit
Использование: Когда DHCP/BOOTP клиент подключается к порту коммутатора с VLAN 1, он может получить адрес только из сети 10.16.1.0/24 вместо 10.16.2.0/24. Причина в том, что клиент может широковещательно запрашивать IP-адрес только в сегменте VLAN-интерфейса. Если клиент хочет получить адрес в сети 10.16.2.0/24, шлюз, пересылающий широковещательные пакеты клиента, должен принадлежать сети 10.16.2.0/24, должна быть обеспечена связность между шлюзом и коммутатором.
Коммутатор Switch настроен как DHCP-relay, DHCP-клиент подключен к интерфейсу 1/0/2, DHCP-сервер подключен к интерфейсу 1/0/3. Конфигурация выглядит следующим образом:
Switch(config)#service dhcp Switch(config)#interface vlan 1 Switch(Config-if-Vlan1)#ip address 192.168.1.1 255.255.255.0 Switch(Config-if-Vlan1)#exit Switch(config)#vlan 2 Switch(Config-Vlan-2)#exit Switch(config)#interface Ethernet 1/0/2 Switch(Config-Ethernet1/0/2)#switchport access vlan 2 Switch(Config-Ethernet1/0/2)#exit Switch(config)#interface vlan 2 Switch(Config-if-Vlan2)#ip address 10.1.1.1 255.255.255.0 Switch(Config-if-Vlan2)#exit Switch(config)#ip forward-protocol udp bootps Switch(config)#interface vlan 1 Switch(Config-if-Vlan1)#ip help-address 10.1.1.10 Switch(Config-if-Vlan1)#exit
Рекомендуется использовать комбинацию команд “ip forward-protocol udp bootps” и “ip help-address ”. Команда “ip help-address ” может быть настроена только на интерфейсах уровня 3.
ПК1 и DHCP-сервер подключены к разным портам одного коммутатора Switch1. На ПК1 работает DHCP-клиент, получающий адрес от DHCP-сервера. Switch1 — коммутатор уровня 2, на нем настроены функции DHCP-relay и option 82, Ethernet 1/0/2 — настроен в режим access с vlan 3, Ethernet 1/0/3 настроен в trunk. DHCP сервер имеет адрес 192.168.10.199. На коммутаторе Switch1 создан interface vlan 1 и настроен IP-адрес 192.168.40.50, настроен адрес для перенаправления DHCP — 192.168.10.199. VLAN3 настроен как sub-vlan для vlan 1.
Конфигурация Switch1 выглядит следующим образом:
Switch1(config)#vlan 1 Switch1(config)#vlan 3 Switch1(config)#interface ethernet 1/0/2 Switch1(Config-If-Ethernet1/0/2)#switchport access vlan 3 Switch1(config)#interface ethernet 1/0/3 Switch1(Config-If-Ethernet1/0/2)#switchport mode trunk Switch1(config)#service dhcp Switch1(config)#ip forward-protocol udp bootps Switch1(config)#ip dhcp relay information option Switch1(config)#ip dhcp relay share-vlan 1 sub-vlan 3 Switch1(config)#interface vlan 1 Switch1(config-if-vlan1)#ip address 192.168.40.50 255.255.255.0 Switch1(config-if-vlan1)#ip helper-address 192.168.40.199
1.5. Решение проблем при настройке DHCP
Если DHCP-клиент не может получить IP адрес и другие сетевые параметры, после проверки кабеля и клиентского оборудования следует выполнить следующее:
- Проверьте, запущен ли DHCP-сервер;
- Если DHCP клиент и DHCP сервер находятся не в одной сети и не имеют прямой L2-связности, проверьте, настроена ли на коммутаторе, отвечающем за пересылку пакетов, функция DHCP-relay;
- Проверьте, имеет ли DHCP-сервер адресный пул в том же сегменте, что и адрес interface vlan коммутатора, перенаправляющего DHCP-пакеты;
- На данном коммутаторе адресный пул может быть настроен либо как динамический, командой “network-address” , либо как статический, командой “host”. Привязка только одного адреса может быть настроена в каждом пуле. Если необходимо настроить несколько адресов для ручной привязки, необходимо создать отдельный DHCP-pool для каждой привязки.