Настройки зеркалирования EcoRouter Documentation / Настройки зеркалирования
- Mirror-session
- Пример настройки зеркалирования
- Приостановка зеркалирования
- Просмотр правил зеркалирования
Зеркалирование – это функция дублирования пакетов одного или нескольких портов (интерфейсов) на другом, также называемая отслеживанием порта или SPAN (Switched Port Analyzer – в терминологии Cisco). В основном она применяется для мониторинга всего трафика в целях безопасности, либо оценки производительности/загрузки сетевого оборудования с применением аппаратных средств.
В концепции EcoRouter данная функция реализована программными средствами, и в качестве SPAN-порта может быть настроен любой физический сетевой интерфейс (port) маршрутизатора.
Mirror-session
Для настройки функции зеркалирования используются объекты конфигурации типа mirror-session, которые располагаются после описания портов. Данный объект конфигурации включает в себя параметры, описанные в таблице ниже.
Параметр | Описание |
---|---|
mirror-session <название> | Название правила, по которому осуществляется зеркалирование трафика. Название может быть задано только цифрами |
description | Описание правила. Необязательный параметр |
destination port <название> | Порт, на который отправляется зеркалируемый трафик. Рекомендуется, чтобы к данному порту не был привязан interface и service-instance (подробнее с концепцией port, interface и service-instance можно ознакомиться в разделе Виды интерфейсов) |
source <тип> <название> <параметры> | Источник, трафик которого дублируется. В качестве источника может быть указан:
У правила может быть несколько источников трафика, в этом случае они указываются с новой строки. Для удаления одного из источников в конфигурации mirror-session используется команда no source <тип> <название>. Возможность настройки правил зеркалирования одновременно с конфигурированием сервисного интерфейса EcoRouter описана ниже |
Параметры source | |
<направление> | Определяет, какой именно трафик необходимо дублировать:
Для service-instance возможно зеркалирование только входящего трафика (rx) |
<операции над метками> | Необязательный параметр. К зеркалируемому трафику могут быть применены операции над метками. Подробнее о метках можно прочитать в разделе Сервисные интерфейсы |
push <метка1> <метка2> | Добавление одной метки или двух. Верхняя метка указывается первой. Доступно для трафика, зеркалируемого с interface и service-instance |
pop <количество меток> | Снятие метки или меток. Количество меток может быть 1 или 2. Доступно для трафика, зеркалируемого с service-instance |
translate <количество меток >-to-<количество меток> <метка> | Замена одних меток другими. Доступно для трафика, зеркалируемого с service-instance |
Для создания правила зеркалирования используется команда: mirror-session <название>.
Для удаления правила зеркалирования используется команда: no mirror-session <название>.
Источники зеркалирования можно указывать не только при конфигурировании соответствующего правила, но и при конфигурировании самого источника (port, interface, service-instance). Для этого используется команда add-mirror-session <название> <направление> [операции над метками].
Настраиваемая сессия уже должна быть определена. Данная команда не сохраняется в конфигурации, а преобразуется в параметр source в разделе конфигурации, относящемся к mirror-session.
Пример создания правила для дальнейшей настройки:
ecorouter#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ecorouter(config)#mirror-session 0
ecorouter(config-mirror)#destination port te1
Пример настройки правила зеркалирования при конфигурировании port:
ecorouter(config)#port te2
ecorouter(config-port)#add-mirror-session 0 both
Пример настройки правила зеркалирования при конфигурировании interface:
ecorouter(config)#interface e3
ecorouter(config-if)#add-mirror-session 0 tx push 107
Пример настройки правила зеркалирования при конфигурировании service-instance:
ecorouter(config)#port te3
ecorouter(config-port)#service-instance te3
ecorouter(config-service-instance)#add-mirror-session 0 rx push 100
Вывод конфигурации после вышеуказанных настроек правил зеркалирования:
!
mirror-session 0
destination port te1
source port te2 both
source interface e3 tx push 107
source port te3 service-instance te3 rx push 100
!
Для одного интерфейса (port, interface или service-instance) может быть создано до 8 правил зеркалирования. При этом, правила с зеркалированием трафика в обоих направлениях, считаются двойными. Всего в конфигурации EcoRouter может быть заведено 1024 правила.
Пример настройки зеркалирования
Рассмотрим пример настройки зеркалирования для маршрутизатора и двух клиентских устройств, сконфигурированных, как представлено на схеме ниже.
В конфигурации EcoRouter настроены следующие соответствия сервисных интерфейсов:
port te2 – service-instance te2 – interface e2,
port te3 – service-instance te3 – interface e3.
Конфигурация EcoRouter:
! interface e2 ip address 1.1.1.100/24 ! interface e3 ip address 2.2.2.100/24 ! port te1 ! port te2 service-instance te2 encapsulation untagged connect ip interface e2 ! port te3 service-instance te3 encapsulation untagged connect ip interface e3 !
Ниже рассмотрено несколько примеров правил зеркалирования. Для того чтобы эти правила не выполнялись все вместе, необходимо либо удалять ненужные правила, либо приостанавливать их, как описано ниже в пункте Приостановка зеркалирования.
Пример правила 1
В конфигурацию EcoRouter вносим правило зеркалирования, при котором весь трафик с port te2 будет зеркалироваться на port te1.
ecorouter(config)# mirror-session 0 ecorouter(config-mirror)# destination port te1 ecorouter(config-mirror)# source port te2 both
В выводе конфигурации при помощи команды show run это правило будет выглядеть следующим образом:
! mirror-session 0 destination port te1 source port te2 both
Работу правила mirror-session 0 можно проиллюстрировать, выполнив с клиентского устройства Client 1 команду ping 1.1.1.100 и отследив изменение значений счетчиков для port te2 и port te1. Схема зеркалирования, реализуемая правилом mirror-session 0 представлена ниже.
При этом, если Client 1 отправил на EcoRouter 10 пингов и получил от него 10 ответов, прирост значений счетчиков будет:
port te2 Total received packets: 10 Total transmitted packets: 10 port te1 Total transmitted packets: 20
Пример правила 2
В конфигурацию EcoRouter вносим правило зеркалирования, при котором входящий трафик service-instance te3 зеркалируется на port te1.
ecorouter(config)# mirror-session 1 ecorouter(config-mirror)# destination port te1 ecorouter(config-mirror)# source port te3 service-instance te3 rx
В выводе конфигурации при помощи команды show run это правило будет выглядеть следующим образом:
! mirror-session 1 destination port te1 source port te3 service-instance te3 rx
Работу правила mirror-session 1 можно проиллюстрировать, выполнив с клиентского устройства Client 2 команду ping 2.2.2.100 и отследив изменение значений счетчиков для port te3 и port te1. Схема зеркалирования, реализуемая правилом mirror-session 1 представлена ниже.
При этом, если Client 2 отправил на EcoRouter 10 пингов и получил от него 10 ответов, прирост значений счетчиков будет:
port te3 Total received packets: 10 Total transmitted packets: 10 port te1 Total transmitted packets: 10
Пример правила 3
В конфигурацию EcoRouter вносим правило зеркалирования, при котором исходящий трафик interface e3 зеркалируется на port te1.
ecorouter(config)# mirror-session 2 ecorouter(config-mirror)# destination port te1 ecorouter(config-mirror)# source interface e3 tx
В выводе конфигурации при помощи команды show run это правило будет выглядеть следующим образом:
! mirror-session 2 destination port te1 source interface e3 tx
Работу правила mirror-session 2 можно проиллюстрировать, выполнив с клиентского устройства Client 2 команду ping 2.2.2.100 и отследив изменение значений счетчиков для port te3 и port te1. Схема зеркалирования, реализуемая правилом mirror-session 2 представлена ниже.
При этом, если Client 2 отправил на EcoRouter 10 пингов и получил от него 10 ответов, прирост значений счетчиков будет:
interface e3 Total received packets: 10 Total transmitted packets: 10 port te1 Total transmitted packets: 10
Приостановка зеркалирования
Для того чтобы приостановить действие правила, используется параметр shutdown. Пример ввода параметра:
ecorouter#conf t
Enter configuration commands, one per line. End with CNTL/Z.
ecorouter(config)#mirror-session 3
ecorouter(config-mirror)#shutdown
Возобновление действия правила осуществляется удалением параметра shutdown при помощи команды no shutdown.
ecorouter(config)#mirror-session 3
ecorouter(config-mirror)#no shutdown
Просмотр правил зеркалирования
Список существующих правил зеркалирования и их состояния выводится по команде show mirror-session rules. Данная команда действует в конфигурационном режиме консоли.
Пример вывода команды:
ecorouter#show mirror-session rules
Mirror session 0 is up
10001.rx: rx port te2 -> port te1
10001.tx: tx port te2 -> port te1
Mirror session 1 is administratively down
10031.rx: rx service instance te3/te3 -> port te1
Mirror session 2 is administratively down
6.tx: tx interface e3 -> port te1
Для просмотра настроек правил зеркалирования и статистики по ним используется команда show mirror-session [<название>]. В случае, если не указано название правила, команда выводит для просмотра информацию по всем существующим правилам. Данная команда действует в конфигурационном режиме консоли.
Пример вывода команды:
ecorouter#show mirror-session
Mirror session 0 is up
Destination: port te1
port te2 both
rx packets 0, bytes 0
tx packets 17, bytes 1022
Mirror session 1 is up
Destination: port te1
service instance te3/3 rx
rx packets 7, bytes 570
Mirror session 2 is up
Destination: port te1
interface e3 tx
tx packets 0, bytes 0
Для сброса значений счетчиков правил зеркалирования используется команда clear counters mirror-session [<название>]. В случае, если не указано название правила, счетчики будут обнулены для всех правил. Данная команда действует в конфигурационном режиме консоли.