Метка: routerosv7

  • Миграция OSPF с RouterOS 6 на 7

    Миграция OSPF с RouterOS 6 на 7 меняет структуру меню: OSPFv2 и OSPFv3 объединены, а интерфейсы сопоставляются через interface-template. Текст показывает соответствие основных объектов на простой лабораторной схеме.

    Перед обновлением сохраните backup и текстовый export. Для сети с фильтрами, несколькими area или нестандартными типами интерфейса отдельно проверьте результат автоматической конвертации.

    Васильев Кирилл Простая схема сети для понимания.
    Простая схема сети для понимания.

    И так у нас простая схема “кольцо”, где каждый маршрутизатор имеет соединение со своими соседями “по левую и правую руку”, тем самым такая схема формирует кольцо из четырёх маршрутизаторов.В нашей схеме для транспортных сетей используется адресация 192.168.X.0/24, где X это просто порядковый номер по часовой стрелке от одного до четырёх.

     Информация

    Я не предлагаю и не советую использовать данную адресацию для production сети, адресацию вы всегда самостоятельно выбираете исходя из внутренних требований и возможностей.

    Как было в RouterOS v6

    На каждом маршрутизаторе создан loopback интерфейс на который назначен IP адрес с маской /32 и из префикса 172.31.255.0/24.Последний октет меняется в зависимости от номера маршрутизатора.

    Пример настройки для маршрутизатора R1

    /interface bridge 
    add name=br-Lo
    /ip address
    add address=192.168.2.1/24 interface=ether2
    add address=192.168.4.1/24 interface=ether3
    add address=172.31.255.1/32 interface=br-Lo
    /routing ospf instance
    set [ find default=yes ] redistribute-connected=as-type-1 router-id=172.31.255.1
    /routing ospf interface
    add passive=yes
    add interface=ether2 network-type=broadcast
    add interface=ether3 network-type=broadcast
    /routing ospf network
    add area=backbone network=192.168.2.0/24
    add area=backbone network=192.168.4.0/24
    

    Разберём по порядку, чтобы не осталось вопросов в данной самой простой реализации и запуск протокола OSPF.Первым делом создаём loopback в данном действии не должно появиться вопросов, следующим шагом задаём адресацию на интерфейсах, ethernet интерфейсы соединяют маршрутизаторы между собой согласно нашему плану, четвёртый октет соответствует номеру маршрутизатору, задаётся адрес loopback он должен быть /32.

     Информация

    При выполнении команды export некоторый параметры или аргументы не отображаются так как подразумевается использование контекста “default”, если вам необходимо при выводе получить полную конфигурацию необходимо добавить параметр verbose.

    Далее изменяем instans ospf по умолчанию, который присутствует и имеет какие-то значения по умолчанию, мы указываем что router-id будет точно таким же как и адрес нашего loopback интерфейса, и устанавливаем редистрибуцию connected маршрутов, редистрибуция нам нужна для того, чтобы маршрутизаторы могли достучаться до адресов loopback-ов.

    Следующим шагом создаем шаблон интерфейсов ospf.Шаблон позволит нам избежать ошибки и не запустить процесс ospf для отправки и приёма пакетов ospf (89-протокол) на интерфейсах адресация который попадает под префикс обозначенный в ospf network.Добавляем интерфейсы, которые обеспечивают связь между маршрутизаторами и так же в конце добавляем наши сети в backbone, тем самым непосредственно запускаем процесс ospf на интерфейсах.

    Необходимо убедиться, что ospf работает

    Вывод таблицы маршрутизации на маршрутизаторе R2

    [admin@R2] > /ip route print 
    Flags: X - disabled, A - active, D - dynamic, 
    C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
    B - blackhole, U - unreachable, P - prohibit 
     #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
     0 ADo  172.31.255.1/32                    192.168.1.1             110
     1 ADC  172.31.255.2/32    172.31.255.2    br-Lo                     0
     2 ADo  172.31.255.3/32                    192.168.2.3             110
     3 ADo  172.31.255.4/32                    192.168.2.3             110
     4 ADC  192.168.1.0/24     192.168.1.2     ether2                    0
     5 ADC  192.168.2.0/24     192.168.2.2     ether3                    0
     6 ADo  192.168.3.0/24                     192.168.2.3             110
     7 ADo  192.168.4.0/24                     192.168.2.3             110
    

    Как видите все необходимые intra-area маршруты добавились в таблицу маршрутизации, а также и внешний ext маршруты до loopback-ов добавлены в таблицу маршрутизации.

    Обновление до RouterOS v7

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

    Предположим, что маршрутизатор R3 заменили на железку под управлением RouterOS v7 c этого и начнём и сразу будем разбивать на части с описанием, чего и почему так.

    Настройка IP адресации и основы на R3

    /interface bridge
    add name=br-Lo
    /ip address
    add address=192.168.3.3/24 interface=ether3 
    add address=192.168.2.3/24 interface=ether2 
    add address=172.31.255.3 interface=br-Lo
    

    Здесь нет смысла чего-либо объяснять, сразу продолжим.

    Router ID

    В RFC предложено использовать наименьший IP адрес на маршрутизаторе.Я категорически против такого подхода, ввиду того что, значение Router ID должно быть уникальной во всей AS.Подключенный lte модем в двух концах сети могут сломать всю сеть и по моей бы воли, я бы запретил динамически устанавливать данное значение, но слава богу я всего лишь потребитель, а не разработчик.По умолчанию в седьмой версии уже есть процесс выбора Router ID, но мы создадим свой, так как нам нужно ожидаемое поведение, а дефолтные правила не лучший кейс менять.

    Создание записи Router Id в RouterOS v7

    /routing id
    add disabled=no id=172.31.255.3 name=br-Lo 
    

    В седьмой версии, нельзя указать Router ID в instansce, теперь это вынесено в одеяльный раздел и в instance можно сослаться на конкретную запись, удобнее в том понимании, что если вы используете несколько протоколов например bgp и ospf чтобы внутренние Router ID в обоих протоколах совпадали для удобства, настройка вынесена в отдельную запись.

    Ospf Instance

    В седьмой версии отсутствует instance по умолчанию (и слава богу), его необходимо создать, начнём с самой простой реализации.

    Создание Ospf Instance на R3 в RouterOS v7

    /routing ospf instance
    add name=ospf-v2-1 redistribute=connected router-id=br-Lo version=2 
    

    Я добавил значение которое по умолчанию добавляется для наглядности.В RouterOS v7 вторая и третья версия ospf “в одном флаконе” поэтому при создании instance укажите необходимую версию и не забудьте указать наш Router ID, который мы создали в прошлом шаге, также укажите какие типов маршрутов необходимо отдать как внешние (redistribute), значений больше чем в шестой версии, но по смыслу я думаю всем всё будет понятно, возможно разберу в другой статье.

    Ospf Area

    Ох, сколько было потерянно трафика в multiarea сетях, из-за того, что в шестой версии была по умолчанию включена backbone area и она подставлялась по умолчанию при объявлении intra-area сети.Точно так же как и все шаги до этого, area необходимо создать и создавать мы будем backbone конечно, так как в нашей сети именно он нам необходим.

    Создание Ospf Area на R3 в RouterOS v7

    /routing ospf area
    add area-id=0.0.0.0 instance=ospf-v2-1 name=ospf-1-backbone type=default
    

    Даже нечего описывать не буду, все предельно понятно изменений логики, ноль.

    Ospf Interface Template

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

    Создание Interface List на R3

    /interface list
    add name=ospf-1-backbone
    /interface list member
    add interface=ether2 list=ospf-1-backbone
    add interface=ether3 list=ospf-1-backbone
    

    А теперь создадим шаблон на основе нашего листа.Обратите внимание вы можете указать несколько интерфейсов или несколько листов, а может и листы, и интерфейсы, и при этом, на тех интерфейсах адресация которых попадает под префикс или префиксы будет запущен протокол ospf.Так же в RouterOS v7 cost интерфейса по умолчанию равен единице (1) в отличие от шестой версии, где значения cost было десять (10).Также изменилось и значение priority для выбора DR и BDR в шестой версии было значение единица (1), а в седьмой 128, если вы крутили priority то имейте в виду.

    Создание Interface Template на R3 в RouterOS v7

    /routing ospf interface-template
    add area=ospf-1-backbone interfaces=ospf-1-backbone networks=192.168.2.0/24,192.168.3.0/24 cost=10 priority=1
    

    Если вам нужны разные cost на интерфейсах или priority, то объединение по листам уже вам не поможет, хотя можно объединить в листы по cost, но это надо посидеть и подумать, как с таким жить дальше.Вы можете и не указывать сети — это эквивалентно 0.0.0.0/0 и тогда протокол ospf будет запущен на всех интерфейсах, которые указаны в шаблоне.

    Таблица маршрутизации RouterOS v7

    [admin@R3] /ip/route> print 
    Flags: D - DYNAMIC; A - ACTIVE; c, o, y - COPY; + - ECMP
    Columns: DST-ADDRESS, GATEWAY, DISTANCE
         DST-ADDRESS      GATEWAY             DISTANCE
    DAo+ 172.31.255.1/32  192.168.2.2%ether2       110
    DAo+ 172.31.255.1/32  192.168.3.4%ether3       110
    DAo  172.31.255.2/32  192.168.2.2%ether2       110
    DAc  172.31.255.3/32  br-Lo                      0
    DAo  172.31.255.4/32  192.168.3.4%ether3       110
    DAo  192.168.1.0/24   192.168.2.2%ether2       110
    DAc  192.168.2.0/24   ether2                     0
    DAc  192.168.3.0/24   ether3                     0
    DAo  192.168.4.0/24   192.168.3.4%ether3       110
    

    Собственно всё, мы настроили конфигурацию руками так, чтобы она полностью повторяла конфигурацию из RouterOS v6

    Мелочи и не только

    Поехали дальше по мелочам.

    Ospf Redistribute Type в RouterOS v7

    Если вы не заметили, то ещё одно существенное различие, это отсутствует возможность установки типа внешнего маршрута type-1 (E1) или type-2 (E2), теперь в отличие от шестой версии мы можем устанавливать тип на разные маршруты, основываясь на различных параметрах фильтруемого маршрута, делается сие безумство с помощью фильтров.

    Внешний маршрут от R3

    [admin@R2] /ip route print detail where dst-address=172.31.255.3/32
    Flags: X - disabled, A - active, D - dynamic, 
    C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
    B - blackhole, U - unreachable, P - prohibit 
     0 ADo  dst-address=172.31.255.3/32 gateway=192.168.2.3 
            gateway-status=192.168.2.3 reachable via  ether3 distance=110 scope=20 target-scope=10 
            ospf-metric=11 ospf-type=external-type-1 
    

    Обратите внимание по умолчанию в седьмой версии внешние маршруты распространяются как type-1 (E1) и похоже (это не точно), что стартовая метрика ровна единице (1) во [.line-through]#всех# многих случаях (проверил только в static, default и connected маршрутах)

     Внимание

    В сотый раз

    На всех маршрутизаторах в одной area таблица LSDB, ДОЛЖНА быть одинакова.Каждый маршрутизатор рассчитывает относительно данных в своей таблице LSDB с помощью алгоритма Дейкстры (Dijkstra’s) для каждого маршрута лучший шлюз и его добавляет в FIB таблицу маршрутизации.Если мы могли бы фильтровать на выходе intra-area в таком случае информация не попадёт в LSDB других маршрутизаторов, а наш маршрутизатор эту информацию использовал бы, в таком случае возникали бы L3 петли.По сути, как раз это часть функционала, гарантирующая отсутствие петель.При это на входе мы можем фильтровать intra-area маршруты, так как мы фильтруем, не те маршруты, которые попадут в LSDB.А те которые будут добавлены в обычную таблицу маршрутизации FIB.

    Добавим ещё один адрес на loopback, чтобы он был connected и попробуем “сделать красиво”

    Добавляем connected маршрут на R3

    [admin@R3] > /ip/address/add address=172.31.255.33 interface=br-Lo
    

    Установка исходящего фильтра ospf в RouterOS v7

    [admin@R3] > /routing/ospf/instance/set out-filter-chain=ospf-out ospf-v2-1
    

    В отличие от шестой версии в седьмой фильтры по умолчанию имеют действие reject, поэтому все внешние маршруты от R3 после указания фильтра сразу попали под фильтр и исчезли со всех маршрутизаторов.

    Отсутствует маршрут до loopback-а третьего маршрутизатора.

    [admin@R2] > /ip route print 
    Flags: X - disabled, A - active, D - dynamic, 
    C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
    B - blackhole, U - unreachable, P - prohibit 
     #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
     0 ADo  172.31.255.1/32                    192.168.1.1             110
     1 ADC  172.31.255.2/32    172.31.255.2    br-Lo                     0
     2 ADo  172.31.255.4/32                    192.168.1.1             110
     3 ADC  192.168.1.0/24     192.168.1.2     ether2                    0
     4 ADC  192.168.2.0/24     192.168.2.2     ether3                    0
     5 ADo  192.168.3.0/24                     192.168.1.1             110
     6 ADo  192.168.4.0/24                     192.168.1.1             110
    

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

    Создадим самый простой фильтр

    Простейший фильтр разрешающий все маршруты в RouterOS v7

    [admin@R3] /routing/filter/rule add chain=ospf-out rule=accept 
    

    А наши маршруты полетели в сеть OSPF, но лично мне этого мало.

    Поменяем метрику у разных маршрутов в RouterOS v7

    /routing filter rule
    add chain=ospf-out disabled=no rule="if (dst==172.31.255.3) {set ospf-ext-metric 100; accept}"
    add chain=ospf-out disabled=no rule="if (dst==172.31.255.33) {set ospf-ext-metric 200; accept}"
    

    Конечно проверим на R2

    Таблица OSPF маршрутов на R2

    [admin@R2] > /routing ospf route print 
     # DST-ADDRESS        STATE          COST         GATEWAY         INTERFACE     
     0 172.31.255.1/32    ext-1          30           192.168.1.1     ether2        
     1 172.31.255.2/32    imported-ext-1 20          
     2 172.31.255.3/32    ext-1          110          192.168.2.3     ether3        
     3 172.31.255.4/32    ext-1          21           192.168.1.1     ether2        
                                                      192.168.2.3     ether3        
     4 172.31.255.33/32   ext-1          210          192.168.2.3     ether3        
     5 192.168.1.0/24     intra-area     10           0.0.0.0         ether2        
     6 192.168.2.0/24     intra-area     10           0.0.0.0         ether3        
     7 192.168.3.0/24     intra-area     20           192.168.2.3     ether3        
     8 192.168.4.0/24     intra-area     20           192.168.1.1     ether2
    

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

    Поменяем тип внешнего маршрута на type2 (E2) в RouterOS v7

    [admin@R3] /routing/filter/rule> add chain=ospf-out rule="if (dst==172.31.255.33){set ospf-ext-type type2}" place-before=0
    

    Закрепляем результат проверкой на R2

    Таблица OSPF маршрутов на R2

    [admin@R2] > /routing ospf route print 
     # DST-ADDRESS        STATE          COST         GATEWAY         INTERFACE     
     0 172.31.255.1/32    ext-1          30           192.168.1.1     ether2        
     1 172.31.255.2/32    imported-ext-1 20          
     2 172.31.255.3/32    ext-1          110          192.168.2.3     ether3        
     3 172.31.255.4/32    ext-1          21           192.168.1.1     ether2        
                                                      192.168.2.3     ether3        
     4 172.31.255.33/32   ext-2          200          192.168.2.3     ether3        
     5 192.168.1.0/24     intra-area     10           0.0.0.0         ether2        
     6 192.168.2.0/24     intra-area     10           0.0.0.0         ether3        
     7 192.168.3.0/24     intra-area     20           192.168.2.3     ether3        
     8 192.168.4.0/24     intra-area     20           192.168.1.1     ether2
    

    Как видите теперь это возможно!

    Мой дефолт

    Я предпочитаю устанавливать дефолтный набор правил фильтров в шестой версии.

    Набор правил фильтров aka Vasilev Kirill

    /routing filter
    add action=accept chain=ospf-in prefix=172.16.0.0/12 prefix-length=24
    add action=accept chain=ospf-in prefix=172.16.0.0/12 prefix-length=32
    add action=accept chain=ospf-in prefix=10.0.0.0/8 prefix-length=24
    add action=accept chain=ospf-in prefix=192.168.0.0/16 prefix-length=24
    add action=discard chain=ospf-in
    add action=accept chain=ospf-out prefix=172.16.0.0/12 prefix-length=24
    add action=accept chain=ospf-out prefix=172.16.0.0/12 prefix-length=32
    add action=accept chain=ospf-out prefix=10.0.0.0/8 prefix-length=24
    add action=accept chain=ospf-out prefix=192.168.0.0/16 prefix-length=24
    add action=discard chain=ospf-out
    

     Внимание

    Для тех кто на своей волне

    Я не утверждаю, что данный набор правил фильтров подходит ко всем.Только вы принимаете решение, какие фильтры вы должны использовать, я лишь показываю, то, как делаю я в большинстве случаев, когда это возможно и необходимо.

    Данные правила защищают маршрутизатор от ошибок на других маршрутизаторах, так же и защищают вашу сеть от ошибок на маршрутизаторе, на котором данные фильтры установлены.По большой части разрешается на вход и выход 24-е маршруты из трёх публичных внутренних BOGON сетей, а также в дополнение разрешается на вход и выход адреса loopback-ов, которые я обычно делаю в 172.16…сети.

    Давайте сделаем то же самое, но под синтаксис RouterOS v7

    .aka Vasilev Kirill в RouterOS v7

    /routing filter rule
    add chain=ospf-out disabled=no rule="if (dst-len in 24 && dst in 172.16.0.0/12) {accept}"
    add chain=ospf-out disabled=no rule="if (dst-len in 32 && dst in 172.16.0.0/12) {accept}"
    add chain=ospf-out disabled=no rule="if (dst-len in 24 && dst in 192.168.0.0/16) {accept}"
    add chain=ospf-out disabled=no rule="if (dst-len in 24 && dst in 10.0.0.0/8) {accept}"
    add chain=ospf-in disabled=no rule="if (dst-len in 24 && dst in 172.16.0.0/12) {accept}"
    add chain=ospf-in disabled=no rule="if (dst-len in 32 && dst in 172.16.0.0/12) {accept}"
    add chain=ospf-in disabled=no rule="if (dst-len in 24 && dst in 192.168.0.0/16) {accept}"
    add chain=ospf-in disabled=no rule="if (dst-len in 24 && dst in 10.0.0.0/8) {accept}"
    

    Обратите внимание.Что фильтры на instance по умолчанию не указаны, надо указывать явным образом, также так как в RouterOS v7 фильтры по умолчанию имеют действие reject, то отпадает необходимость использовать запрещающие правила в конце.

    Подсматриваем

    Конечно, без понимания, кто куда, как и что прислал или отправил в ospf тяжело, вот сейчас и попробуем разобраться.

    Состояние интерфейсов OSPF в RouterOS v7

    [admin@R3] /routing/ospf/interface print detail 
    Flags: D - dynamic 
     0 D address=192.168.2.3%ether2 area=ospf-1-backbone state=bdr network-type=broadcast dr=192.168.2.2 cost=10 priority=1 retransmit-interval=5s 
         transmit-delay=1s hello-interval=10s dead-interval=40s 
    
     1 D address=192.168.3.3%ether3 area=ospf-1-backbone state=bdr network-type=broadcast dr=192.168.3.4 cost=10 priority=1 retransmit-interval=5s 
         transmit-delay=1s hello-interval=10s dead-interval=40s 
    

    .LSDB OSPF в RouterOS v7

    [admin@R3] /routing/ospf/lsa/print
    Flags: S - self-originated, F - flushing, W - wraparound; D - dynamic 
     0  D instance=ospf-v2-1 type="external" originator=172.31.255.1 id=172.31.255.1 sequence=0x80000006 age=136 checksum=0xC8D7 body=
            options=E
            netmask=255.255.255.255
            forwarding-address=0.0.0.0
            metric=20 type-1
            route-tag=0
    
     1 SD instance=ospf-v2-1 type="external" originator=172.31.255.3 id=172.31.255.3 sequence=0x80000003 age=1187 checksum=0xD17D body=
            options=E
            netmask=255.255.255.255
            forwarding-address=0.0.0.0
            metric=100 type-1
            route-tag=0
    
     2  D instance=ospf-v2-1 type="external" originator=172.31.255.4 id=172.31.255.4 sequence=0x80000006 age=142 checksum=0xD9D3 body=
            options=E
            netmask=255.255.255.255
            forwarding-address=0.0.0.0
            metric=1 type-1
            route-tag=0
    
     3 SD instance=ospf-v2-1 type="external" originator=172.31.255.3 id=172.31.255.33 sequence=0x80000003 age=719 checksum=0x1438 body=
            options=E
            netmask=255.255.255.255
            forwarding-address=0.0.0.0
            metric=200 type-2
            route-tag=0
    ...
    

    Состояние смежности между соседями OSPF в RouterOS v7

    [admin@R3] /routing/ospf/neighbor/print 
    Flags: V - virtual; D - dynamic 
     0  D instance=ospf-v2-1 area=ospf-1-backbone address=192.168.2.2 priority=1 router-id=172.31.255.2 dr=192.168.2.2 bdr=192.168.2.3 state="Full" state-changes=6 
          adjacency=1h25m23s timeout=37s 
    
     1  D instance=ospf-v2-1 area=ospf-1-backbone address=192.168.3.4 priority=128 router-id=172.31.255.4 dr=192.168.3.4 bdr=192.168.3.3 state="Full" state-changes=6 
          adjacency=1h25m22s timeout=39s 
    

    Таблица маршрутизации OSPF в RouterOS v7

    [admin@R3] /routing/route/print detail where ospf
    Flags: X - disabled, F - filtered, U - unreachable, A - active; 
    c - connect, s - static, r - rip, b - bgp, o - ospf, d - dhcp, v - vpn, m - modem, a - ldp-address, l - ldp-mapping, y - copy; H - hw-offloaded; 
    + - ecmp, B - blackhole 
     Ao + afi=ip4 contribution=active dst-address=172.31.255.1/32 routing-table=main gateway=192.168.2.2%ether2 immediate-gw=192.168.2.2%ether2 distance=110 
           scope=20 target-scope=10 belongs-to="OSPF route" 
           ospf.metric=40 .tag=0 .type=ext-type-1 
           debug.fwp-ptr=0x20282300 
    
     Ao + afi=ip4 contribution=active dst-address=172.31.255.1/32 routing-table=main gateway=192.168.3.4%ether3 immediate-gw=192.168.3.4%ether3 distance=110 
           scope=20 target-scope=10 belongs-to="OSPF route" 
           ospf.metric=40 .tag=0 .type=ext-type-1 
           debug.fwp-ptr=0x202822A0 
    
     Ao   afi=ip4 contribution=active dst-address=172.31.255.2/32 routing-table=main gateway=192.168.2.2%ether2 immediate-gw=192.168.2.2%ether2 distance=110 
           scope=20 target-scope=10 belongs-to="OSPF route" 
           ospf.metric=30 .tag=0 .type=ext-type-1 
           debug.fwp-ptr=0x20282300 
    
     Ao   afi=ip4 contribution=active dst-address=172.31.255.4/32 routing-table=main gateway=192.168.3.4%ether3 immediate-gw=192.168.3.4%ether3 distance=110 
           scope=20 target-scope=10 belongs-to="OSPF route" 
           ospf.metric=11 .tag=0 .type=ext-type-1 
           debug.fwp-ptr=0x202822A0 
    
     Ao   afi=ip4 contribution=active dst-address=192.168.1.0/24 routing-table=main gateway=192.168.2.2%ether2 immediate-gw=192.168.2.2%ether2 distance=110 
           scope=20 target-scope=10 belongs-to="OSPF route" 
           ospf.metric=20 .type=intra 
           debug.fwp-ptr=0x20282300 
    
     Ao   afi=ip4 contribution=active dst-address=192.168.4.0/24 routing-table=main gateway=192.168.3.4%ether3 immediate-gw=192.168.3.4%ether3 distance=110 
           scope=20 target-scope=10 belongs-to="OSPF route" 
           ospf.metric=20 .type=intra 
           debug.fwp-ptr=0x202822A0 
    

    Память OSPF в RouterOS v7

    [admin@R3] /routing/stats/process print detail where tasks=ospf
    Flags: A - abandoned 
     2   tasks=ospf private-mem-blocks=512.0KiB shared-mem-blocks=256.0KiB pss=597.0KiB rss=2492.0KiB vms=18.7MiB id=ospf pid=115 rpid=1 process-time=210ms 
         kernel-time=540ms max-busy=10ms max-calc=10ms
    

    Убить процесс OSPF в RouterOS v7

    [admin@R3] /routing/stats/process kill [find tasks=ospf]
    

    Надеюсь я вам помог лучше узнать OSPF в RouterOS v7.

    Как проверить результат

    • Сравните instance, area и interface-template после загрузки v7.
    • Проверьте состояния neighbor и маршруты OSPF на каждом узле.
    • Сопоставьте экспортированные и принятые префиксы с ожидаемой политикой.

    Источники и связанные материалы

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