Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »


1.1. Общие сведения о DHCP

DHCP (RFC2131) - сокращение от Dynamic Host Configuration Protocol (Протокол Динамической Конфигурации Узла). DHCP позволяет динамически назначить IP-адрес, а также передать хосту другие параметры сетевой конфигурации, такие как маршрут по-умолчанию, DNS-сервер, местоположение файла образа прошивки и другие.
DHCP - имеет архитектуру “клиент-сервер”. DHCP-клиент запрашивает сетевой адрес и другие параметры у DHCP-сервера, сервер предоставляет сетевой адрес и параметры конфигурации клиентам. Если DHCP-сервер и DHCP-клиент находятся в разных подсетях, для перенаправления пакетов может быть настроен DHCP-relay.

В общем случае процесс предоставления адреса и других данных по DHCP выглядит следующим образом:

  1. DHCP клиент отправляет широковещательный запрос DHCPDISCOVER;

  2. При получении DHCPDISCOVER пакета DHCP сервер отправляет DHCP клиенту DHCPOFFER пакет, содержащий назначаемый IP-адрес и другие параметры;

  3. DHCP клиент отправляет широковещательный DHCPREQUEST;

  4. DHCP сервер отправляет пакет DHCPACK клиенту и клиент получает IP-адрес и другие параметры;

Вышеуказанные четыре этапа завершают процесс динамического назначения параметров. Однако, если DHCP сервер и DHCP клиент не находятся в одной сети, сервер не сможет получить широковещательные пакеты, отправленные DHCP клиентом. Для пересылки таких пакетов используется DHCP-relay, который перенаправит широковещательные пакеты от DHCP-клиента серверу как unicast.

Коммутаторы SNR могут быть настроены в качестве DHCP сервера, DHCP relay, а также получать параметры динамически в качестве DHCP-клиента.

1.2. Конфигурация DHCP-сервера

  1. Включить\выключить DHCP service;

  2. Настроить пул DHCP-адресов:

    1. Создать\удалить:

    2. Настроить передаваемые параметры;

    3. Настроить привязку IP адреса к MAC;

  3. Включить логирование конфликта IP-адресов;


  1. Включить\выключить DHCP service;

Команда

Описание

service dhcp

no service dhcp

!  В режиме глобальной конфигурации

Включить сервисы DHCP (server, relay)

Выключить сервисы DHCP (по умолчанию)

ip dhcp disable

no ip dhcp disable

!  В режиме конфигурации интерфейса

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

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


2. Настроить пул DHCP-адресов:

a. Создать\удалить

Команда

Описание

ip dhcp pool <name>

no ip dhcp pool <name>

!  В режиме глобальной конфигурации

Создать пул адресов для DHCP-сервера и войти в режим его конфигурирования.

Удалить пул адресов для DHCP-сервера


b. Настроить передаваемые параметры;

Команда

Описание

network-address <network-number> [mask | prefix-length]

no network-address

!  В режиме конфигурирования DHCP pool

Добавить область адресов в текущий DHCP pool


Удалить область адресов из текущего DHCP pool

default-router [<address1>[<address2>[…<address8>]]]


no default-router

!  В режиме конфигурирования DHCP pool

Задать один или несколько (до 8 одновременно) шлюзов по-умолчанию. Чем раньше задан адрес, тем выше приоритет он будет иметь.

Удалить адрес шлюза по-умолчанию.

dns-server [<address1>[<address2>[…<address8>]]]


no dns-server

!  В режиме конфигурирования DHCP pool

Задать один или несколько (до 8 одновременно) DNS-адресов. Чем раньше задан адрес, тем выше приоритет он будет иметь.

Удалить адрес DNS-сервера

domain-name <domain>

no domain-name

!  В режиме конфигурирования DHCP pool

Задать доменное имя

Удалить доменное имя

netbios-name-server [<address1>[<address2>[…<address8>]]]

no netbios-name-server

!  В режиме конфигурирования DHCP pool

Задать один или несколько (до 8 одновременно) адресов WINS-серверов.


Удалить адрес WINS-сервера


netbios-node-type {b-node|h-node|m-node|p-node|<type-number>}

no netbios-node-type

!  В режиме конфигурирования DHCP pool

Задать WINS node-type.


Удалить параметр WINS node-type.

bootfile <filename>

no bootfile

!  В режиме конфигурирования DHCP pool

Задать загрузочный файл

Удалить загрузочный файл

next-server [<address1>[<address2>[…<address8>]]]

no next-server [<address1>[<address2>[…<address8>]]]

!  В режиме конфигурирования DHCP pool

Задать IP-адрес сервера, на котором хратится bootfile

Удалить IP-адрес сервера, на котором хратится bootfile

option <code> {ascii <string> | hex <hex> | ipaddress <ipaddress>}

no option <code>

!  В режиме конфигурирования DHCP pool

Настройка параметра {ascii <string> | hex <hex> | ipaddress <ipaddress>}, определенного кодом опции <code>.

Удалить параметр, определенный кодом опции <code>

lease { days [hours][minutes] | infinite }

no lease

