¬аш вопрос св€зан с хэштэгами # орпоративные сети, #Cisco? —просите в Telegram!

ћерион Ќетворкс

6 минут чтени€

ћы продолжаем рассказывать про протокол DHCP (Dynamic Host Configuration Protocol) . ћы уже знаем про принципы работы протокола и про его настройку на оборудовании Cisco, и сегодн€ речь пойдет о том, как находить и исправл€ть проблемы (заниматьс€ траблшутингом) при работе с DHCP.

ѕроблемы с DHCP могут возникать по множеству причин, таких как проблемы программного обеспечени€, в операционных системах, драйверов сетевых карт или агентах ретрансл€ции, но наиболее распространенными €вл€ютс€ проблемы с конфигурацией DHCP. »з-за большого числа потенциально проблемных областей требуетс€ систематический подход к устранению неполадок.


«адача 1. ”странение конфликтов IP адресов

—рок действи€ адреса IPv4 может истекать у клиента, все еще подключенного к сети. ≈сли клиент не возобновл€ет аренду, то сервер может переназначить этот IP-адрес другому клиенту.  огда клиент перезагружаетс€, то он запрашивает адрес и если DHCP сервер не отвечает быстро, то клиент использует последний IP-адрес. “огда возникает ситуаци€, когда два клиента используют один и тот же адрес, создава€ конфликт.

 оманда show ip dhcp conflict отображает все конфликты адресов, записанные сервером DHCP. —ервер использует команду ping дл€ обнаружени€ клиентов. ƒл€ обнаружени€ конфликтов клиент использует протокол ARP. ≈сли обнаружен конфликт адресов, адрес удал€етс€ из пула и не назначаетс€, пока администратор не разрешит конфликт.

¬ыгладит это так:

Router# show ip dhcp conflict
IP address Detection Method Detection time
192.168.1.33 Ping Feb 19 2018 10:33 AM
192.168.1.48 Gratuitous ARP Feb 19 2018 11:29 AM 

¬ столбце IP address указываетс€ конфликтный адрес, в строке Detection Method указываетс€ метод обнаружени€ (Ping Ц адрес был обнаружен когда при назначении нового адреса получил положительный ответ на пинг, Gratuitous ARP Ц конфликт обнаружен в ARP таблице) и Detection time показывает врем€ обнаружени€.

„тобы посмотреть список всех выданных адресов сервером используетс€ команда show ip dhcp binding.


«адача 2. ѕроверка физического подключени€

—начала нужно проверить, что интерфейс маршрутизатора, действующий как шлюз по умолчанию дл€ клиента, €вл€етс€ работоспособным. ƒл€ этого используетс€ команда show interface [интерфейс] , и если интерфейс находитс€ в каком либо состо€нии кроме как UP, то это означает что порт не передает трафик, включа€ запросы клиентов DHCP.


«адача 3. ѕроверка св€зности, использу€ статический IP адрес

ѕри поиске проблем DHCP проверить общую работоспособность сети можно задав статический IP адрес у клиента. ≈сли он может достичь сетевых ресурсов со статически настроенным адресом, то основной причиной проблемы €вл€етс€ не DHCP.


«адача 4: ѕроверить конфигурацию порта коммутатора

≈сли DHCP клиент не может получить IP адрес с сервера, то можно попробовать получить адрес вручную, заставл€€ клиента отправить DHCP запрос.

≈сли между клиентом и сервером DHCP есть маршрутизатор и клиент не может получить адрес, то причиной могут быть настройки портов. Ёти причины могут включать в себ€ проблемы, св€занные с транками и каналами, STP и RSTP.  онфигураци€ PortFast и настройка пограничных портов разрешают наиболее распространенные проблемы клиента DHCP, возникающие при первоначальной установке коммутатора.


«адача 5: ѕроверка работы DHCP в одной и той же подсети или VLAN

¬ажно различать, правильно ли работает DHCP, когда клиент находитс€ в одной подсети или VLAN, что и DHCP-сервер. ≈сли DHCP работает правильно, когда клиент находитс€ в одной подсети, то проблема может быть ретрансл€тором DHCP (relay agent). ≈сли проблема сохран€етс€ даже при тестировании в одной подсети, то проблема может быть с сервером DHCP.


ѕроверка конфигурации DHCP роутера

 огда сервер DHCP находитс€ в отдельной локальной сети от клиента, интерфейс маршрутизатора, обращенный к клиенту, должен быть настроен дл€ ретрансл€ции запросов DHCP путем настройки helper адреса.

„тобы проверить конфигурацию маршрутизатора дл€ начала нужно убедитьс€, что команда ip helper-address настроена на правильном интерфейсе. ќна должна присутствовать на вход€щем интерфейсе локальной сети, содержащей DHCP клиентов, и должна быть направлена на правильный сервер DHCP. ƒл€ проверки используетс€ команда show ip interface [интерфейс] . ƒалее нужно убедитьс€, что в глобальном режиме не была введена команда no service dhcp . Ёта команда отключает все функции сервера DHCP и ретрансл€ции на маршрутизаторе. ƒл€ проверки используетс€ команда show running-config | include no service dhcp. ≈сли команда была введена, то она отобразитс€ в выводе.


ƒебаг DHCP

Ќа маршрутизаторах, настроенных как DHCP-сервер, процесс DHCP не выполн€етс€ если маршрутизатор не получает запросы от клиента. ¬ качестве задачи по траблшутингу нужно убедитьс€, что маршрутизатор получает запрос от клиента. ƒл€ этого дебага понадобитс€ конфигураци€ ACL (Access Control List).

Ќужно создать расширенный Access List, разрешающий только пакеты с UDP портами назначени€ 67 или 68. Ёто типичные порты, используемые клиентами и серверами при отправке сообщений DHCP. –асширенный ACL используетс€ с командой debug ip packet дл€ того чтобы отображать только сообщени€ DHCP.

Router(config)# access-list 100 permit udp any any eq 67
Router(config)# access-list 100 permit udp any any eq 68
Router(config)# end
Router# debug ip packet 100
IP packet debugging is on for access list 100
*IP: s-0.0.0.0 (GigabitEthernet1/1), d-255.255.255.255, len 333, rcvd 2
*IP: s-0.0.0.0 (GigabitEthernet1/1), d-255.255.255.255, len 333, stop process pak for forus packet
*IP: s-192.168.1.1(local), d-255.255.255.255 (GigabitEthernet1/1), len 328, sending broad/multicast

–езультат в примере показывает, что маршрутизатор получает запросы DHCP от клиента. IP-адрес источника равен 0.0.0.0, поскольку клиент еще не имеет адреса, адрес назначени€ - 255.255.255.255, потому что сообщение об обнаружении DHCP от клиента отправл€етс€ в виде широковещательной передачи. Ётот вывод показывает только сводку пакета, а не сообщение DHCP. “ем не менее, здесь видно, что маршрутизатор получил широковещательный пакет с исходными и целевыми IP-адресами и портами UDP, которые €вл€ютс€ правильными дл€ DHCP.

ƒругой полезной командой дл€ поиска неполадок DHCP €вл€етс€ команда событий debug ip dhcp server. Ёта команда сообщает о событи€х сервера, таких как назначени€ адресов и обновлени€ баз.

Router(config)#debug ip dhcp server events
DHCPD: returned 192.168.1.11 to address pool POOL-1
DHCPD: assigned IP address 192.168.1.12 to client 0011:ab12:cd34
DHCPD: checking for expired leases
DHCPD: the lease for address 192.168.1.9 has expired
DHCPD: returned 192.168.1.9 to address pool POOL-1

ѕолезна ли ¬ам эта стать€?