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

Настройка DHCP Snooping

Описание и назначение функции

DHCP Snooping контролирует DHCP-обмен на уровне коммутатора, разделяет интерфейсы на доверенные (trusted) и недоверенные (untrusted), отбрасывает неподходящие серверные ответы с недоверенных направлений и формирует таблицу привязок для выданных адресов. На коммутаторах доступа эту функцию обычно включают там, где нужно исключить выдачу параметров от несанкционированного DHCP-сервера и получить динамические привязки IP-адреса, MAC-адреса и интерфейса.

Основные сценарии использования:

  • Защита клиентского сегмента от несанкционированного DHCP-сервера.
  • Контроль DHCP-трафика на интерфейсе в сторону вышестоящего коммутатора или сервера адресации.
  • Подготовка динамических привязок для последующего применения IP Source Guard и других механизмов контроля доступа.

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


Необходимые условия и предварительные требования

Для настройки DHCP Snooping требуется:

  • Определить интерфейс, через который приходят ответы от штатного DHCP-сервера.
  • Оставить клиентские интерфейсы в недоверенном состоянии, если для них не требуется явное доверие.
  • Убедиться, что нужный интерфейс уже создан и доступен для конфигурирования.
  • Использовать версию ПО: v1.0.2 и выше (серия CIT L3200).
  • Понимать, на каком интерфейсе должна появляться динамическая таблица привязок после выдачи адресов клиентам.
  • При использовании Relay Agent Information Option (Option 82) согласовать ее обработку на сервере и на сетевом устройстве.

Примечание

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


Назначение команд конфигурации

Команда Режим Назначение
configure Privileged EXEC Переходит в режим глобальной конфигурации.
dhcp-snooping start Global config Глобально включает DHCP Snooping на устройстве.
dhcp-snooping server detect enable Global config Включает обнаружение несанкционированных DHCP-серверов.
interface eth-trunk 12 Global config Переходит в режим настройки агрегированного интерфейса eth-trunk 12.
dhcp-snooping enable Interface config Включает обработку DHCP Snooping на выбранном интерфейсе.
dhcp-snooping trust Interface config Помечает интерфейс как доверенный для прохождения ответов DHCP-сервера.
show dhcp-snooping config Privileged EXEC Показывает активную конфигурацию DHCP Snooping.
show dhcp-snooping interface Privileged EXEC Показывает состояние DHCP Snooping на интерфейсах.
show dhcp-snooping binding Privileged EXEC Показывает таблицу динамических привязок.
show dhcp-snooping statistic Privileged EXEC Показывает счетчики нарушений и несовпадений.

В приведенном сценарии функция запускается глобально, а затем включается и помечается как доверенная на eth-trunk 12. Такой порядок соответствует типовой модели, где путь к DHCP-серверу явно отделяют от клиентских направлений.


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

Пошаговые инструкции

Шаг 1. Перейдите в режим конфигурации

SW4#configure
  %Enter configuration commands.End with Ctrl+Z or command "quit" & "end"

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

Шаг 2. Глобально включите DHCP Snooping

SW4(config)#dhcp-snooping start

Команда активирует механизм DHCP Snooping на устройстве.

Шаг 3. Включите обнаружение несанкционированных DHCP-серверов

SW4(config)#dhcp-snooping server detect enable

Команда включает дополнительный контроль источников DHCP-ответов.

Шаг 4. Перейдите к настройке интерфейса

SW4(config)#interface eth-trunk 12

В данном примере DHCP-трафик в сторону штатного сервера проходит через агрегированный интерфейс eth-trunk 12.

Шаг 5. Включите DHCP Snooping на интерфейсе

SW4(config-eth-trunk12)#dhcp-snooping enable

Команда применяет обработку DHCP Snooping к выбранному интерфейсу.

Шаг 6. Назначьте интерфейс доверенным

SW4(config-eth-trunk12)#dhcp-snooping trust

Команда разрешает прохождение серверных DHCP-ответов через этот интерфейс.

Шаг 7. Проверьте итоговую конфигурацию DHCP Snooping

1
2
3
4
5
6
7
8
9
SW4#show dhcp-snooping config
 Version:DHCPSNOOP_VB3.00.03.00
!
dhcp-snooping start
dhcp-snooping server detect enable
!
interface eth-trunk 12
 dhcp-snooping enable
 dhcp-snooping trust

Вывод подтверждает, что глобальная часть функции активна, а eth-trunk 12 включен в область действия DHCP Snooping и отмечен как доверенный.

Шаг 8. Проверьте состояние интерфейса

1
2
3
SW4#show dhcp-snooping interface
Interface   Status  Version Trust   Dynamic User Number
eth-trunk12 enable  V4      trust   0

