Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • N noc
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 442
    • Issues 442
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 30
    • Merge requests 30
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • noc
  • noc
  • Issues
  • #1301
Closed
Open
Issue created May 19, 2020 by Dmitry Volodin@dvOwner

MAC Blacklist

Описание проблемы

Отдельные несознательные производители умудряются выпускать целые партии оборудования, на которых прошит один и тот же мак. Обычно проблема выявляется слишком поздно и устройства уже успевают установить и подключить к ним клиентов. Помимо вполне очевидных проблем при работе в одном сегменте (ARP cache, STP), которую сложно игнорировать, возникает и отложенная проблема с LLDP discovery, которая приводит к случаем ошибочной линковки и, как следствие, к неправильной корреляции аварий. В любом случае - дубликаты маков на сети - проблема, которая может выстелить в любой момент.

Коллекция macblacklist

Предлагается вести коллекцию macblacklist вида:

  • name - название записи
  • uuid - UUID записи
  • from_mac - первый мак
  • to_mac - последний мак
  • description - описание
  • vendors - список "отличившихся" вендоров
    • vendor - ссылка на Vendor
    • platform - ссылка на Platform, опционально
  • is_duplicated - причина бана - дубликаты

MACBlackList содержит метод

@classmethod
def is_banned_mac(cls, mac: MAC, is_duplicated: bool=False) -> bool

который возвращает True, если MAC-адрес забанен по указанным причинам

Коллекия macblacklist синхронизируется через глобальный механизм распространения коллекций и, таким образом, может пополняться автоматически после деплоя.

Обработка в LLDP discovery

Если сосед отдает chassis subtype 4 (mac), то необходимо проверить, не является ли MAC забаненым по причине дублирования. В случае бана по дублированию проверяем, нет ли в выводе get_lldp_neighbors дополнительного поля remote_system_name. Если он есть, используем его для поиска по hostname, при условии, что он уникален.

В любом случае пишем в лог, что обнаружен проблемный сосед.

Проблемы discovery

Помечаем проблемные железки в отчете "Проблемы discovery", как обладающие дублирующимися маками.

Проверка id discovery

В id discovery проверяем, не содержит ли железка забаненых маков. Если содержит, поднимаем аварию NOC | ManagedObject | Banned MAC

Документация

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

Assignee
Assign to
Time tracking