Route rules в ROS7

Обсуждение ПО и его настройки
Ответить
Illinory
Сообщения: 100
Зарегистрирован: 23 окт 2019, 15:08

Добрый день.

В ROS7 (использую 7.12 Stable) появились вопросы по работоспособности routing rules.

Тестовая схема примерно такая.
Из сети uplink нужно по src-addr роутить в идентичные по адресации VRF (VLAN-ы).
В ROS6 подобная задача решалась через ip rules.
Изображение

Код: Выделить всё

/interface ethernet
set [ find default-name=ether1 ] comment=to-vrf
set [ find default-name=ether2 ] comment=to-uplink
set [ find default-name=ether13 ] comment=management

#именованные VLAN для идентичных сетей
/interface vlan
add interface=ether1 name=vlan106 vlan-id=106
add interface=ether1 name=vlan115 vlan-id=115

#Создаю VFR-ы, таблицы FIB создаст Микротик динамически
/ip vrf
add interfaces=vlan106 name=vrf106
add interfaces=vlan115 name=vrf115
add interfaces=ether2 name=vrf_uplink

# Адресация VRF106 и VRF115 идентична
/ip address
add address=10.150.201.1/24 interface=ether2 network=10.150.201.0
add address=192.168.3.30/24 interface=ether13 network=192.168.3.0
add address=10.150.200.63/24 interface=vlan106 network=10.150.200.0
add address=10.150.200.63/24 interface=vlan115 network=10.150.200.0

# У VRF106 и VRF115 есть defualt, 10.225.0.0/16 в ROS7 можно задать через GW VRF-а - это работает, в ROS6 этот вопрос также можно было решить в ip rules
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.3.2%ether13@main pref-src=0.0.0.0 routing-table=main scope=30 suppress-hw-offload=no target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.150.200.1@vrf106 pref-src=0.0.0.0 routing-table=vrf106 scope=30 suppress-hw-offload=no target-scope=10
add disabled=no dst-address=10.225.0.0/16 gateway=10.150.201.2@vrf_uplink routing-table=vrf_uplink suppress-hw-offload=no
add disabled=no distance=1 dst-address=10.225.0.0/16 gateway=10.150.201.2@vrf_uplink pref-src=0.0.0.0 routing-table=vrf106 scope=30 suppress-hw-offload=no target-scope=10
add disabled=no distance=1 dst-address=10.225.0.0/16 gateway=10.150.201.2@vrf_uplink pref-src="" routing-table=vrf115 scope=30 suppress-hw-offload=no target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.150.200.1@vrf115 pref-src="" routing-table=vrf115 scope=30 suppress-hw-offload=no target-scope=10
Если вешать маркировку в prerouting, проблем нет, но это не вариант..

Код: Выделить всё

/ip firewall mangle
add action=mark-routing chain=prerouting disabled=yes new-routing-mark=vrf115 passthrough=no src-address=10.225.1.0/24
А вот и вопрос: каким образом в ROS7 работает routing rule?
Вот это уже не работает, sniffer показывает, что микротик даже не пытается, шлет net unreachable.
Пробовал указывать Routing mark, Interface и даже 0.0.0.0/0 в качестве dst-address в любых сочетаниях. Эффекта не дает.

Код: Выделить всё

routing rule
add action=lookup-only-in-table disabled=no src-address=10.225.1.0/24 table=vrf106
add action=lookup-only-in-table disabled=no src-address=10.225.2.0/24 table=vrf115


Illinory
Сообщения: 100
Зарегистрирован: 23 окт 2019, 15:08

В 7.13beta2 тоже не завелось.

В roadmap от MikroTik стоит чек, что rules работали в 7.0 с тестами, но этой версии на сайте уже нет.
В 7.1 не работают ни rules, ни mangle firewall, да и в целом очень глючная (а чего я хотел).

Если кто-то знает секрет /routing rules при использовании VRF в ROS7, поделитесь, пожалуйста.


Illinory
Сообщения: 100
Зарегистрирован: 23 окт 2019, 15:08

Потестил еще на 7.13rc3.
Судя по поведению, rules срабатывают только на трафик из vrf main.
В остальных vfr трафик игнорируется, какую routing mark не поставить.
Также на текущий момент в реализации присутствуют минимум два бага:
- при изменении rules для его корректного срабатывания необходимо сделать disable/enable;
- min-prefix 0 как минимум не срабатывает при def gw от DHCP (статику не проверял).


Ответить