Поле Status показывает, что функция включена на интерфейсе. Поле Trust подтверждает доверенный режим, а Dynamic User Number показывает текущее число динамических клиентов.

Шаг 9. Проверьте таблицу привязок

SW4#show dhcp-snooping binding
Total Number:0

Пустая таблица сразу после включения допустима. Записи появятся после того, как клиенты пройдут новый цикл получения адреса по DHCP.

Шаг 10. Проверьте статистику нарушений

1
2
3
4
5
SW4#show dhcp-snooping statistic
Interface : eth-trunk12
 Source mac mismatch : 0
 Binding entry mismatch : 0
 Untrust reply received : 0

Нулевые счетчики в этом примере означают, что на момент проверки устройство не зафиксировало несоответствий источника, привязок или ответов с недоверенного направления.


Полный вывод выполненных конфигураций

Команды для copy-paste в режиме privileged EXEC:

1
2
3
4
5
6
7
8
configure
dhcp-snooping start
dhcp-snooping server detect enable
interface eth-trunk 12
 dhcp-snooping enable
 dhcp-snooping trust
exit
end

Вывод show running-config:

1
2
3
4
5
6
7
8
!
dhcp-snooping start
dhcp-snooping server detect enable
!
interface eth-trunk 12
 dhcp-snooping enable
 dhcp-snooping trust
!

Изучение состояния устройства

Просмотр конфигурации

Проверка активной конфигурации:

SW4#show running-config

Обратите внимание на строки:

  • dhcp-snooping start - глобальное включение функции.
  • dhcp-snooping server detect enable - включено обнаружение несанкционированных DHCP-серверов.
  • interface eth-trunk 12 - интерфейс, на котором применяется настройка.
  • dhcp-snooping enable - DHCP Snooping активирован на интерфейсе.
  • dhcp-snooping trust - интерфейс работает как доверенный.

Просмотр параметров работы

Проверка состояния интерфейса:

1
2
3
SW4#show dhcp-snooping interface
Interface   Status  Version Trust   Dynamic User Number
eth-trunk12 enable  V4      trust   0        <---- функция включена, интерфейс доверенный, динамических клиентов пока нет

Проверка статистики DHCP Snooping:

1
2
3
4
5
SW4#show dhcp-snooping statistic
Interface : eth-trunk12
 Source mac mismatch : 0
 Binding entry mismatch : 0
 Untrust reply received : 0        <---- ответы DHCP с недоверенных направлений не зафиксированы

Проверка таблицы привязок:

SW4#show dhcp-snooping binding
Total Number:0                      <---- таблица пуста до появления новых DHCP-выдач

Рекомендации выполнения команд и настроек

Границы доверия

  • Назначайте dhcp-snooping trust только тем интерфейсам, через которые реально приходят ответы от штатного DHCP-сервера.
  • Не переводите клиентские интерфейсы в доверенный режим без отдельного обоснования; на недоверенных интерфейсах устройство должно отсекать серверные DHCP-ответы.

Наполнение таблицы привязок

  • Не считайте пустую таблицу binding ошибкой сразу после включения функции.
  • Проверяйте таблицу после нового DHCP-обмена у клиентов; именно в этот момент формируются динамические привязки.

Связанные механизмы защиты

  • Если дальше планируется IP Source Guard, сначала добейтесь корректного заполнения DHCP Snooping binding table.
  • Используйте динамические привязки как основу для фильтрации по IP-адресу, MAC-адресу и порту.

Контроль нарушений

  • Регулярно проверяйте счетчики Source mac mismatch, Binding entry mismatch и Untrust reply received.
  • Рост этих счетчиков помогает быстро выявить ошибочную разметку доверия или подозрительный DHCP-трафик в клиентском сегменте.

Option 82

  • Если в сети используется Relay Agent Information Option, заранее согласуйте его обработку на DHCP-сервере и на коммутаторе.
  • Несогласованная обработка этой опции может нарушить выдачу адресов в отдельных сегментах.

История возникновения команды

Версия ПО

Команды в данной главе применимы для:

  • Аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2 и выше
  • Являются актуальными с версии ПО v1.0.2

На уровне отраслевых стандартов базовый протокол DHCP для IPv4 описан в RFC 2131, а Relay Agent Information Option - в RFC 3046. Эти документы полезны при анализе поведения DHCP в сложных сегментах доступа и при работе с промежуточными агентами пересылки.


Ссылка на внешнюю документацию

Стандарт

  • RFC 2131 - Dynamic Host Configuration Protocol.
  • RFC 3046 - DHCP Relay Agent Information Option.

При возникновении вопросов обратитесь в техническую поддержку.