! В режиме конфигурирования DHCP pool

Задать время аренды адреса, infinite - постоянное использование

Вернуть значение по-умолчанию (1 day)

max-lease-time {[<days>] [<hours>] [<minutes>] | infinite}

no max-lease-time

!  В режиме конфигурирования DHCP pool

Задать максимальное время аренды адреса, infinite - постоянное использование

Вернуть значение по-умолчанию (1 day)

ip dhcp excluded-address <low-address> [<high-address>]

no ip dhcp excluded-address <low-address> [<high-address>]

!  В режиме глобальной конфигурации

Задать диапазон IP-адресов из dhcp pool, который будет исключен из динамического назначения. <low-address> - начало диапазона, <high-address> - конец диапазона

Удалить диапазон адресов


c. Настроить привязку IP адреса к MAC;

Команда

Описание

hardware-address <hardware-address> [{Ethernet | IEEE802|<type-number>}]

no hardware-address

!  В режиме конфигурирования DHCP pool

Задать аппаратный адрес для фиксированного назначения адреса

Удалить аппаратный адрес для фиксированного назначения адреса

host <address> [<mask>|<prefix-length>]

no host

!  В режиме конфигурирования DHCP pool

Задать IP-адрес, который будет назначен на заданный hardware-address

Удалить IP-адрес, который будет назначен на заданный hardware-address

client-identifier <unique-identifier>

no client-identifier

!  В режиме конфигурирования DHCP pool

Задать уникальный ID пользователя

Удалить уникальный ID пользователя


3. Включить логирование конфликта IP-адресов;

Команда

Описание

ip dhcp conflict logging

no ip dhcp conflict logging

!  В режиме глобальной конфигурации

Включить/выключить логирование при обнаружении конфликта адресов, выданных по DHCP

clear ip dhcp conflict <address | all>

!  В привилегированном режиме

Удалить одну <address> или все <all> записи обнаруженных конфликтов адресов

1.3. DHCP-relay

Когда DHCP-клиент и DHCP-сервер находятся в разных сегментах сети, транслировать пакеты может DHCP relay. В результате внедрения DHCP-relay, один DHCP-сервер может использоваться для разных сегментов сети, что не только экономически эффективно, но и удобно в администрировании.

DHCP-клиент, как обычно, выполняет диалог с DHCP-сервером, но в процесс добавляется DHCP-relay. Он перехватывает пакеты от DHCP-клиента и перенаправляет их на заданный адрес DHCP-сервера как unicast, принимает пакеты от DHCP-сервера и перенаправляет их DHCP-клиенту, которому они предназначались.

Настройка DHCP-relay

  1. Включить\выключить DHCP service;

  2. Настройка DHCP-relay для перенаправления пакетов;

  3. Настройка VLAN источника и назначения перенаправления.


  1. Включить\выключить DHCP service;

Команда

Описание

service dhcp

no service dhcp

!  В режиме глобальной конфигурации

Включить сервисы DHCP (server, relay)

Выключить сервисы DHCP (по умолчанию)


2. Настройка DHCP-relay для перенаправления пакетов;

Команда

Описание

ip forward-protocol udp bootps

no ip forward-protocol udp bootps

!  В режиме глобальной конфигурации

Включить пересылку bootps пакетов

Выключить пересылку bootps пакетов


ip helper-address <ipaddress>

no ip helper-address <ipaddress>

!  В режиме конфигурации Interface Vlan

Задать адрес DHCP сервера.

Удалить адрес DHCP сервера.


3. Настройка VLAN источника и назначения перенаправления.

Для использования DHCP-relay на коммутаторе необходимо создать интерфейс уровня 3 для VLAN, которая будет использоваться в качестве share-vlan. Одновременно с этим необходимо включить

Команда

Описание

ip dhcp relay share-vlan <vlanid> sub-vlan <vlanlist>

no dhcp relay share-vlan

!  В режиме глобальной конфигурации

Задать соответствие VLAN источника (sub-vlan <vlanlist>) и назначения share-vlan <vlanid> перенаправления

Удалить соответствие VLAN источника и назначения перенаправления

1.4. Пример конфигурации DHCP

Сценарий 1:

Чтобы упростить настройку и администрирование, компания использует коммутатор в качестве DHCP-сервера. IP-адрес VLAN управления - 10.16.1.2/16. Сеть компании разделена между сетями A и B по местоположению офис. Конфигурация сети A и B показана в таблице ниже:


Pool A (сеть 10.16.1.0)

Pool B (сеть 10.16.2.0)

Шлюз по-умолчанию

10.16.1.200

10.16.1.201

DNS сервер

10.16.1.202

WWW сервер

нет

10.16.1.209

WINS сервер

10.16.1.209

нет

WINS тип ноды

H-node

нет

Время аренды

3 дня

1 день


В сети 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, должна быть обеспечена связность между шлюзом и коммутатором.


Сценарий 2:

Коммутатор 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-address>”. Команда “ip help-address <ip-address>” может быть настроена только на интерфейсах уровня 3.


Сценарий 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 для каждой привязки.

  • No labels