Logo

EcoRouter

EcoNAT

EcoQOE

EcoBypass

English

  • Release Notes
  • Списки доступа EcoRouter Documentation / Списки доступа

    В EcoBNGOS используются различные списки доступа. Списки доступа представляют собой набор текстовых выражений-инструкций, которые позволяют "заглянуть" внутрь фрейма/пакета, сопоставить текстовое правило списка с данными в этом сообщении и на основании этого принять решение, что делать с этим фреймом/пакетом далее. В EcoBNGOS применяются следующие списки доступа (краткая характеристика ниже, более подробно о работе с каждым в соответствующих разделах настоящего руководства):

    • Policy-filter-list;
    • Filter-map;
    • Prefix-list.

    Policy-filter-list применяются при фильтрации маршрутных политик в различных протоколах юникастовой и мультикастовой маршрутизации, их рекламе, редистрибуции, добавлении специальных правил при работе с маршрутной информацией. Они НЕ МОГУТ применяться для блокировки или разрешения прохождения трафика через маршрутизатор.

    Filter-map применяются для блокировки или разрешения прохождения транзитного трафика через маршрутизатор. Они также применимы в сценариях QoS, PBR и HTTP-редиректа.

    Prefix-list по функциональности аналогичны Policy-filter-list с той лишь разницей, что позволяют пользователю более гибко управлять масками подсетей. Эти списки широко применяются при конфигурировании BRAS.

    Policy-filter-list

    Policy-filter-list - функционал, позволяющий создавать списки правил для фильтрации, редистрибуции, суммаризации и управления маршрутными политиками в различных протоколах маршрутизации.

    Сущность policy-filter-list представляет из себя вариант списка доступа, где можно указать лишь IP-адрес и инверсную маску.

    Списки фильтров создаются в конфигурационном режиме. В одном списке фильтров может существовать несколько правил. Адрес сети, который передается в маршрутном обновлении, указывается с wildcard. 

    Синтаксис создания и добавления правил в policy-filter-list: policy-filter-list <PFL_NAME> [deny | permit] <ADDRESS> <WILDCARD>.

    Для policy-filter-list можно задать описание командой: policy-filter-list <PFL_NAME> remark <DESCRIPTION>.

    Параметры policy-filter-list описаны в таблице ниже.

    ПараметрОписание
    PFL_NAMEНомер списка фильтрации. Нумерация списков осуществляется из диапазона от 1 до 99 и от 1300 до 1999
    permit | denyТип правила: разрешить (permit) или запретить (deny)
    ADDRESSIP-адрес сети, задается в виде A.B.C.D. Если под правило должны попадать все адреса, значение параметра должно быть any
    WILDCARDИнверсная маска, задается в виде A.B.C.D

    После создания списка фильтров, он должен быть применен к определенному процессу маршрутизации на устройстве.

    Команды добавления фильтров различаются в зависимости от протокола.

    Команда

    Описание

    Distribute-list <номер>

    Команда добавления списка фильтров в контекст маршрутизации OSPF

    In

    Указание променять список фильтров на вход

    Out

    Указание применять список фильтров на выход

    Базовая конфигурация списка фильтров

    ecorouter(config)#policy-filter-list 99 permit 172.168.1.0 0.0.0.255

    где 99 — имя данного списка фильтров,

    permit 172.168.1.0 0.0.0.255 — аргумент, указывающий, что маршрутное обновление о данной сети разрешено.

    После создания списка фильтров он должен быть применен к определенному процессу маршрутизации на устройстве.

    Команды добавления фильтров различаются в зависимости от протокола. 

    Настройка фильтрации маршрутной информации в BGP

    Настройка списков фильтрации делается аналогично OSPF. 


    Применение списка фильтрации отличается. 

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

    Пример настройки 

    Создан список фильтров, который отфильтровывает все сети, начинающиеся на 192.

    policy-filter-list 99 permit 192.0.0.0 0.255.255.255

    Сконфигурирован процесс маршрутизации BGP, объявлены сети и соседи. 

    router bgp 100
    network 10.1.1.0/24 
    network 10.2.0.0/16 
    network 172.64.1.0/24 
    network 172.64.2.0/24 
    network 172.64.3.0/24 
    network 192.1.1.0/24 
    network 192.1.2.0/24 
    network 192.2.3.0/24 
    network 192.128.1.0/30 
    network 192.129.1.0/30 
    neighbor 10.0.0.13 
    remote-as 200

    Список фильтров применяется к соседу с указанием номера списка и направления фильтрации. 

    neighbor 10.0.0.13 distribute-list 99 out

    Таким образом, сосед 10.0.0.13 получит в маршрутных обновлениях только следующие сети: 

    network 192.1.1.0/24
    network 192.1.2.0/24
    network 192.2.3.0/24
    network 192.128.1.0/30
    network 192.129.1.0/30

    Настройка фильтрации маршрутной информации в IS-IS

    Между маршрутизаторами 1, 2 и 3 настроена динамическая маршрутизация с помощью протокола IS-IS.

    В протоколе IS-IS фильтрация может осуществляться только в процессе редистрибуции.  

    Текущая конфигурация на маршрутизаторах следующая.

    Маршрутизатор 1 работает на первом уровне как маршрутизатор внутри зоны. 

    EcoRouter_1#show run
    router isis 1
    is-type level-1
    net 49.0001.0000.0000.0001.00
    !
    interface e2
    ip mtu 1500
    ip address 192.168.1.1/24
    ip router isis 1
    !
    interface e1
    ip mtu 1500
    ip address 10.10.10.1/30
    ip router isis 1
    !
    !
    port te0
    mtu 9728
    service-instance 1
    encapsulation untagged
    no rewrite
    connect ip interface e1

    Маршрутизатор 2 работает на уровне 1 и 2. 

    EcoRouter_2#show run
    router isis 1
    net 49.0001.0000.0000.0002.00

    !
    interface e2
    ip mtu 1500
    ip address 10.10.10.5/30
    ip router isis 1
    !
    interface e1
    ip mtu 1500
    ip address 10.10.10.2/30
    ip router isis 1

    !
    port te0
    mtu 9728
    service-instance 1
    encapsulation untagged
    no rewrite
    connect ip interface e1
    !
    port te1
    mtu 9728
    service-instance 1
    encapsulation untagged
    no rewrite
    connect ip interface e2

    Маршрутизатор 3 работает только на 2 уровне.

    EcoRouter_3#show run
    router isis 1
    is-type level-2-only
    net 49.0001.0000.0000.0003.00
    !
    interface e2
    ip mtu 1500
    ip address 172.16.10.1/24
    ip router isis 1
    !
    interface e1
    ip mtu 1500
    ip address 10.10.10.6/30
    ip router isis 1
    !
    port te0
    mtu 9728
    service-instance 1
    encapsulation untagged
    no rewrite
    connect ip interface e1

    Вывод таблиц маршрутизации для топологии.  

    EcoRouter_1#sh ip route  
    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP 
          O - OSPF, IA - OSPF inter area
          N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
          E1 - OSPF external type 1, E2 - OSPF external type 2
          i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
          * - candidate default

    IP Route Table for VRF "default"
    C       10.10.10.0/30 is directly connected, e1
    i L1    10.10.10.4/30 [115/20] via 10.10.10.2, e1, 00:00:21
    C       192.168.1.0/24 is directly connected, e2
     
    EcoRouter_2#sh ip route  
    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
          O - OSPF, IA - OSPF inter area
          N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
          E1 - OSPF external type 1, E2 - OSPF external type 2
          i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
          * - candidate default

    IP Route Table for VRF "default"
    C       10.10.10.0/30 is directly connected, e1
    C       10.10.10.4/30 is directly connected, e2
    i L2    172.16.10.0/24 [115/20] via 10.10.10.6, e2, 00:00:02
    i L1    192.168.1.0/24 [115/20] via 10.10.10.1, e1, 00:00:03

    EcoRouter_3#sh ip route  
    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP 
          O - OSPF, IA - OSPF inter area
          N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
          E1 - OSPF external type 1, E2 - OSPF external type 2
          i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
          * - candidate default

    IP Route Table for VRF "default"
    i L2    10.10.10.0/30 [115/20] via 10.10.10.5, e1, 00:00:09
    C       10.10.10.4/30 is directly connected, e1
    C       172.16.10.0/24 is directly connected, e2
    i L2    192.168.1.0/24 [115/30] via 10.10.10.5, e1, 00:00:09
     

    Создание списка фильтров для ограничения маршрутного обновления о сети 192.168.1.0/24 от EcoRouter_1 к EcoRouter_3. 

    EcoRouter_3(config)#policy-filter-list 20 deny 192.168.1.0 0.0.0.255

    где 20 - номер списка фильтров, 

    deny - запрещающий аргумент,

    192.168.1.0 0.0.0.255 - сеть, маршрутное обновление о которой ограничено.

    После этого следует размещение списка фильтров в контекст маршрутизации граничного маршрутизатора. 

    EcoRouter_2(config)#router isis 1
    EcoRouter_2(config-router)#redistribute isis level-1 into level-2 distribute-list 20

    где redistribute - команда перераспределения маршрутов,

    isis level-1 into level-2 - аргумент, указывающий, что маршрут забирается из isis внутри зоны и передается за границы зоны,

    distribute-list 20 - аргумент, указывающий на созданный список фильтров с именем.

     

    Результатом выполнения данной команды будет отсутствие информации о данной сети на EcoRouter 3.  

    EcoRouter_3#sh ip route  
    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP 
          O - OSPF, IA - OSPF inter area
          N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
          E1 - OSPF external type 1, E2 - OSPF external type 2
          i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
          * - candidate default

    IP Route Table for VRF "default"
    i L2    10.10.10.0/30 [115/20] via 10.10.10.5, e1, 01:35:24
    C       10.10.10.4/30 is directly connected, e1
    C       172.16.10.0/24 is directly connected, e2

    Настройка фильтрации маршрутной информации в OSPF

    Между маршрутизаторами 1 и 2 настроена динамическая маршрутизация с помощью протокола OSPF.  

    Текущая конфигурация на маршрутизаторах следующая: 

    EcoRouter 1EcoRouter 2
    EcoRouter_1#show run
    !
    router ospf 1
    log-adjacency-changes
    network 10.10.10.0/24 area 0.0.0.0
    network 192.168.1.0/24 area 0.0.0.0
    !
    interface e2 
    ip mtu 1500
    ip address 192.168.1.1/24
    !
    interface e1
    ip mtu 1500
    ip address 10.10.10.1/24
    !
    port te0 
    mtu 9728
    service-instance 1
     encapsulation untagged
     no rewrite
     connect ip interface e1
    EcoRouter_2#show run
    !
    router ospf 1 
    log-adjacency-changes
    network 10.10.10.0/24 area 0.0.0.0
    network 172.168.1.0/24 area 0.0.0.0
    !
    interface e2
    ip mtu 1500
    ip address 172.168.1.1/24
    !
    interface e1
    ip mtu 1500
    ip address 10.10.10.2/24
    !
    port te0
    mtu 9728
    service-instance 1
     encapsulation untagged
     no rewrite
     connect ip interface e1


    Вывод таблицы маршрутизации на EcoRouter_1 и EcoRouter_2.

    EcoRouter 1EcoRouter 2
    EcoRouter_1#show ip route  

    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP

          O - OSPF, IA - OSPF inter area

          N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

          E1 - OSPF external type 1, E2 - OSPF external type 2

          i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

          * - candidate default




    IP Route Table for VRF "default"

    C       10.10.10.0/24 is directly connected, e1

    O       172.168.1.0/24 [110/20] via 10.10.10.2, e1, 00:18:28

    C       192.168.1.0/24 is directly connected, e2




    Gateway of last resort is not set
    EcoRouter_2#sh ip route  
    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
          O - OSPF, IA - OSPF inter area
          N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
          E1 - OSPF external type 1, E2 - OSPF external type 2
          i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
          * - candidate default

    IP Route Table for VRF "default"
    C       10.10.10.0/24 is directly connected, e1
    C       172.168.1.0/24 is directly connected, e2
    O       192.168.1.0/24 [110/20] via 10.10.10.1, e1, 00:18:47

    Gateway of last resort is not set

    Настройка фильтрации получения анонсов маршрутной информации от Ecorouter 2 на маршрутизаторе Ecorouter 1. 

    EcoRouter_1(config)#policy-filter-list 10 remark FilterForER2

    Создание списка фильтров с номером 10. Добавление комментария для этого списка фильтров.  

    EcoRouter_1(config)#policy-filter-list 10 deny 172.168.1.0 0.0.0.255

    Создание правила списка фильтров, которое запрещает помещение маршрута в сеть 172.168.1.0/24 с таблицей маршрутизации.  

    После создания список фильтров нужно применить к процессу маршрутизации. До применения фильтр работать не будет.

    EcoRouter_1(config)#router ospf 1
    EcoRouter_1(config-router)#distribute-list 10 in

    В контексте конфигурации протокола маршрутизации следует указать номер нужного списка фильтров и направление.  

    Для OSPF использование списков фильтров возможно только во входящем направлении, так как в этом направлении не фильтруются LSA, а фильтруются маршруты, которые помещаются в таблицу маршрутизации.  

    EcoRouter_1#sh ip route  
    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
          O - OSPF, IA - OSPF inter area
          N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
          E1 - OSPF external type 1, E2 - OSPF external type 2
          i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
          * - candidate default

    IP Route Table for VRF "default"
    C       10.10.10.0/24 is directly connected, e1
    C       192.168.1.0/24 is directly connected, e2

    Gateway of last resort is not set

    В таблице маршрутизации данная сеть отсутствует. 

    EcoRouter_1#sh ip ospf database  

    OSPF Router with ID (192.168.1.1) (Process ID 1 VRF default)

                   Router Link States (Area 0.0.0.0)

    Link ID         ADV Router       Age     Seq#       CkSum  Link count
    172.168.1.1     172.168.1.1     1552     0x80000007 0x8c39 2
    192.168.1.1     192.168.1.1     1556     0x80000006 0x4447 2

                   Net Link States (Area 0.0.0.0)

    Link ID         ADV Router       Age     Seq#       CkSum
    10.10.10.1      192.168.1.1     1556     0x80000001 0x1fcd
    EcoRouter_1#

    Информация о этой сети присутствует в базе состояния каналов OSPF.

    Префиксные списки (prefix-list)

    Префиксные списки (prefix-list) представляют собой альтернативу policy-filter листам, применяемым во многих командах фильтрации маршрутов, и обладают рядом преимуществ. Префиксные списки в меньшей степени загружают процессор, что повышает производительность маршрутизаторов.

    Команды просмотра списков префиксов

    Команды show ip prefix-list <имя> и show ip prefix-list summary выводят общую информацию о списке префиксов, а show ip prefix-list detail <имя> выдает статистику по совпадениям в списке префиксов (hit count) и по совпадению в приложениях (route-map), где используется список префиксов (refcount).

    КомандаОписание
    show ip prefix-list <имя>Просмотр определенного списка префиксов
    show ip prefix-list summaryПросмотр всех списков
    show ip prefix-list detail <имя>Просмотр статистики по совпадениям со списком префиксов (hit count), по совпадению в приложениях (route-map), где используется префикс лист (refcount)

    Настройка префиксных списков

    Префиксные списки проверяются по порядку, строка за строкой, до тех пор, пока не будет обнаружено соответствие тому или иному критерию. Как только соответствие обнаруживается, начинается обработка пакета. По умолчанию все пакеты, в явном виде не разрешенные в списке префиксов, запрещены (неявный оператор deny all для всех пакетов, которые не удовлетворяют ни одному из критериев).

    Для создания префиксного списка требуется в режиме конфигурации ввести команду ip prefix-list, после которой должно быть указано имя списка. Можно воспользоваться нумерацией операторов, для чего употребляется ключевое слово seq с указанием после него номера, который присваивается записи. Запись может иметь любой номер из диапазона <1-4294967295> (чем меньше номер, тем раньше проверяется запись). Если номер первой записи 10, а последней 15, то в любое время в список можно будет добавить записи с номерами 11,12,13,14. Если в новом списке не указать номер первой записи, то по умолчанию он будет назначен равным 5. Последующие записи автоматически будут нумероваться с шагом 5. Для отключения режима автоматического присвоения номера записям используется команда no ip prefix-list sequence-number. Для определения сети, информация о которой должна передаваться другим маршрутизаторам, служит ключевое слово permit, для запрета - deny, соответственно. Таким образом, команда приобретает следующий вид:

    ip prefix-list <имя> seq <номер> (permit | deny) <подсеть/маска> (ge | le | eq <значение>).

    Для префиксного списка можно указать description (до 80 символов) командой: ip prefix-list <имя> description <текст>.

    Помимо указания конкретной подсети и маски, гибкость префиксных списков позволяет отбирать подсети с учетом длины масок с помощью операторов ge, le, eq. Параметр ge применяется для отбора префиксов, длина которых больше, чем указанное значение в поле «значение». С помощью ключевого слова le можно отобрать префиксы, длина которых меньше, чем указанное значение. Ключевое слово eq точно определяет значение маски для префикса. Если не введены ни ge, ни le, ни eq, это соответствует условию точного совпадения префикса с тем, который указывается в списке. Приведем пример для 6 указанных подсетей:

    1. 10.0.0.0/8

    2. 10.128.0.0/9

    3. 10.1.1.0/24

    4. 10.1.2.0/24

    5. 10.128.10.4/30

    6. 10.128.10.8/30


    Соответствие префиксных списков

    КомандаНомера подсетей, соответствующие условию

    ip prefix-list permit 10.0.0.0/8

    1

    ip prefix-list permit 10.128.0.0/9

    2

    ip prefix-list permit 10.0.0.0/8 ge 9

    2,3,4,5,6

    ip prefix-list permit 10.0.0.0/8 eq 24

    3,4

    ip prefix-list permit 10.0.0.0/8 le 28

    1,2,3,4

    ip prefix-list permit 0.0.0.0/0

    Нет совпадений

    ip prefix-list permit 0.0.0.0/0 le 32

    Все подсети. В этом случае вместо 0.0.0.0/0 le 32 при конфигурировании префикс-листа можно указать параметр any


    Пример команды только для рекламы подсетей 10.0.0.0 с масками от 10 до 20 может выглядеть следующим образом:

    ip prefix-list TEST seq 5 permit 10.0.0.0/8 ge 10 le 20
    ip prefix-list TEST seq 10 deny all

    ВНИМАНИЕ

    В актуальной версии EcoBNGOS при конфигурации префиксных списков в BRAS параметры ge, le, eq не учитываются.

    Для удаления префиксного списка служит команда no ip prefix-list <имя>.

    Filter-map

    Для фильтрации трафика на уровнях L2 и L3 в EcoRouterOS применяются списки доступа (filter-map), содержащие правила.

    В EcoRouterOS общая логика при создании filter-map следующая:

    1. Собственно создание filter-map при помощи команды filter-map {ethernet | ipv4} <FILTER_MAP_NAME> [<SEQUENCE_NUMBER>].
    2. Задание правила вида match <CONDITION>, где <CONDITION> - условие или условия для проверки пакетов (подробнее см. в соответствующих разделах).
    3. Задание действия вида set <ACTION>, где <ACTION> - действие, которое будет применено к пакетам, удовлетворяющим критериям из <CONDITION> (подробнее см. в соответствующих разделах).

    Правила в зависимости от протоколов и условий могут задаваться по-разному.

    Для каждого filter-map правила проверяются последовательно, в том порядке, в котором они присутствуют в выводе команды show filter-map ipv4 или show filter-map ethernet соответственно.

    Если в самом правиле присутствуют несколько признаков трафика одновременно, это эквивалентно логической операции "И", то есть, правило будет применено только, если пакет удовлетворяет всем признакам, перечисленным в правиле.

    Пример:

    filter-map ipv4 example01 10
    match tcp 10.0.0.0/24 eq 40 any eq 179 not-rst syn ack
    set discard

    Этот filter-map example01 запрещает TCP-пакеты c IP-адресами источника (10.0.0.0-10.0.0.255) и 40 портом до любого IP-адреса получателя с портом 179, который содержит флаги SYN, ACK и не содержит RST.

    Для реализации логической операции "ИЛИ" необходимо создать несколько правил. Тогда к пакету будет применено то правило, условиям которого он удовлетворяет.

    Например, если необходимо разрешить любой TCP-пакет c флагaми SYN и ACK или пакет с флагом FIN, то конструкция списка будет состоять из следующих записей:

    filter-map ipv4 example02 10
    match tcp any any syn ack
    match tcp any any fin
    set accept

    В конце каждого filter-map есть неявное правило, запрещающее всё, что не разрешено в данном списке доступа: any any discard.

    Настройка L2 filter-map

    Еще один вид списка доступа в EcoRouterOS - это filter-map ethernet, который позволяет фильтровать фреймы по значениям полей в L2-заголовке. 

    По структуре правил filter-map ethernet отличается тем, что в правилах указываются MAC-адреса источника и назначения, инверсные маски (wildcard) MAC-адресов и значения поля ethertype (опционально).

    filter-map ethernet создается в конфигурационном режиме.  Для одного действия может существовать несколько правил.

    Синтаксис создания filter-map ethernet, добавления правил и действий в filter-map ethernet требует указать следующие параметры:

    • имя и sequence самого filter-map ethernet - <FILTER_MAP_ETHERNET_LIST> [<SEQUENCE_NUMBER>];
    • правило - match {<SOURCE_MAC> <SRC_WILDCARD> | any | host <SOURCE_MAC>} {<DESTINATION_MAC> <DST_WILDCARD> | any | host <DESTINATION_MAC>} [<ETHERTYPE>];
    • действие - set <ACTION>.

    Параметры filter-map ethernet описаны в таблице ниже.

    ПараметрОписание

    FILTER_MAP_ETHERNET_LIST

    Имя списка фильтрации, может принимать любое значение

    SEQUENCE_NUMBER

    Номер приоритета выполнения, допустимые значения 0-65535. Если значение не задано, то параметр для созданного filter-map ethernet автоматически получит последующее свободное значение с шагом 10

    SOURCE_MAC

    MAC-адрес источника, задается в одном из трех форматов:

    • XX-XX-XX-XX-XX-XX,
    • XX:XX:XX:XX:XX:XX,
    • XXXX.XXXX.XXXX.

    Если под правило должны попадать все адреса, значение параметра должно быть any. Если под правило должен подпадать единственный адрес, в значении параметра указывается host <MAC-адрес>.

    SRC_WILDCARDИнверсная маска источника, задается в одном из трех форматов:
    • XX-XX-XX-XX-XX-XX,
    • XX:XX:XX:XX:XX:XX,
    • XXXX.XXXX.XXXX.
    DESTINATION_MAC

    MAC-адрес назначения, задается в одном из трех форматов:

    • XX-XX-XX-XX-XX-XX,
    • XX:XX:XX:XX:XX:XX,
    • XXXX.XXXX.XXXX.

    Если под правило должны попадать все адреса, значение параметра должно быть any. Если под правило должен подпадать единственный адрес, в значении параметра указывается host <MAC-адрес>.

    DST_WILDCARDИнверсная маска назначения, задается в одном из трех форматов:
    • XX-XX-XX-XX-XX-XX,
    • XX:XX:XX:XX:XX:XX,
    • XXXX.XXXX.XXXX.
    ETHERTYPE

    Значение поля ethertype. Может быть указано шестнадцатеричное значение поля в диапазоне (0x600 - 0xffff) или одно из следующих обозначений:

    • 802dot1x - IEEE 802.1X Ethertype - 0x888E,
    • ip4 - IPv4 Ethertype - 0x0800,
    • ip6 - IPv6 Ethertype - 0x86dd,
    • l2-is-is - L2 IS-IS Ethertype - 0x22F4,
    • lldp - LLDP Ethertype - 0x88CC,
    • mpls - MPLS Ethertype - 0x8847,
    • pppoe-discovery - PPPoE Discovery Ethertype - 0x8863,
    • pppoe-session - PPPoE Session Ethertype - 0x8864,
    • qinq - QinQ Ethertype - 0x88A8,
    • vlan - VLAN Ethertype - 0x8100.
    set <ACTION>
    set acceptРазрешить
    set discardЗапретить без отправки ICMP-уведомления
    set rejectЗапретить с отправкой ICMP-уведомления
    set class-map <NAME>Пакетам, попавшим под действие правила, присваивается указанный класс трафика class-map. Класс должен быть заранее создан (подробнее см. QoS)
    set port <NAME>Пакеты, попавшие под действие правила, перенаправляются в указанный порт. NAME - имя порта (обозначения портов подробнее описаны в разделе Виды интерфейсов)
    set port <NAME> push <TAG>Пакеты, попавшие под действие правила, перенаправляются в указанный порт с добавлением VLAN-тега. Где NAME - имя порта, TAG - номер VLAN
    set port <NAME> pop <NUMBER>Пакеты, попавшие под действие правила, перенаправляются в указанный порт со снятием VLAN-тегов. Где NAME - имя порта, NUMBER - количество тегов, которое необходимо снять

    В конце любого filter-map ethernet в неявном виде встроено запрещающее правило any any reject .

    После того как filter-map ethernet создан, наполнен правилами, и для них указано действие, его можно назначить для сервисного интерфейса с указанием направления. Под направлением в данном случае подразумевается момент, когда пакеты, проходящие через интерфейс, будут обработаны списком доступа: для filter-map ethernet возможно только направление in (при "входе" в интерфейс). На одном интерфейсе может быть применено несколько filter-map ethernet. 

    Для назначения filter-map ethernet на сервисный интерфейс используется команда контекстного режима настройки сервисного интерфейса set filter-map in < FILTER_MAP_ETHERNET_LIST > [<SEQUENCE>] .

    Пример настройки filter-map ethernet 

    Задача: запретить arp-запросы от клиента с адресом 0000.0000.000c.

    ecorouter(config)#filter-map ethernet primer 10  
    ecorouter(filter-map-ethernet)#match host 0000.0000.000c any 0x806
    ecorouter(filter-map-ethernet)#set discard
    ecorouter(filter-map-ethernet)#ex
    ecorouter(config)#filter-map ethernet primer 15
    ecorouter(filter-map-ethernet)#match 0000.0000.0010 ffff.ffff.ff00 any
    ecorouter(filter-map-ethernet)#set port ge0
    ecorouter(filter-map-ethernet)#ex
    ecorouter(config)#filter-map ethernet primer 20 ecorouter(filter-map-ethernet)#match any any
    ecorouter(filter-map-ethernet)#set accept
    ecorouter(filter-map-ethernet)#ex
     

    0x806 – значение ethertype, соответствующее протоколу arpFilter-map ethernet primer 20 разрешает весь остальной трафик, без этого правила по умолчанию сработало бы правило  any any discard .

    ecorouter(config)#port te0                                                                                                        
    ecorouter(config-port)#service-instance 1                                                                                
    ecorouter(config-service-instance)#set filter-map in primer 10  
    ecorouter(config-service-instance)#set filter-map in primer 15
    ecorouter(config-service-instance)#set filter-map in primer 20

    Настройка L3 filter-map

    Для управления трафиком разных направлений для L3 интерфейса могут применяться списки доступа filter-map. Под направлением в данном случае подразумевается момент, когда пакеты, проходящие через интерфейс, будут обработаны списком доступа: при "входе" в интерфейс – указание направления in, при "выходе" – направление out. На одном интерфейсе может быть применено несколько списков доступа в одном направлении. Каждый список доступа может быть применен к нескольким интерфейсам одновременно.

    Использование filter-map производится в два этапа.

    1. Создание и наполнение правилами.
    2. Привязка к интерфейсу.

    Создание filter-map производится в конфигурационном режиме. Для создания filter-map требуется выполнить следующие действия (в результате будет создан filter-map, содержащий одно правило):

    1. Первая строка. Ввести команду filter-map ipv4 <FILTER_MAP_NAME> [<SEQUENCE_NUMBER>], где <FILTER_MAP_NAME> - имя списка доступа, <SEQUENCE_NUMBER> - порядковый номер правила в списке доступа. Подробнее параметры описаны в таблице ниже.
    2. Вторая строка. Указать правило, на соответствие которому будут проверяться пакеты, следующего вида: match <PROTOCOL> <SRC_ADDRESS> [<PORT_CONDITION>] <DST_ADDRESS>[<PORT_CONDITION>] [dscp <DSCPVALUE>] [<FLAG>]. Подробнее параметры описаны в таблицах ниже.
    3. Третья строка. Указать действие, которое будет применяться к пакетам, удовлетворяющим условиям правила, следующего вида set <ACTION>. Подробнее параметры описаны в таблице ниже.

    Список доступа может содержать несколько правил. Для добавления правила в существующий список доступа следует повторить шаги, описанные выше. В качестве <FILTER_MAP_NAME> следует указывать имя списка доступа, куда правило должно быть добавлено. Правило должно иметь уникальный номер <SEQUENCE> в рамках одного filter-map.

    В конце любого filter-map ipv4 в неявном виде встроено запрещающее правило any any reject.

    Общие параметры filter-map ipv4 описаны в таблице ниже.

    ПараметрОписание

    FILTER_MAP_NAME

    Имя списка фильтрации, может принимать любое значение

    SEQUENCE_NUMBER

    Номер приоритета выполнения, допустимые значения 0-65535. Если значение не задано, то параметр для созданного filter-map ethernet автоматически получит последующее свободное значение с шагом 10

    PROTOCOL

    Значение поля protocol. Может быть указано значение поля в диапазоне (0-255) или одно из следующих обозначений:

    • ipinip;
    • icmp;
    • gre;
    • igmp;
    • pim;
    • rsvp;
    • ospf;
    • vrrp;
    • ipcomp;
    • any (любой протокол);
    • udp (внимание, для данного протокола доступны дополнительные параметры <PORT_CONDITION>);
    • tcp (внимание, для данного протокола доступны дополнительные параметры <PORT_CONDITION> и <FLAG>)
    SRC_ADDRESS

    IP-адрес источника, задается в одном из следующих форматов:

    • A.B.C.D/M (IP-адрес с маской),
    • A.B.C.D K.L.M.N (IP-адрес с инверсной маской),
    • host A.B.C.D (если под правило должен подпадать единственный адрес),
    • any (если под правило должны попадать все адреса)
    DST_ADDRESS

    IP-адрес назначения, задается в одном из следующих форматов:

    • A.B.C.D/M (IP-адрес с маской),
    • A.B.C.D K.L.M.N (IP-адрес с инверсной маской),
    • host A.B.C.D (если под правило должен подпадать единственный адрес),
    • any (если под правило должны подпадать все адреса)
    DSCPVALUEЗначение DSCP (Differentiated Services Code Point) для проверки пакета, целое число от 0 до 63
    set <ACTION>

    set accept

    Разрешить

    set discardЗапретить без отправки ICMP-уведомления
    set rejectЗапретить с отправкой ICMP-уведомления

    set nexthop <A.B.C.D>

    Указать IP-адрес next hop. Пакеты, попавшие под действие правила, отсылаются на адрес next-hop c учётом существующих маршрутов в RIB
    set class-map <NAME>Пакетам, попавшим под действие правила, присваивается указанный класс трафика class-map. Класс должен быть заранее создан (подробнее см. QoS)
    set vrf <VRF_NAME> [<A.B.C.D>]Для пакетов, попавших под действие правила, будет использоваться таблица маршрутизации vrf, где VRF_NAME – имя необходимого vrf. Для данного vrf можно при необходимости указать IP-адрес next hop

    При указании протокола udp вторая строка команды создания filter-map будет иметь следующий вид: match udp <SRC_ADDRESS> [<PORT_CONDITION>] <DST_ADDRESS> [<PORT_CONDITION>] [dscp <DSCPVALUE>].

    Дополнительные параметры при указании udp описаны в таблице ниже.

    ПараметрОписание
    PORT_CONDITION

    Условие для значения порта. Может быть указано одно из следующих значений:

    {{eq | gt | lt} {tftp | bootp | <0-65535>} | range <0-65535> <0-65535>}

    Значения PORT_CONDITION
    eqНомер порта равен
    gtНомер порта больше, чем
    ltНомер порта меньше, чем
    tftpUDP(69)
    bootp UDP(67)
    <0-65535>Точный номер порта, любое значение из указанного диапазона
    range <0-65535> <0-65535>Номер порта входит в диапазон

    При указании протокола tcp вторая строка команды создания filter-map будет иметь следующий вид: match tcp <SRC_ADDRESS> [<PORT_CONDITION>] <DST_ADDRESS> [<PORT_CONDITION>] [dscp <DSCPVALUE>] [<FLAG>].

    Дополнительные параметры при указании tcp описаны в таблице ниже.

    ПараметрОписание
    PORT_CONDITION

    Условие для значения порта. Может быть указано одно из следующих значений: {{eq | gt | lt} {ftp | ssh | telnet | www | <0-65535>} | range <0-65535> <0-65535>}

    FLAG

    Значения флага, по которым может производиться обработка пакетов. Может быть указано одно из следующих значений (префикс not- означает, что указанный флаг не установлен): ack | not-ack | fin | not-fin | psh | not-psh | rst | not-rst | syn | not-syn | urg | not-urg

    • ack - установлен флаг ACK (номер подтверждения),
    • fin - установлен флаг FIN (завершение соединения),
    • psh - установлен флаг PSH (инструктирует получателя протолкнуть данные, накопившиеся в приёмном буфере, в приложение пользователя),
    • rst - установлен флаг RST (оборвать соединение, очистить буфер),
    • syn - установлен флаг SYN (синхронизация номеров последовательности),
    • urg - установлен флаг URG (указатель важности),
    • not-ack - не установлен флаг ACK,
    • not-fin - не установлен флаг FIN,
    • not-psh - не установлен флаг PSH,
    • not-rst - не установлен флаг RST,
    • not-syn - не установлен флаг SYN,
    • not-urg - не установлен флаг URG.

    Можно перечислить несколько флагов через пробел. При этом правило сработает, если в пакете будут установлены все перечисленные флаги. Например, правило not-rst syn ack сработает, если пакет содержит флаги SYN и ACK, но не содержит RST

    Значения PORT_CONDITION
    eqНомер порта равен
    gtНомер порта больше, чем
    ltНомер порта меньше, чем
    ftpTCP(21)
    sshTCP(22)
    telnetTCP(23)
    wwwTCP(HTTP-80)
    <0-65535>Точный номер порта, любое значение из указанного диапазона
    range <0-65535> <0-65535>Номер порта входит в диапазон

    Пример создания списка доступа и добавления правил в него

    Создание списка доступа производится в конфигурационном режиме:

    ecorouter(config)#filter-map ipv4 example 10
    match udp 10.10.10.0/24 20.20.20.0/24 eq 22
    set accept

    Здесь:

    • example – имя списка доступа,
    • 10 - номер последовательности правила в списке доступа,
    • udp – указание на ожидаемый протокол,
    • 10.10.10.0/24 – указание сети-источника пакетов с префиксом, трафик из которой разрешается для прохождения,
    • 20.20.20.0/24 – указание сети назначения с префиксом, трафик в которую разрешается для прохождения,
    • eq 22 – аргумент, указывающий на точный номер порта назначения,
    • accept – разрешающий аргумент (трафик, удовлетворяющий условиям правила будет пропускаться).

    Добавление правила к данному списку доступа (для пакетов, удовлетворяющих правило, также будет выполняться accept, правило будет проверяться вторым в списке доступа с именем example). Правило добавляет условие для проверки. Действие для всего списка выполняется одно и то же. Проверка правил внутри списка доступа производится в соответствии с указанными для них значениями <SEQUENCE>.

    ecorouter(config)#filter-map ipv4 example 20
    match 1 host 122.168.1.15 host 172.20.100.1 

    Здесь:

    • example – имя списка доступа,
    • 20 - номер последовательности правила в списке доступа,
    • 1 – указание на протокол, в данном случае ICMP,
    • host 122.168.1.15 – аргумент, указывающий на конкретный IP-адрес источник пакетов (указание маски не требуется),
    • host 172.20.100.1 – аргумент, указывающий на конкретный IP-адрес назначения пакетов (указание маски не требуется).

    Добавление правила к данному списку доступа (для пакетов, удовлетворяющих правило, также будет выполняться accept, правило будет проверяться третьим в списке доступа с именем example).

    ecorouter(config)#filter-map ipv4 example 30
    match ospf 192.168.32.0 0.0.7.255 any

    Здесь:

    • example – имя списка доступа,
    • 30 - номер последовательности правила в списке доступа,
    • ospf – указание на протокол, в данном случае ospf,
    • 192.168.32.0 0.0.7.255 – аргумент, указывающий на IP-адрес источника пакетов с инверсной маской,
    • any - аргумент, указывающий на все IP-адреса назначения пакетов.

    Просмотр filter-map

    Для просмотра созданных списков доступа L3 служит команда show filter-map ipv4. Она показывает только списки доступа без указания их привязок к интерфейсам.

    ecorouter#show filter-map ipv4
     Filter map example 
      Filter 10
      match udp 10.10.10.0/24 20.20.20.0/24 eq 22
      match 1 host 192.168.1.15 host 172.20.100.1
      match ospf 192.168.32.0 0.0.7.255 any
      set accept 
     Filter map TEST
      Filter 20 
      match any host 10.210.10.151 any 
      set accept

    Для назначения списка доступа на интерфейс используется команда контекстного режима настройки интерфейса set filter-map {in | out} <FILTER_MAP_NAME> [<SEQUENCE>] . К одному интерфейсу можно привязать несколько filter-map. Здесь параметр <SEQUENCE> в явном виде задается для каждого filter-map (а не для входящих в него правил!). Все привязанные к интерфейсу filter-map будут выполняться в порядке увеличения значений <SEQUENCE>. Неявное правило "запретить все" будет размещено после правил из всех привязанных filter-map.

    Пример привязки filter-map к интерфейсу

    ecorouter(config)#interface e20
    ecorouter(config-if)#set filter-map in example 10 
    ecorouter(config-if)#set filter-map out TEST 20

    Если при привязке filter-map к интерфейсу не указывать значение <SEQUENCE>, то для каждого привязываемого списка доступа его значение будет присваиваться автоматически с инкрементом 10.

    Один и тот же список доступа может быть назначен на несколько интерфейсов одновременно.

    В EcoRouterOS может быть создано до 64 тысяч filter-map. Однако существует ограничение на количество "активных" экземпляров filter-map, то есть, назначенных на L3 интерфейс. Можно настроить не более 64-х привязок списков доступа к интерфейсам. Это ограничение не зависит от количества созданных списков доступа или интерфейсов.

    Управление списками доступа может осуществляться как из основного маршрутизатора, так и из виртуальных. При этом списки доступа виртуального маршрутизатора будут действовать только в его пределах, а списки доступа основного - соответственно, только в пределах основного. 

    Просмотр привязанных к интерфейсу списков доступа производится, например, при помощи команды show counters interface <INTERFACE_NAME> filter-map {in | out}.

    show counters interface e20 filter-map out
    Interface e20
     Filter map TEST
     Filter 10 [0 packets] 
        match any host 10.210.10.151 any
        set accept

    Команды просмотра L2 filter-map

    Для просмотра информации по всем созданным L2 спискам фильтрации используется команда режима администрирования

    show filter-map ethernet [<FILTER_NAME>]
    , где FILTER_NAME - название списка фильтрации.

    Пример:

    Консоль
    Комментарий
    ecorouter#show filter-map ethernet

    Вывести информацию обо всех списках фильтрации L2

     Filter map FILTER
      Filter 10
        match host 0000.0000.0001 host 0000.0000.0004
        match host 0000.0000.0001 any 0x806
        set accept

     Filter map test
      Filter 10
        match host 0000.0000.0001 any 0x806
        set discard
    Вывод информации обо всех списках фильтрации L2
    ecorouter#show filter-map ethernet FILTER
    Вывести информацию о списке фильтрации с именем FILTER
     Filter map FILTER
      Filter 10
        match host 0000.0000.0001 host 0000.0000.0004
        match host 0000.0000.0001 any 0x806
        set accept
    Вывод информации о списке с именем FILTER

    Просмотр счетчиков

    Для просмотра показателей счетчиков для L2 списков фильтрации используется команда режима администрирования

    show counters port <NAME> filter-map {in | out}
    .

    Параметры команды описаны в таблице ниже.

    Название
    Описание
    <NAME>
    Название порта (см. Виды интерфейсов)
    in
    out
    Направление трафика

    Счетчики отображаются по каждому блоку filter-map, но не по каждому правилу.

    Пример:

    Консоль
    Комментарий
    ecorouter#show counters port te0 filter-map in

    Вывести значения счетчиков filter-map для порта te0 по входящему трафику

    Service instance 1
      Filter map FILTER
       Filter 10 [5 packets]
         match host 0000.0000.0001 host 0000.0000.0004
         match host 0000.0000.0001 any 0x806
         set accept
       Filter 20 [6 packets]
         match host 0000.0000.0002 any
         set discard
    Вывод команды

    Для того чтобы узнать, какие списки фильтрации привязаны к данному порту, используется команда режима администрирования show port <NAME>, где <NAME> - название порта.

    Пример:

    КонсольКомментарий
    ecorouter#show port te0
    Вывести информацию по порту te0
     10 Gigabit Ethernet [none] port te0 is up
      MTU: 9728
      LACP priority: 32767
      Input packets 13, bytes 3308, errors 0
      Output packets 10, bytes 1340, errors 0
       Service instance te0.1 is up
        ingress encapsulation untagged
        ingress rewrite none
        egress encapsulation untagged
        egress none
        Connect bridge test symmetric
        filter-map in FILTER
        Input packets 13, bytes 3308
        Output packets 10, bytes 1340
    Вывод команды

    Команды просмотра L3 filter-map

    Просмотр всех созданных списков доступа L3 осуществляется при помощи команды административного режима show filter-map ipv4

    ecorouter#show filter-map ipv4 
    Filter map NAME
    Filter 10
    match any any any
    set discard
    Filter map TEST
    Filter 10
    match any host 10.210.10.151 any
    set accept


    Для просмотра определенного списка доступа L3 команда вводится с именем списка: show filter-map ipv4 <NAME>.

    ecorouter#show filter-map ipv4 TEST

    Filter map TEST
    Filter 10
    match any host 10.210.10.151 any
    set accept


    Просмотр всех присоединенных списков доступа L3 на определенном интерфейсе осуществляется командой show counters interface <NAME> filter-map {in | out}.

    ecorouter#show counters interface EXAMPLE 
    filter-map in
    Interface EXAMPLE
    Filter map TEST
    Filter 10 [0 packets]
    match any any any
    set discard
     

    Настройка политики для абонентской сессии

    Для фильтрации трафика в рамках абонентской сессии (subscriber-service) применяются политики subscriber-policy. Для одной сессии может быть назначено до 10 таких политик. Трафик последовательно будет обрабатываться в соответствии с каждой политикой в соответствии с ее порядковым номером.

    Создание subscriber-policy производится в конфигурационном режиме при помощи команды subscriber-policy <NAME>, где <NAME> - имя создаваемой сущности.

    ecorouter(config)#subscriber-policy ?
      SUBSCRIBER_POLICY Subscriber policy name

    После создания subscriber-policy автоматически производится переход в контекстный режим редактирования ее параметров.

    ecorouter(config)#subscriber-policy subspolname
    ecorouter(config-sub-policy)#

    Параметры subscriber-policy приведены в таблице ниже.

    ПараметрОписание
    <BANDWIDTH>
    Ширина полосы пропускания в Мбит/сек от 1 до 200
    <DESCRIPTION>
    Текстовое описание политики

    Каждой политике subscriber-policy пользователь может назначить 2 разных правила обработки (filter-map policy): одно для входящего (in) и одно для исходящего (out) трафика. Если filter-map policy не назначен на направление, то трафик соответствующего вида политикой не обрабатывается и не претерпевает никаких изменений. Внимание: без задания filter-map policy с ограничениями и привязки его к тому же направлению для subscriber-policy трафик до заданной полосы пропускания ограничиваться не будет!

    Назначение для политики subscriber-policy на выбранное направление трафика (in или out) нужной filter-map policy производится в контекстном режиме редактирования параметров subscriber-policy при помощи команды set filter-map {in | out} <NAME>, где <NAME> - имя filter-map policy.

    Пример настройки subscriber-policy (в данном примере предполагается, что filter-map policy с именем FMPname уже создана и настроена; создание и настройка filter-map policy описаны ниже).

    ecorouter(config)#subscriber-policy subspolname
    ecorouter(config-sub-policy)#description Testsubscrpolicy
    ecorouter(config-sub-policy)#bandwidth in 200
    ecorouter(config-sub-policy)#set filter-map in FMPname

    Создание и настройка filter-map policy

    Создание filter-map policy производится при помощи команды конфигурационного режима filter-map policy ipv4 <NAME>, где <NAME> - имя создаваемой сущности.

    ecorouter(config)#filter-map policy ipv4 ?
     FILTER_MAP_POLICY_IPV4 Filter map name

    После создания filter-map policy автоматически производится переход в контекстный режим редактирования ее параметров.

    ecorouter(config)#filter-map policy ipv4 FMPname
    ecorouter(config-filter-map-policy-ipv4)#

    Для настройки filter-map policy требуется выполнить следующие действия (в результате внутри filter-map policy будет создано одно правило):

    1. Первая строка. Ввести команду filter-map policy ipv4 <FILTER_MAP_NAME> [<SEQUENCE_NUMBER>], где <FILTER_MAP_NAME> - имя списка доступа, <SEQUENCE_NUMBER> - порядковый номер правила в списке доступа. Подробнее параметры описаны в таблице ниже.
    2. Вторая строка. Указать правило, на соответствие которому будут проверяться пакеты, следующего вида: match <PROTOCOL> <SRC_ADDRESS> [<PORT_CONDITION>] <DST_ADDRESS>[<PORT_CONDITION>] [dscp <DSCPVALUE>] [<FLAG>]. Подробнее параметры описаны в таблицах ниже.
    3. Третья строка. Указать действие, которое будет применяться к пакетам, удовлетворяющим условиям правила, следующего вида set <ACTION>. Подробнее параметры описаны в таблице ниже.

    Список доступа может содержать несколько правил. Для добавления правила в существующий список доступа следует повторить шаги, описанные выше. В качестве <FILTER_MAP_NAME> следует указывать имя списка доступа, куда правило должно быть добавлено. Правило должно иметь уникальный номер <SEQUENCE> в рамках одной filter-map policy.

    Общие параметры filter-map policy описаны в таблице ниже.

    ПараметрОписание
    DIRECTIONНаправление трафика, in - входящий трафик, out - исходящий трафик

    FILTER_MAP_NAME

    Имя списка фильтрации, может принимать любое значение

    SEQUENCE_NUMBER

    Номер приоритета выполнения, допустимые значения 0-65535. Если значение не задано, то параметр для созданного filter-map ethernet автоматически получит последующее свободное значение с шагом 10

    PROTOCOL

    Значение поля protocol. Может быть указано значение поля в диапазоне (0-255) или одно из следующих обозначений:

    • ipinip;
    • icmp;
    • gre;
    • igmp;
    • pim;
    • rsvp;
    • ospf;
    • vrrp;
    • ipcomp;
    • any (любой протокол);
    • udp (внимание, для данного протокола доступны дополнительные параметры <PORT_CONDITION>);
    • tcp (внимание, для данного протокола доступны дополнительные параметры <PORT_CONDITION> и <FLAG>)
    SRC_ADDRESS

    IP-адрес источника, задается в одном из следующих форматов:

    • A.B.C.D/M (IP-адрес с маской),
    • A.B.C.D K.L.M.N (IP-адрес с инверсной маской),
    • host A.B.C.D (если под правило должен подпадать единственный адрес),
    • any (если под правило должны попадать все адреса)
    DST_ADDRESS

    IP-адрес назначения, задается в одном из следующих форматов:

    • A.B.C.D/M (IP-адрес с маской),
    • A.B.C.D K.L.M.N (IP-адрес с инверсной маской),
    • host A.B.C.D (если под правило должен подпадать единственный адрес),
    • any (если под правило должны подпадать все адреса)
    DSCPVALUEЗначение DSCP (Differentiated Services Code Point) для проверки пакета, целое число от 0 до 63
    set <ACTION>

    set accept

    Разрешить. Если в subsriber-policy, где используется данная filter-map policy, задана полоса пропускания (параметр bandidwth), то для этого типа трафика будет применено ограничение скорости до указанных в bandwidth значений

    set discardЗапретить без отправки ICMP-уведомления
    set nexthop <A.B.C.D>Указать IP-адрес next hop. Пакеты, попавшие под действие правила, отсылаются на адрес next-hop c учётом существующих маршрутов в RIB
    set redirect <REDIRECTNAME>Перенаправить HTTP GET на указанный <REDIRECTNAME>, где <REDIRECTNAME> - имя заранее заданного URL (адрес для перенаправления должен начинаться с http://). Пример настройки перенаправления приведен ниже.
    set rejectЗапретить с отправкой ICMP-уведомления
    set vrf <VRF_NAME> [<A.B.C.D>]Для пакетов, попавших под действие правила, будет использоваться таблица маршрутизации vrf, где VRF_NAME – имя необходимого vrf. Для данного vrf можно при необходимости указать IP-адрес next hop

    При указании протокола udp вторая строка команды создания filter-map policy будет иметь следующий вид: match udp <SRC_ADDRESS> [<PORT_CONDITION>] <DST_ADDRESS> [<PORT_CONDITION>] [dscp <DSCPVALUE>].

    Дополнительные параметры при указании udp описаны в таблице ниже.

    ПараметрОписание
    PORT_CONDITION

    Условие для значения порта. Может быть указано одно из следующих значений:

    {{eq | gt | lt} {tftp | bootp | <0-65535>} | range <0-65535> <0-65535>}

    Значения PORT_CONDITION
    eqНомер порта равен
    gtНомер порта больше, чем
    ltНомер порта меньше, чем
    tftpUDP(69)
    bootpUDP(67)
    <0-65535>Точный номер порта, любое значение из указанного диапазона
    range <0-65535> <0-65535>Номер порта входит в диапазон

    При указании протокола tcp вторая строка команды создания filter-map policy будет иметь следующий вид: match tcp <SRC_ADDRESS> [<PORT_CONDITION>] <DST_ADDRESS> [<PORT_CONDITION>] [dscp <DSCPVALUE>] [<FLAG>].

    Дополнительные параметры при указании tcp описаны в таблице ниже.

    ПараметрОписание
    PORT_CONDITION

    Условие для значения порта. Может быть указано одно из следующих значений: {{eq | gt | lt} {ftp | ssh | telnet | www | <0-65535>} | range <0-65535> <0-65535>} 

    FLAG

    Значения флага, по которым может производиться обработка пакетов. Может быть указано одно из следующих значений (префикс not- означает, что указанный флаг не установлен): ack | not-ack | fin | not-fin | psh | not-psh | rst | not-rst | syn | not-syn | urg | not-urg

    • ack - установлен флаг ACK (номер подтверждения),
    • fin - установлен флаг FIN (завершение соединения),
    • psh - установлен флаг PSH (инструктирует получателя протолкнуть данные, накопившиеся в приёмном буфере, в приложение пользователя),
    • rst - установлен флаг RST (оборвать соединение, очистить буфер),
    • syn - установлен флаг SYN (синхронизация номеров последовательности),
    • urg - установлен флаг URG (указатель важности),
    • not-ack - не установлен флаг ACK,
    • not-fin - не установлен флаг FIN,
    • not-psh - не установлен флаг PSH,
    • not-rst - не установлен флаг RST,
    • not-syn - не установлен флаг SYN,
    • not-urg - не установлен флаг URG.

    Можно перечислить несколько флагов через пробел. При этом правило сработает, если в пакете будут установлены все перечисленные флаги. Например, правило not-rst syn ack сработает, если пакет содержит флаги SYN и ACK, но не содержит RST

    Значения PORT_CONDITION
    eqНомер порта равен
    gtНомер порта больше, чем
    ltНомер порта меньше, чем
    ftpTCP(21)
    sshTCP(22)
    telnetTCP(23)
    wwwTCP(HTTP-80)
    <0-65535>Точный номер порта, любое значение из указанного диапазона
    range <0-65535> <0-65535>Номер порта входит в диапазон

    Задание адреса для перенаправления

    ecorouter(config)#redirect-url SITEREDIRECT
    ecorouter(config-redirect-url)#url http://forredirect.org

    Пример настроек для обработки трафика в абонентской сессии

    В данном примере настроен статический IPoE.

    В результате выполнения приведенных ниже настроек на вход (применяется filter-map policy NAME1) будет отбрасываться весь icmp-трафик, udp-трафик будет ограничен до 20 Мбит/сек, tcp-трафик будет пропускаться без изменений.

    Трафик на выход (применяется filter-map policy NAME2) будет ограничен до 5 Мбит/сек, tcp-трафик порта 80 будет перенаправлен на адрес http://forredirect.org.


    !
    filter-map policy ipv4 NAME1 10
    match icmp any any
    set discard
    filter-map policy ipv4 NAME1 20
    match udp any any
    set accept
    filter-map policy ipv4 NAME2 10
     match tcp any any eq 80
    set redirect SITEREDIRECT
    filter-map policy ipv4 NAME2 20
    match any any any
    set accept
    !
    subscriber-policy NAME
    bandwith in 20
    set filter-map in NAME1 10
    bandwith out 5
    set filter-map out NAME2 10
    !
    subscriber-service NAME
    set policy NAME
    !
    ip prefix-list NAME seq 5 permit 10.10.10.100/32 eq 32
    !
    subscriber-map NAME 10
    match static prefix-list NAME
    set service NAME
    !
    interface ipoe.1
    ip mtu 1500
    ip address 10.10.10.1/24