Перейти к содержимому
Калькуляторы

Несколько внешних каналов на MT Несколько внешних IP одного провайдера

Есть MT, на который заведены каналы двух провайдеров.

Одним из провайдеров выделено 2 белых IP из одной подсети.

 

Проблема следующая: по одному IP все работает (XXX.XXX.62.131), а по второму нет (XXX.XXX.62.130).

 

Настройки:

/ip address
add address=XXX.XXX.62.131/27 interface=vl-5-ISP1 network=XXX.XXX.62.128
add address=XXX.XXX.62.130/27 interface=vl-5-ISP1 network=XXX.XXX.62.128

/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address=XXX.XXX.62.130 in-interface=vl-5-ISP1 new-connection-mark=conn-ISP1-1 passthrough=yes
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address=XXX.XXX.62.131 in-interface=vl-5-ISP1 new-connection-mark=conn-ISP1-2 passthrough=yes
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=vl-4-ISP2 new-connection-mark=conn-ISP2 passthrough=yes

add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local new-connection-mark=conn-ISP1-1 passthrough=yes per-connection-classifier=src-address-and-port:2/0 src-address-list=local-all
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local new-connection-mark=conn-ISP2 passthrough=yes per-connection-classifier=src-address-and-port:2/1 src-address-list=local-all

add action=mark-routing chain=prerouting connection-mark=conn-ISP1-1 dst-address-list=!private-ip new-routing-mark=route-ISP1-1 passthrough=yes src-address-list=private-ip
add action=mark-routing chain=prerouting connection-mark=conn-ISP1-2 dst-address-list=!private-ip new-routing-mark=route-ISP1-2 passthrough=yes src-address-list=private-ip
add action=mark-routing chain=prerouting connection-mark=conn-ISP2 dst-address-list=!private-ip new-routing-mark=route-ISP2 passthrough=yes src-address-list=private-ip

add action=mark-routing chain=output connection-mark=conn-ISP1-1 new-routing-mark=route-ISP1-1 passthrough=yes
add action=mark-routing chain=output connection-mark=conn-ISP1-2 new-routing-mark=route-ISP1-2 passthrough=yes
add action=mark-routing chain=output connection-mark=conn-ISP2 new-routing-mark=route-ISP2 passthrough=yes

/ip firewall nat
add action=src-nat chain=srcnat out-interface=vl-5-ISP1 routing-mark=route-ISP1-1 to-addresses=XXX.XXX.62.130
add action=src-nat chain=srcnat out-interface=vl-5-ISP1 routing-mark=route-ISP1-2 to-addresses=XXX.XXX.62.131
add action=masquerade chain=srcnat out-interface=vl-4-ISP2

/ip route
add check-gateway=arp distance=1 gateway=XXX.XXX.62.129 pref-src=XXX.XXX.62.130 routing-mark=route-ISP1-1
add check-gateway=arp distance=1 gateway=XXX.XXX.62.129 pref-src=XXX.XXX.62.131 routing-mark=route-ISP1-2

add distance=1 gateway=YYY.YYY.1.208 routing-mark=route-ISP2
add distance=1 gateway=YYY.YYY.1.206 routing-mark=route-ISP2
add distance=1 gateway=YYY.YYY.1.207 routing-mark=route-ISP2
add distance=1 gateway=YYY.YYY.1.209 routing-mark=route-ISP2

 

В /ip/firewall/connections вижу, что соединения маркируются правильно:

- для XXX.XXX.62.130 маркируются conn-ISP1-1

- для XXX.XXX.62.131 маркируются conn-ISP1-2.

 

Подскажите в какую сторону копать?

Изменено пользователем Alexey_G

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то стало проясняться, пакеты уходят с интерфейса Default маршрута, у которого не установлен Routing Mark.

 

Вывел лог этого правила:

add action=mark-routing chain=output connection-mark=conn-ISP1-1 new-routing-mark=route-ISP1-1 passthrough=yes log=yes log-prefix=out_log

 

Вижу следующее:

10:07:07 firewall,info out_log output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.130->CCC.CCC.1.72, len 60 
10:07:12 firewall,info out_log output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.130->CCC.CCC.1.72, len 60 
10:07:17 firewall,info out_log output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.130->CCC.CCC.1.72, len 60 
10:07:23 firewall,info out_log output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.130->CCC.CCC.1.72, len 60 

 

Есть такой маршрут (без Routing Mark):

/ip route
add distance=1 gateway=YYY.YYY.1.208

 

Хотя нет, понятнее не стало, поставил логирование и второго правила (которое работает):

add action=mark-routing chain=output connection-mark=conn-ISP1-1 new-routing-mark=route-ISP1-1 passthrough=yes log=yes log-prefix=out_log2

 

Вижу тоже самое:

10:22:36 firewall,info out_log2 output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.131->CCC.CCC.1.72, len 60 
10:22:37 firewall,info out_log2 output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.131->CCC.CCC.1.72, len 60 
10:22:38 firewall,info out_log2 output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.131->CCC.CCC.1.72, len 60 
10:22:39 firewall,info out_log2 output: in:(none) out:vl-4-ISP2, proto ICMP (type 0, code 0), XXX.XXX.62.131->CCC.CCC.1.72, len 60 

 

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

Изменено пользователем Alexey_G

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Делайте логирование в postrouting manglе или даже postrouting nat. Там видно что и в каком виде выходит.

Изменено пользователем nkusnetsov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тема закрыта, провайдер резал у себя исходящие пакеты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.