Появилась проблемка. Забираю от прова 2 сети на одном ифейсе. одня служебная (/30) вторая для сервисов (/29)
Всё приходит на одном ифейсе
Ну и временно третий аплинк для стыка с парочкой ресурсов.
Вводные:
интерфейс sfp-sfpplus1 - 198.51.100.208/29 (сервисная, на ифейсе у меня .210)
интерфейс sfp-sfpplus1 - 198.51.112.208/30 (служебка, на ифейсе у меня .210)
интерфейс ISP_05 - 198.51.171.209/24 - стыковая с другими
принимал-бы сети /30 и /29 на разных ифейсах - уже-бы собрал, а на одном запутался
Сделал следующее:
Код: Выделить всё
/ip address
add interface=sfp-sfpplus1 address=198.51.112.210/30 comment=ISP1_HOME
add interface=sfp-sfpplus1 address=198.51.100.210/29 comment=ISP1_01
add interface=sfp-sfpplus1 address=198.51.100.211/29 comment=ISP1_02
add interface=sfp-sfpplus1 address=198.51.100.212/29 comment=ISP1_03
add interface=sfp-sfpplus1 address=198.51.100.213/29 comment=ISP1_04
add interface=sfp-sfpplus1 address=198.51.100.214/29 comment=ISP1_05
#Метим соединения по подсетям
/ip firewall mangle
add chain=prerouting in-interface=sfp-sfpplus1 dst-address=198.51.112.208/30 connection-state=new action=mark-connection new-connection-mark=conn_mega_home passthrough=no
add chain=prerouting in-interface=sfp-sfpplus1 dst-address=198.51.100.208/29 connection-state=new action=mark-connection new-connection-mark=conn_mega_abon passthrough=no
add chain=prerouting in-interface=ISP_05 dst-address=198.51.171.209/24 connection-state=new action=mark-connection new-connection-mark=conn_bilain passthrough=no
#Вешаем рутинг марки
/ip firewall mangle
add chain=output connection-mark=conn_mega_home action=mark-routing new-routing-mark=route_mega_home passthrough=no
add chain=output connection-mark=conn_mega_abon action=mark-routing new-routing-mark=route_mega_abon passthrough=no
add chain=output connection-mark=conn_bilain action=mark-routing new-routing-mark=route_bilain passthrough=no
#Выходим в мир с тех-же адресов что и пришли
/ip firewall mangle
add chain=output src-address=198.51.112.208/30 action=mark-routing new-routing-mark=route_mega_home passthrough=no
add chain=output src-address=198.51.100.208/29 action=mark-routing new-routing-mark=route_mega_abon passthrough=no
add chain=output src-address=198.51.171.209/24 action=mark-routing new-routing-mark=route_bilain passthrough=no
#Обозначаем дефолтные маршруты
/ip route
add dst-address=0.0.0.0/0 gateway=198.51.112.209 routing-mark=route_mega_home
add dst-address=0.0.0.0/0 gateway=198.51.100.209 routing-mark=route_mega_abon
add dst-address=0.0.0.0/0 gateway=198.51.171.1 routing-mark=route_bilain
#Выходим именно с тех с кого пришли
/ip route rule
add routing-mark=route_mega_home action=lookup-only-in-table table=route_mega_home
add routing-mark=route_mega_abon action=lookup-only-in-table table=route_mega_abon
add routing-mark=route_bilain action=lookup-only-in-table table=route_bilain
#Создаём дефолт для всех остальных, если сети попадали
/interface bridge add name=Br-Loopback
/ip route add dst-address=0.0.0.0/0 gateway=Br-Loopback distance=254
/ip firewall mangle
add chain=output src-address=198.51.112.208/30 dst-address-list=!BOGON action=mark-routing new-routing-mark=route_mega_home passthrough=no
/ip route
set pref-src=198.51.112.210 [ find gateway=Br-Loopback dst-address=0.0.0.0/0 ]
/ip firewall mangle
add chain=prerouting connection-mark=conn_mega_home in-interface=!sfp-sfpplus1 action=mark-routing new-routing-mark=route_mega_home passthrough=no
add chain=prerouting connection-mark=conn_mega_abon in-interface=!sfp-sfpplus1 action=mark-routing new-routing-mark=route_mega_abon passthrough=no
add chain=prerouting connection-mark=conn_bilain in-interface=!ISP_05 action=mark-routing new-routing-mark=route_bilain passthrough=no
/ip firewall address-list
add list=via/198.51.112.210 address=100.100.100.254
add list=via/198.51.100.210 address=100.100.100.253
add list=via/198.51.171.209 address=100.100.100.252
#....
#Описываем выход внутрянки через конкретный роут
/ip firewall mangle
add chain=prerouting src-address-list=via/198.51.112.210 dst-address-list=!BOGONS action=mark-routing new-routing-mark=route_mega_home passthrough=no
add chain=prerouting src-address-list=via/198.51.100.210 dst-address-list=!BOGONS action=mark-routing new-routing-mark=route_mega_abon passthrough=no
add chain=prerouting src-address-list=via/198.51.171.209 dst-address-list=!BOGONS action=mark-routing new-routing-mark=route_bilain passthrough=no
#Пишем нужный нат для конкретных сервисов
/ip firewall nat
add chain=srcnat routing-mark=route_mega_home src-address-list=via/198.51.112.210 action=src-nat to-addresses=198.51.112.210
add chain=srcnat routing-mark=route_mega_abon src-address-list=via/198.51.100.210 action=src-nat to-addresses=198.51.100.210
add chain=srcnat routing-mark=route_bilain src-address-list=via/198.51.171.209 action=src-nat to-addresses=198.51.171.209
#Общий нат
/ip firewall nat
add chain=srcnat out-interface=sfp-sfpplus1 routing-table=main action=src-nat to-addresses=198.51.100.212
add chain=srcnat out-interface=sfp-sfpplus1 routing-table=main action=src-nat to-addresses=198.51.112.210
Выхода в мир, как такового нет, вернее выход в мир работает у частичных сервисов из локалки.
ЧЯДНТ ?
З.Ы. подправил вводные