Mikrotik RoS v7.1 OSPF — проблема с /32 адресами PtP клиентов

от автора

Проблема

Собственно один из сценариев с OSPF — распространение маршрутной информации от одного филиала в другой, и в 6-ке проблем не было. Настроил зону, включил туда диапазон выдаваемый любым PtP сервером и адреса клиентов полетели по всем филиалам. Да, очень неудобно, когда таких маршрутов много, их обычно можно агрегировать и проблемы нет. Но в 7-ке проблема в другом, то ли из-за бага, то ли я что-то делаю не так, но маршруты для PtP клиентов не распространяются.

Решение

Само решение довольно простое.

Надо просто объявить static blackhole маршрут до подсети этих клиентов с большой метрикой и назначить в OSPF распространение static маршрутов. Тут почти все, надо еще и отфильтровать маршруты, что-бы распространялись только необходимые, далее будет код:

/ip route add blackhole disabled=no distance=255 dst-address=10.0.2.0/24 gateway="" pref-src="" routing-table=main scope=30 suppress-hw-offload=no target-scope=10 add disabled=no distance=255 dst-address=10.0.28.0/24 gateway=172.16.26.129 pref-src="" routing-table=main scope=30 suppress-hw-offload=no target-scope=10  /routing ospf instance add name=ospf-instance-1 out-filter-chain=ospf-out redistribute=static,ospf router-id=10.0.0.129  /routing ospf area add instance=ospf-instance-1 name=ospf-area-1 add area-id=10.0.3.0 instance=ospf-instance-1 name=local type=stub  /routing filter rule add chain=ospf-out disabled=no rule="if ( protocol static ){\r\     \n if( dst==10.0.2.0/24 && dst-len==24 ) { accept }\r\     \n reject\r\     \n}\r\"  /routing ospf area range add area=local disabled=yes prefix=10.0.2.0/24  /routing ospf interface-template add area=ospf-area-1 dead-interval=4s hello-interval=1s networks=10.0.0.128/25 type=ptp add area=local networks=10.0.3.0/24 passive add area=local networks=10.0.2.0/24 passive prefix-list=10.0.2.0/24 type=ptp add area=local networks=10.0.28.0/24 passive prefix-list=10.0.28.0/24 type=ptp

Для примера выше, сеть 10.0.2.0/24 выделена для L2TP клиентов, 10.0.28.0/24 — «пробная», для проверки работы фильтра и распространятся не должна.

Логика фильтра следующая: если маршрут статичный, то проверить его на соответствие критерию, если нет, то отбросить.

Глянем маршруты на соседнем роутере:

Flags: D - DYNAMIC; A - ACTIVE; c, o, d, y - COPY Columns: DST-ADDRESS, GATEWAY, DISTANCE     DST-ADDRESS       GATEWAY                 DISTANCE DAd 0.0.0.0/0         172.16.26.129                200 DAc 10.0.0.0/25       bridge-ISP                     0 D o 10.0.0.129/32     10.0.0.129%gre-tunnel1       110 DAc 10.0.0.129/32     gre-tunnel1                    0 DAo 10.0.2.0/24       10.0.0.129%gre-tunnel1       110 DAo 10.0.2.1/32       10.0.0.129%gre-tunnel1       110 DAo 10.0.3.0/24       10.0.0.129%gre-tunnel1       110 DAc 10.0.4.254/32     <l2tp-ppp1>                    0 DAc 10.0.5.0/24       ether3                         0 DAc 172.16.26.128/25  ether4                         0

Как видно из листинга выше, тут есть только анонсированные маршруты и маршрут /32 до самого роутера.


ссылка на оригинал статьи https://habr.com/ru/articles/596477/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *