2 ISP + vpn + nat

Обсуждение ПО и его настройки
Lucifer
Сообщения: 18
Зарегистрирован: 16 июл 2019, 09:04

Железка - RB750Gr3
2 провайдера (ethernet, IP - один белый, другой - серый), failover посредством рекурсивных маршрутов.
Поднят OpenVPN сервер и на него прокинут тоннель с MSServer+RDP (на время отладки подключен к локальной сети упомянутого RB750Gr3).

Т.к. канал по белому IP узкий основным выбран маршрут через серый IP.
Доступ снаружи на белый IP реализован через mangle:
 /ip firewall mangle
/ip firewall mangle

add action=mark-connection chain=input in-interface=ether1 new-connection-mark=conn-ISP1 passthrough=yes
add action=mark-connection chain=input in-interface=ether2 new-connection-mark=conn-ISP2 passthrough=yes

add action=mark-routing chain=output connection-mark=conn-ISP1 new-routing-mark=route-ISP1 passthrough=no
add action=mark-routing chain=output connection-mark=conn-ISP2 new-routing-mark=route-ISP2 passthrough=no

add action=mark-connection chain=forward in-interface=ether1 new-connection-mark=conn-ISP1-f passthrough=no
add action=mark-connection chain=forward in-interface=ether2 new-connection-mark=conn-ISP2-f passthrough=no

add action=mark-routing chain=prerouting connection-mark=conn-ISP1-f in-interface=bridge-local new-routing-mark=route-ISP1 passthrough=no
add action=mark-routing chain=prerouting connection-mark=conn-ISP2-f in-interface=bridge-local new-routing-mark=route-ISP2 passthrough=no
Маршруты через свои таблицы прописаны
 /ip route
/ip route
add distance=1 gateway=IP-ISP1 routing-mark=route-ISP1
add distance=1 gateway=IP-ISP2 routing-mark=route-ISP2
LAN XX.XX.XX.0/24
ip сервера в локалке XX.XX.XX.10

ovpn-тоннель:
сеть YY.YY.YY.0/30
соответственно IP YY.YY.YY.2
Это все нормально работает.

dst-nat'ы:
 /ip firewall nat
/ip firewall nat
add comment="TO ETHERNET" action=dst-nat chain=dstnat dst-address=Белый_WAN_IP dst-port=33333 protocol=tcp to-addresses=XX.XX.XX.10 to-ports=3389
add comment="TO OPENVPN" action=dst-nat chain=dstnat dst-address=Белый_WAN_IP dst-port=44444 protocol=tcp to-addresses=YY.YY.YY.10 to-ports=3389
Теперь о грустном...
Через первый проброс (на IP физической карты сервера - Белый_WAN_IP:33333) работает всегда.
А вот через второй (который на тоннель - Белый_WAN_IP:44444) - только если активен маршрут через "белого" провайдера.

Чего не хватает для функционирования dst-nat'а на адрес ovpn при основном маршруте через "серого" провайдера?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

mark-routing для трафика выходящего из туннеля?


Telegram: @thexvo
Lucifer
Сообщения: 18
Зарегистрирован: 16 июл 2019, 09:04

xvo писал(а): 26 окт 2019, 13:57 mark-routing для трафика выходящего из туннеля?
Можете пример набросать?
Если по аналогии с ISP1-ISP-2 (добавить 4 mangle правила и маршрут на 0.0.0.0/24 со своим routing mark через YY.YY.YY.2) - пробовал, без результата...


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Да нет же, у вас последние два правила mangle только для in-interface=bridge-local.
Нужно ещё одно для in-interface=ovpn-туннель, с какой там нужно меткой.


Telegram: @thexvo
Lucifer
Сообщения: 18
Зарегистрирован: 16 июл 2019, 09:04

xvo писал(а): 26 окт 2019, 14:44 Да нет же, у вас последние два правила mangle только для in-interface=bridge-local.
Нужно ещё одно для in-interface=ovpn-туннель, с какой там нужно меткой.
Действительно. Как-то не сообразил...
Заработало!

Спасибо!


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Не за что :)


Telegram: @thexvo
Lucifer
Сообщения: 18
Зарегистрирован: 16 июл 2019, 09:04

Все было настроено (т.е. все вышеприведенное актуально) и "забыто" (ибо все работает как надо).
Однако возникла необходимость отсылать email'ы с микрота.
Так вот если активен основной маршрут через "серого" ISP - почта уходит, а если активен альтернативный маршрут - ни в какую. В логе "Error sending e-mail <>: timeout occured"...
firewall filter отключал - без результата... ping на smtp через оба маршрута ходит (да и из локалки с почтой проблем не наблюдается).
Куда стоит копнуть?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

У вас в цепочке output соединения уходящие с самого роутера не помечаются, только то, что уже изначально пришло снаружи.

Куда-то в эту сторону копать.


Telegram: @thexvo
Lucifer
Сообщения: 18
Зарегистрирован: 16 июл 2019, 09:04

xvo писал(а): 15 фев 2021, 11:45 ...Куда-то в эту сторону копать.
Спасибо за наводку, но пока не могу сообразить :(
Ведь соединения, уходящие с самого роутера идут по активному на момент отправки дефолтному маршруту, т.е. через конкретный wan-интерфейс и ответный пакет возвращается на тот-же интерфейс... Или я что-то не так понимаю?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Ну вообще да.
Должно бы быть так.
Еще вопрос в том, нет ли там в настройках email привязки к определенному адресу с которого он это шлет.
Я email'ом не пользуюсь, так что не помню что там.


Telegram: @thexvo
Ответить