Зеркалирование трафика (mirroring) - точное дублирование отправленных/полученных данных портом либо CPU коммутатора. Зеркалирование ведет корни из принципа работы концентраторов, трафик на одном порту которых дублировался во все остальные. Сейчас зеркалирование крайне полезно при диагностике проблем как в самой сети, так и у её пользователей, также находит применение для организации СОРМ.
На коммутаторах SNR функция реализована через мониторинговые сессии (monitor session). Их можно снимать с входящего, исходящего трафика, а также с обоих направлений одновременно. В качестве source можно указать как один, так и несколько интерфейсов:
monitor session 1 source interface ethernet <if_list> {rx | tx | both}
Также можно дублировать трафик и из CPU коммутатора:
monitor session 1 source cpu {rx | tx | both}
Важно!
Важно!
Одновременно можно создать не более 4 мониторинговых сессий.
По типу интерфейса\адреса назначения выделяются сессии SPAN, RSPAN, ERSPAN. Рассмотрим каждый тип по отдельности.
SPAN
Трафик из зеркала отправляется в конкретный порт коммутатора или стека.
Для настройки такой сессии в дополнение к источнику необходимо указать лишь интерфейс назначения, после чего коммутатор начнет дублировать в данный порт трафик интерфейсов, указанных в качестве Source:
monitor session 1 destination interface ethernet <if_name>
RSPAN
Remote SPAN позволяет доставить трафик на удаленный коммутатор с помощью Remote VLAN.
! monitor session 1 destination interface ethernet <if_name> monitor session 1 remote vlan <VLAN_id> !
В этом случае коммутатор отправит в зеркало трафик с тегом (VLAN_id). Далее его можно передать по сети, пробросив через транзитные коммутаторы Remote SPAN VLAN. Например:
! vlan <vlan_id> remote-span !
Важно!
Remote SPAN VLAN - это VLAN, в котором коммутатор не изучает MAC-адреса и направляет трафик во все порты, куда выдан Remote SPAN VLAN. Если требуется использовать в качестве Destination несколько интерфейсов, можно вместе с Remote SPAN VLAN использовать Reflector port - физический интерфейс, который сымитирует прием зеркалируемого трафика. В качестве Reflector port должен быть выбран незанятый порт на коммутаторе. Если при этом добавить RemoteSPAN VLAN в несколько портов коммутатора - трафик продублируется и в них.
В этом случае необходимо Remote SPAN VLAN указать в мониторинговой сессии в качестве Remote VLAN, а также добавить его на Reflector port в Trunk:
! vlan <vlan_id> remote-span ! interface <if_name> switchport mode trunk switchport trunk allowed vlan <vlan_id> ! monitor session 1 remote vlan <vlan_id> monitor session 1 reflector-port ethernet <if_name> !
Подобным образом можно зеркалировать трафик и в Port-Channel (напрямую в качестве Destination его выбрать нельзя): достаточно добавить Remote SPAN VLAN на интерфейсы в Port-Channel.
К трафику в зеркале c Remote SPAN VLAN добавится его тег, даже если этот трафик уже был тегированный, поэтому рекомендуем увеличить MTU на коммутаторе на 4 (по умолчанию до 1504).
ERSPAN
Encapsulated Remote SPAN поддерживают модели серий S300G и S4550 - зеркалируемый трафик инкапсулируется в GRE и может быть отправлен на указанный IP-адрес.
Достаточно создать GRE-туннель и указать туннельный интерфейс в качестве Destination:
monitor session 1 destination tunnel <tunnel_num>
Фильтрация трафика в зеркале
С помощью ACL можно фильтровать зеркалируемый трафик до передачи в зеркало. Поддерживаются как IP ACL, так и MAC ACL:
monitor session 1 source interface ethernet <if_name> access-list <acl_name> rx
Правила Deny в таком ACL не работают, но все, что не разрешено, будет запрещено. Если нужно исключить из сессии определенный трафик, нужно исходить от обратного - разрешить все остальное.
ACL можно применить лишь на RX. Если необходимо применить ACL на трафик TX по отношению к зеркалируемому порту, можно также пойти от обратного: задать в качестве Source с ACL те порты, откуда этот трафик может приходить на коммутатор.