Cisco %DTP-5-NONTRUNKPORTON: DTP negotiation failed on interface — Решение
Уведомление %DTP-5-NONTRUNKPORTON: Packet received on non-trunk port [chars] from [chars] или сбой согласования DTP регистрируется, когда коммутатор получает кадры протокола Dynamic Trunking Protocol на порту, настроенном в режиме статического Access или при несовпадении настроек инкапсуляции.
- Порт неожиданно переходит в режим блокировки или не поднимает транковое соединение (Trunk).
- Ошибки
Native VLAN Mismatchили флуд неинкапсулированных 802.1Q кадров. - Риск несанкционированного перехвата трафика методом VLAN Hopping (через эксплуатацию динамического транкинга).
1. Проверка текущего статуса интерфейса и режима транка
show interfaces <интерфейс> switchport
show dtp interface <интерфейс>Проверьте значения Administrative Mode, Operational Mode и Negotiation of Trunking.
2. Отключение динамического согласования DTP (Best Practice)
В production-сетях динамическое согласование транков (режимы dynamic desirable и dynamic auto) должно быть отключено:
configure terminal
interface GigabitEthernet0/1
switchport trunk encapsulation dot1q ! При наличии поддержки ISL/Dot1Q
switchport mode trunk
switchport nonegotiate
end3. Конфигурация портов доступа (Access Ports)
Для клиентских портов явно зафиксируйте режим доступа:
configure terminal
interface range FastEthernet0/1 - 24
switchport mode access
switchport access vlan 10
switchport nonegotiate
spanning-tree portfast
end4. Проверка состояния транка с соседним коммутатором
show interfaces trunk Частые вопросы (FAQ)
Что означает директива switchport nonegotiate?
Она полностью отключает генерацию и отправку периодических пакетов протокола DTP с данного интерфейса, запрещая динамическое согласование режима с противоположной стороной.
Почему режим dynamic auto опасен при подключении неизвестных устройств?
Если злоумышленник подключит устройство с эмуляцией режима dynamic desirable, порт автоматически переключится в Trunk, открыв доступ ко всем нефильтрованным VLAN сегментам сети.
Почему команда switchport nonegotiate выдает ошибку?
Команда применима только тогда, когда порт явно переведен в статический режим switchport mode trunk или switchport mode access. Она не работает в режимах dynamic auto/desirable.
Какая инкапсуляция используется по умолчанию на современных свитчах Cisco?
На всех современных моделях Catalyst и Nexus используется исключительно стандарт IEEE 802.1Q, а проприетарный протокол Cisco ISL полностью удален из микрокода.