Port mirroring на Cisco для зеркалирования трафика

Зеркали́рование (англ. mirroring) — дублирование пакетов одного порта сетевого коммутатора (или VPN) на другом.

Недавно, после замены опорного маршрутизатора Cisco 7606-S на новый Juniper MX480, мы столкнулись с тем, что часть каналов цифрового телевидения IPTV отказывались транслироваться с первого запроса. Был создан кейс и производитель затребовал дампы, чтобы посмотреть что от тв приставки уходит и что приходит. Сам STB ресивер такого функционала не имеет, а значит требуется в параллель с ним включить ноутбук с пакетным анализатором Wireshark.

Вот с этой целью нам и необходимо настроить зеркалирование трафика. Для решения этой задачи мы возьмём два порта на коммутаторе Cisco Catalyst и с помощью технологии Port Mirroring настроим их таким образом, чтобы всё что происходит с первым транслировалось и на второй. Достигается

ля примера я буду использовать старый свитч Cisco Catalyst 2950. Инструкция будет актуальна так же для моделей 2960, 297, 3550, 3560, 3750 и ME3400.

ТВ приставку я включу в Interface FastEthernet 0/10 и настрою его как обычно в режиме Access под iptv. Вот листинг его конфига:

interface FastEthernet0/10
description -T- | TeleVizor |
switchport access vlan 1601
switchport mode access
spanning-tree bpdufilter enable

Компьютер с анализатором Wireshark — будет подключен в FastEthernet 0/11. Для того, чтобы зеркалирование портов работало я сначала снесу все настройки с него командой: default Interface FastEthernet 0/11.

После этого он будет девственно чист.

Для того, чтобы включить функцию Port mirroring на Cisco Catalyst, надо воспользоваться командой Monitor, которая активирует режим SPAN-мониторинга (Switched Port Analizer). Работает она следующим образом: создаётся сессия, к которой привязывает порт-источник Source и порт-приёмник Destination. Стоит отметить, что приёмник может быть только один, то есть на несколько интерфейсов миррор делать нельзя. Листинг команды выглядит так:

monitor session 1 source interface Fa0/10
monitor session 1 destination interface Fa0/11

Собственно всё, зеркалирование портов на Циско настроено и можно подключать устройства и запускать мониторинг пакетов.
На моём стареньком 2950 можно создать только 2 сессии, на более мощных 2970, 3750 и ME3400 — уже аж 66 штук.
Чтобы посмотреть информацию по каждой конкретной сессии надо ввести команду show monitor session <номер>. В моём примере номер сессии — 1, соответственно команда будет выглядеть так:

Единственный момент, в отличие от многих современных коммутаторов, Cisco Catalyst умеет делать только зеркалирование портов. С VLAN он так сделать не может.

Автор Тима

Редактор сайта. По совместительству сисадмин. Большой фанат Linux, гаджетов и древних видеоигр.

Author: Тима

Редактор сайта. По совместительству сисадмин. Большой фанат Linux, гаджетов и древних видеоигр.