Logo

EcoRouter

EcoNAT

EcoQOE

EcoBypass

English

  • Release Notes
  • Настройки зеркалирования EcoRouter Documentation / Настройки зеркалирования

    Зеркалирование – это функция дублирования пакетов одного или нескольких портов (интерфейсов) на другом, также называемая отслеживанием порта или 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 <тип> <название> <параметры>

    Источник, трафик которого дублируется. В качестве источника может быть указан:

    • port,
    • interface,
    • service-instance.

    У правила может быть несколько источников трафика, в этом случае они указываются с новой строки. Для удаления одного из источников в конфигурации mirror-session используется команда no source <тип> <название>.

    Возможность настройки правил зеркалирования одновременно с конфигурированием сервисного интерфейса EcoRouter описана ниже

    Параметры source
    <направление>

    Определяет, какой именно трафик необходимо дублировать:

    • tx – исходящий,
    • rx – входящий,
    • both – оба направления.

    Для 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 [<название>]. В случае, если не указано название правила, счетчики будут обнулены для всех правил. Данная команда действует в конфигурационном режиме консоли.