Настройка зеркалирования трафика на коммутаторах SNR

Зеркалирование трафика (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 мониторинговых сессий. На моделях коммутаторов S2990G дублирование трафика с CPU поддерживается только monitor session 4.

 

По типу интерфейса\адреса назначения выделяются сессии SPAN, RSPAN, ERSPAN.

 

SPAN

Трафик из зеркала отправляется в конкретный порт коммутатора или стека.
Для настройки такой сессии в дополнение к источнику необходимо указать лишь интерфейс назначения:

monitor session 1 destination interface ethernet {if_name}

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

 

RSPAN

RemoteSPAN позволяет доставить трафик на удаленный коммутатор с помощью 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, в котором коммутатор не изучает мак-адреса и направляет трафик во все порты, куда выдан remote-span vlan.

 

Если требуется использовать в качестве destination несколько интерфейсов, можно вместе с remote-span vlan использовать reflector port - физический интерфейс, который сымитирует прием зеркалируемого трафика. В качестве reflector port должен быть выбран не занятый порт на коммутаторе. Если при этом добавить remote-span 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).
Подробнее о работе с технологией QinQ на коммутаторах SNR можно прочитать в нашей статье (/article/snr_switch_qinq_selective_qinq).

 

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 те порты, откуда этот трафик может приходить на коммутатор.