Logo

EcoRouter

EcoNAT

EcoQOE

EcoBypass

EcoSwitch

English

  • Оборудование
  • Вход в систему
  • Подсказки и горячие клавиши
  • Работа с общей конфигурацией устройства
  • Первичная настройка
  • Хранилище сертификатов SSL
  • Настройки интерфейсов
  • ACL
  • Карты классов трафика
  • Подсистема NAT
  • Подсистема BRAS
  • Подсистема DPI
  • Подсистема логирования
  • Перенаправление DNS-запросов
  • Подмена IP-адресов в DNS-ответах
  • Защита от TCP SYN Flooding
  • Функция Sniffer
  • Общая диагностика системы
  • Действия с прошивкой
  • Счётчики
  • Справочник по командам
  • Фильтрация протоколов EcoNAT Documentation / Фильтрация протоколов

    Подсистема DPI способна избирательно обрабатывать трафик определённых протоколов. Для этого необходимо в настройках DPI-списка указать обрабатываемые протоколы в параметре protocols. Можно указать один или несколько протоколов (через пробел), а также при необходимости добавлять/удалять отдельные протоколы с помощью операторов += и -=.

    Список поддерживаемых протоколов выводится командой show protocols all.

    Для быстрого поиска протоколов по названию введите первые буквы названия после show protocols и нажмите клавишу Tab. При наличии нескольких вариантов будет выведен список совпадений. Если вариант один, то после нажатия клавиши Tab будет выведена аббревиатура протокола. Например:

    EcoSGE:system.dpi# show protocols ss [TAB]
    # There are several choices:
    ssdp
    ssh
    ssl
    sscopmce
    ss 

    Для вывода описания определённого протокола введите его аббревиатуру после команды show protocols и нажмите клавишу Enter. Например:

    EcoSGE:system.dpi# show protocols ssh
    name ssh
    full name Secure Shell
    description Secure Shell (SSH), sometimes known as Secure Socket Shell, is a UNIX-based command interface and a protocol for obtaining secure access to a remote computer.   


    По каждому распознанному протоколу подсистема DPI ведёт подсчёт сессий, байтов и пакетов. Счётчики можно вывести в CLI или опросить по SNMP.

    Для вывода счётчиков в CLI необходимо отправить команду show protocounters { all | diff } :

    • с аргументом all команда покажет суммарные значения с момента запуска системы EcoSGE;
    • с аргументом diff будут показаны только изменения за последнюю минуту.

    Примеры вывода:

    EcoSGE:# show protocounters all
    Printing proto counters...
    Core total, cr_dpi_total_base_bytes: 2028
    Core total, cr_dpi_total_base_pkts: 21
    Core total, cr_dpi_total_ip_bytes: 2028
    Core total, cr_dpi_total_ip_pkts: 21
    Core total, cr_dpi_total_tcp_bytes: 2028
    Core total, cr_dpi_total_tcp_pkts: 21
    Core total, cr_dpi_total_smpp_sessions: 1
    Core total, cr_dpi_total_smpp_bytes: 1050
    Core total, cr_dpi_total_smpp_pkts: 15
    Core total, cr_dpi_total_imaps_sessions: 1
    Core total, cr_dpi_total_imaps_bytes: 846
    Core total, cr_dpi_total_imaps_pkts: 4
    EcoSGE:# show protocounters diff
    Printing proto counters diff...
    Core total-diff, cr_dpi_total_base_bytes: 913
    Core total-diff, cr_dpi_total_base_pkts: 9
    Core total-diff, cr_dpi_total_ip_bytes: 913
    Core total-diff, cr_dpi_total_ip_pkts: 9
    Core total-diff, cr_dpi_total_tcp_bytes: 913
    Core total-diff, cr_dpi_total_tcp_pkts: 9
    Core total-diff, cr_dpi_total_smpp_bytes: 493
    Core total-diff, cr_dpi_total_smpp_pkts: 6
    Core total-diff, cr_dpi_total_imaps_bytes: 420
    Core total-diff, cr_dpi_total_imaps_pkts: 3 


    Данные счётчики учитывают и исходящий, и входящий трафик. Вывод команд всегда упорядочен по убыванию количества байт.

    Для опроса счётчиков по SNMP следует использовать шаблон запроса 1.3.6.1.4.1.45555.1.6.<a>.<b>.<c>, где:

    <a> – определяет запрашиваемое значение:

    • 0 – суммарное значение с момента запуска системы EcoSGE;
    • 1 – изменение за последнюю минуту;

    <b> – номер (id) протокола в MIB;

    <c> – подсчитываемые единицы:

    • 0 – сессии,
    • 1 – байты,
    • 2 – пакеты.


    Пример SNMP-опроса счётчиков для протокола SMPP (ID 738):

    snmpwalk -v2c -c public 192.168.5.2:161 1.3.6.1.4.1.45555.1.6.0.738

    SNMPv2-SMI::enterprises.45555.1.6.1.738.0.0 = Counter64: 1

    SNMPv2-SMI::enterprises.45555.1.6.1.738.1.0 = Counter64: 763

    SNMPv2-SMI::enterprises.45555.1.6.1.738.2.0 = Counter64: 11


    Если в SNMP Manager загружен MIB-файл счётчиков для протоколов, то в SNMP-ответах вместо OID будут указаны имена счётчиков. Пример:

    snmpwalk -v2c -m Proto-MIB -c public 192.168.5.2:161 1.3.6.1.4.1.45555.1.6.0.738

    Proto-MIB::econatTotalSmppSessions.0 = Counter64: 1

    Proto-MIB::econatTotalSmppBytes.0 = Counter64: 763

    Proto-MIB::econatTotalSmppPkts.0 = Counter64: 11


    Все счётчики подсистемы DPI являются скалярными объектами в MIB, поэтому при опросе таких счётчиков по отдельности необходимо после OID указывать ".0". Пример запроса суммарного количества пакетов протокола SMPP:

    snmpget -v2c -m Proto-MIB -c public 192.168.5.2:161 1.3.6.1.4.1.45555.1.6.0.738.2.0"

    Proto-MIB::econatTotalSmppPkts.0 = Counter64: 11


    Для сброса счётчиков необходимо отправить команду clear counters.


    При распознавании какого-либо протокола по базе сигнатур подсистема DPI сохраняет уникальный набор данных об этом протоколе (5-tuple) в специальную таблицу – DPI flow table. Если в дальнейшем будет обнаружена попытка открытия сессии, у которой 5-tuple совпадает с сохранённым в таблице, то подсистема DPI уже по первому пакету определит протокол. Это оптимизирует производительность DPI.

    Каждая запись 5-tuple хранится в таблице в течение фиксированного времени, которое нельзя изменить. Однако предусмотрена возможность принудительной очистки DPI flow table. Для этого необходимо отправить команду clear dpi_worker_flows. С данной командой связаны два счётчика:

    • cr_dpi_worker_flush_try регистрирует каждую попытку очистки таблицы;
    • cr_dpi_worker_flush регистрирует количество удалённых записей.