Blog of Khlebalin Dmitriy

(Дорогу осилит идущий…)

DHCP сервер на маршрутизаторе Cisco.

Как обычно, в начале повествования для понимания процесса: http://xgu.ru/wiki/DHCP

Еще один доступный для понимания ресурс:  https://easy-network.ru/69-urok-40.html#1

У меня есть во такая схема. Необходимо чтоб адреса в разных VLANах раздавались DHCP сервером на маршрутизаторе.

Создадим пулы:

R1(config)#ip dhcp pool vlan10

R1(dhcp-config)#network 10.0.0.0 255.255.255.0

## 192.168.0.1 это адрес на внешнем интерфейсе маршрутизатора

R1(dhcp-config)#default-router 192.168.0.1

R1(dhcp-config)#dns-server 8.8.8.8

R1(dhcp-config)#exit

R1(config)#ip dhcp pool vlan20

R1(dhcp-config)#network 20.0.0.0 255.255.255.0

R1(dhcp-config)#default-router 192.168.0.1

R1(dhcp-config)#dns-server 8.8.8.8

R1(dhcp-config)#exit

R1(config)#do wr

Building configuration…

[OK]

R1(config)#

Добавим пару компов для большей наглядности и посмотрим, как отрабатывает DHCP (не забываем настроить access порты на коммутаторе, я это здесь пропущу).

На компьютерах выставим получение адреса по dhcp:

Видим, что адрес в VLAN 10 благополучно получился.

В VLAN 20 аналогично все работает:

Исключим адрес из раздачи:

R1(config)#ip dhcp excluded-address 10.0.0.3

Видим, что очередной наш комп получил адрес 10.0.0.4, значит все благополучно отрабатывает…

Зарезервируем адрес 10.0.0.5 за компом, у которого ранее был адрес 10.0.0.4:

Уточним данные нашего компа:

R1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#ip dhcp pool dhcp_vlan10_ex_reserv

R1(dhcp-config)#host 10.0.0.5 255.255.255.0

R1(dhcp-config)#client-identifier 0100.5079.6668.0b

R1(dhcp-config)#exit

R1(config)#exit

R1#

*Mar  1 01:29:16.939: %SYS-5-CONFIG_I: Configured from console by console

R1#wr

Building configuration…

[OK]

Тут с помощью первой команды мы создаем отдельный DHCP пул только для одного адреса. С помощью второй команды указываем какой адрес необходимо выдавать в данном пуле. А с помощью третьей команды указываем MAC адрес компьютера который должен получить IPадрес из данного пола. В циске есть особенность, в команде сlient-identifier указывается не MAC адрес устройства, а именно идентификатор клиента. Обычно идентификатор клиента можно получить из MAC адреса путем добавления впереди него 00 или же 01 и приведя его к виду указанному в команде. Но иногда такой способ не срабатывает (например, при работе вGNS3 идентификатор интерфейса маршрутизатора, работающего в качестве клиента DHCP, имея MAC адрес c001.122c.0000 имел идентификатор клиента 0063.6973.636f.2d63.3030.302e.3132.3263.2e30.3030.302d.4661.302f.30), отловить идентификатор подключаемого клиента на DHCP сервере можно с помощью команды debug ip dhcp server packet – данный отладчик отобразит реальный идентификатор клиента, в тот момент когда он отправит запрос к вашему DHCP серверу.

Конфиг у меня теперь вот такой:

Проверим, что все отрабатывает правильно:

Все так, как должно быть.

Приведу несколько нужных команд DHCP:

Router#show ip dhcp binding Отображение списка созданных связей, используемых для распространения пакетов протокола DHCP
Router#show ip dhcp binding w x y z Отображения связей применительно для клиента с адресом w.x.y.z.
Router#clear ip dhcp binding a b c d Очистка автоматически созданных связей из базы данных сервера DHCP.
Router#clear ip dhcp binding * Очистка всех связей DHCP.
Router#show ip dhcp conflict Отображение списка всех адресных конфликтов, записанных сервером DHCP.
Router#clear ip dhcp conflict a.b.c.d Очистка адресного конфликта из базы данных.
Router#clear ip dhcp conflict * Очистка конфликтов для всех адресов
Router#show ip dhcp database Отображение недавней активности
Router#show ip dhcp server statistics Отображение списка количества принятых и посланных сообщений сервером DHCP.
Router#clear ip dhcp server statistics Сброс всех счетчиков сервера DHCP.
Router#debug ip dhcp server {events | packets | linkage | class } Отображение обработки адресов DHCP, которые выделены и переопределены.

Рекомендации cisco по настройке, проверки работы DHCP и устранения проблем, связанные с этим:

#show ip dhcp pool

#debug ip dhcp server events

#debug ip dhcp server packet

(config-if)# ip helper-address ip-address

(config)#ip dhcp excluded-address beggining-ip-address [ending-ip-address]

(config)#ip dhcp pool pool-name

(dhcp-config)#network network-address subnet-mask

(dhcp-config)#default-router ip-address

(dhcp-config)#dns-server ip-address

(dhcp-config)#netbios-name-server ip-address

(dhcp-config)#lease days ours minutes | infinite

(dhcp-config)#option 150 ip ip-address  (адрес tftp сервера, который сообщается клиенты)

(config-if)#ip address dhcp  (сообщается интерфейсу роутера, что необходимо получить адрес по DHCP)

В завершении поста, сконфигурирую интерфейс Cisco в качестве DHCP клиента (в одном из наших филиалов Циска висит за NAT именно так):

R2#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

R2(config)#interface fa0/0

R2(config-if)#ip address dhcp

R2(config-if)#no shutdown

R2(config-if)#exit

R2(config)#exit

 

R2#show dhcp lease

R2(config)#interface fa0/0

R2(config-if)#ip dhcp client ?

class-id        Specify Class-ID to use

client-id       Specify Client-ID to use

default-router  Set DHCP default router related information

hostname        Specify hostname to use

lease           Requested address lease time

mobile          Mobile client configuration parameters

request         Specify options (not) to request

route           Options for routes installed by dhcp

update          Dynamically update information

Всем хорошей работы!!!

23.07.2019 Posted by | Network and Wi-fi: cisco, mikrotik, huawei, tp-link, d-link, zyxel и другое... | Комментарии к записи DHCP сервер на маршрутизаторе Cisco. отключены