На оборудовании Eltex реализовано 3 способа зеркалирования трафика:
1) SPAN - функционал, позволяющий зеркалировать трафик с указанного порта/портов в порт без изменений исходного пакета.
2) RSPAN - функционал, позволяющий зеркалировать трафик с указанного порта/портов, при этом навешивая дополнительную RSPAN vlan tag.
3) ACL-mirroring - функционал, позволяющий зеркалировать трафик, основываясь на правилах ACL.
monitor-session test1
destination interface tengigabitethernet 0/1/2
source interface tengigabitethernet 0/1/3
vlan 100
exit
vlan 101
direction rx-only
exit
vlan 102
direction tx-only
По-умолчанию, если не указывать направление зеркалирования пакетов, то зеркалируются все пакеты с данного порта или саб-интерфейса. Таким образом, исходя из примера, с tengigabitethernet0/1/3.100 будут зеркалироваться пакеты с обоих направлениях (direction both), с tengigabitethernet0/1/3.101 только входящие пакеты(direction rx-only), а с tengigabitethernet0/1/3.102 только отправленные пакеты (direction tx-only).
monitor-session rspan-test
destination remote
interface tengigabitethernet 0/1/2
vlan 2100 <--------- vlan-tag, который будет добавляться на копии перехваченных пакетов
exit
source interface tengigabitethernet 0/1/3
vlan 100
exit
vlan 101
exit
vlan 102
exit
vlan 103
exit
vlan 104
exit
vlan 105
Следует сказать, что ввиду аппаратных ограничений можно использовать только 6 уникальных vlan в направлении rx-only(ingress) и 7 уникальных vlan в направлении tx-only(egress) на все SPAN/RSPAN сессии на отдельно взятом оборудовании(если речь идет о ME5100 или ME5200) или плате(Если речь идет о ME5000). Аппаратные ресурсы выделяется для каждого отдельного vlan-tag. Например:
monitor-session test1
destination interface tengigabitethernet 0/1/2
source interface tengigabitethernet 0/1/3
vlan 100
exit
vlan 101
exit
vlan 108
exit
monitor-session test2
destination remote
interface tengigabitethernet 0/1/4
vlan 2100
exit
source interface tengigabitethernet 0/1/5
vlan 101
exit
vlan 102
exit
vlan 103
exit
vlan 104
exit
vlan 105
exit
vlan 106
Если применить такую конфигурацию, то оборудование сначала выделит ресурсы сессии test1 для source tengigabitethernet 0/1/3 для всех указанных саб-интерфейсов, далее перейдет к сессии test2 source tengigabitethernet 0/1/5 и выделит ресурсы для саб-интерфейсов te0/1/5.102, 103, 104, но так как для tag 101 уже был выделен ресурс, то пакеты с него будут так же зеркалироваться. Саб-интерфейсы te0/1/5.105 и te0/1/5.106 зеркалироваться не будут из-за аппаратных ограничений.
Ввиду аппаратных особенностей маршрутизаторы серии ME не зеркалируют пакеты обрабатываемые CPU устройства, а только транзитный трафик.
В ОС маршрутизатора установлена утилита tcpdump. Данная утилита является стандартным сетевым анализатором в среде Linux и тем самым вы сможете использовать весь функционал, что и на обычном сервере Linux.С помощью данной утилиты вы можете посмотреть трафик обрабатываемый CPU устройства, то есть, посмотреть трафик самого маршрутизатора. Для этого:
Необходимо зайти в rootshell:
0/FMC0:R17-141_test4# rootshell
Password:<password>
[root@R17-141_test4 (FMC16:0/FMC0) admin]
Для примера выполним команду: def-ns tcpdump -i i<индекс интерфейса> -w tcpdump.pcap
Данной командой вы запишете в файл tcpdump.pcap пакеты приходящие на порт/саб-интерфейс с определенным индексом.
Индекс интерфейса можно посмотреть в команде 0/FMC0:R17-141_test4# show int tengigabitethernet 0/1/2 Mon Mar 27 10:03:25 2023 Tengigabitethernet0/1/2 is Up Interface index is 6 <------------------------ Так же для саб-интерфейса: 0/FMC0:R17-141_test4# show int tengigabitethernet 0/1/3.100 Mon Mar 27 10:04:22 2023 Tengigabitethernet0/1/3.100 is Up Interface index is 64 <------------------------
Для интерфейсов находящихся в vrf, команда будет выглядеть следующим образом:
ip netns exec _vrftest tcpdump -i i<индекс интерфейса> -w tcpdump.pcap. где vrftest - название vrf
Чтобы посмотреть указанный файл, вы можете отправить файл на свой tftp-сервер: tftp -pl tcpdump.pcap 192.168.16.26
Так же есть возможность, чтобы дамп был записан в файл, который формируется при вводе команды "show tech". Для этого дамп необходимо записать по пути /var/log:
def-ns tcpdump -i i<индекс интерфейса> -w /var/log/nfv5.pcap
Начиная с версии 3.7.0, реализован функционал ACL-mirroring(Реализовано только для L3 трафика на маршрутизаторах ME5200, ME5210 и линейных картах LC8 и LC20. Реализация зеркалирования L2 трафика запланирована в следующих версиях). Для его работы требуется выделить аппаратные ресурсы(для применения внесенных изменений необходимо перезагрузить устройство):
hw-module enable acl-mirror
Далее приведен пример конфигурации:
monitor-session 1 <<<<< Создаем monitor-session для зеркалирования, посредством ACL, с указанием порта назначения.
destination interface tengigabitethernet 0/0/15
access-list 1
seq-num 10
monitor-session 1 <<<<< Указываем имя сессии,куда будет зеркалироваться трафик
protocol tcp <<<<< Указываем match по протоколу TCP
exit
seq-num 20
monitor-session 1
tcp-flags +fin <<<<< Указываем match по TCP флагу
exit
seq-num 30
dscp 20 <<<<< Указываем match по полю DSCP
monitor-session 1
exit
exit
interface tengigabitethernet 0/0/16
access-group ingress 1
description server
ipv4 address 172.20.20.1/24
load-interval 30
exit
0/ME5200:R4# show access-lists detailed
Thu Apr 25 11:05:04 2024
HW resources: 3/100 acl entries
Access-list: 1
Configured on interfaces:
te0/0/16, L2: 0, IPv4: 0, IPv6: 0 hits
seq-num 10
action: permit, monitor-session 1
match: proto tcp, tos any, no fragments, flow-label any
tcp-flags any
vid any, pcp any, dei any, ether-type any
source: ipv4 any, ipv6 any, port any, mac any
destination: ipv4 any, ipv6 any, port any, mac any
set: none
total: L2: 0, IPv4: 739, IPv6: 0 hits
seq-num 20
action: permit, monitor-session 1
match: proto tcp, tos any, no fragments, flow-label any
tcp-flags +fin
vid any, pcp any, dei any, ether-type any
source: ipv4 any, ipv6 any, port any, mac any
destination: ipv4 any, ipv6 any, port any, mac any
set: none
total: L2: 0, IPv4: 371, IPv6: 0 hits
seq-num 30
action: permit, monitor-session 1
match: proto any, tos any, dscp 20, no fragments, flow-label any
tcp-flags any
vid any, pcp any, dei any, ether-type any
source: ipv4 any, ipv6 any, port any, mac any
destination: ipv4 any, ipv6 any, port any, mac any
set: none
total: L2: 0, IPv4: 153, IPv6: 0 hits