IKEv2 и два WAN обрывается соединение

Обсуждение ПО и его настройки
Ответить
imisario
Сообщения: 4
Зарегистрирован: 29 июл 2019, 19:25

Здравствуйте, подскажите пожалуйста по поводу корректной маршрутизации IPSec на Mikrotik или в целом.

Имеем:
- Офис (Mikrotik, 192.168.55.0/24)
- Два WAN интерфейса в Офисе (ISP1 - 78.11.33.69, ISP2 - 53.16.99.7)
- Удаленная машина ( Win Server)

На микротике в офисе подняты два канала с default route до них с разными метриками.
Никаких сложных failover конфигурации с netwatch скриптами или внешним мониторингом пока не накручены,
просто тупо два маршрута по умолчанию с разными метриками.

Настроен mangle соединений, дабы пакеты уходили на тот-же ISP с которого пришли.

И все отлично работает, в рамках потребностей.

Но вдруг нам захотелось прикрутить удаленные серваки в домен и не просто прикрутить, а по модному IKEv2.
И все вроде бы хорошо, настроили - работает.
Но потом мне захотелось утилизировать резервный канал, а то что он "лежит" себе ничего не делает.
Решил я попробовать сделать так что-бы IKEv2 туннели поднимались через ISP2, и они поднялись. И вроде даже работают какое-то время. Но потом тупо ложаться. Причем со стороны микротика это очевидно peer берет и пропадает. А вот на стороне Win server все выглядит как-будто соединение установленно. Вот только пакеты не проходят больше. Пере подключаешься опять работает от силы минут пять и снова привет.

Притом через ISP2(резервный канал) спокойно работает смотрелка для камер и RDP и по большому счету все что смогли попробывать, а вот IPSec нет.

Вопрос куда копать? Если я все правильно понимаю в сторону роутинга, в том смысле что смотрелка для камер и RDP работают в рамках одной сессии соединений и они корректно обрабатываются в mangle и соответственно также корректно маршрутизируются.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

imisario писал(а): 29 июл 2019, 19:32 Вопрос куда копать? Если я все правильно понимаю в сторону роутинга, в том смысле что смотрелка для камер и RDP работают в рамках одной сессии соединений и они корректно обрабатываются в mangle и соответственно также корректно маршрутизируются.
Ну если отталкиваться от этого хода мыслей, тогда просто покажите
как вообще маркировку каналов Вы делаете ?



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
imisario
Сообщения: 4
Зарегистрирован: 29 июл 2019, 19:25

0 chain=prerouting action=mark-connection new-connection-mark=dummy.local-fwd passthrough=yes layer7-protocol=dummy.local protocol=tcp dst-address=192.168.0.1 dst-port=53 log=no
log-prefix=""

1 chain=prerouting action=mark-connection new-connection-mark=dummy.local-fwd passthrough=yes layer7-protocol=dummy.local protocol=udp dst-address=192.168.0.1 dst-port=53 log=no
log-prefix=""

2 chain=prerouting action=accept dst-address=78.11.33.69 in-interface=bridge-local log=no log-prefix=""

3 chain=prerouting action=accept dst-address=53.16.99.7 in-interface=bridge-local log=no log-prefix=""

4 ;;; Input connection to ISP1
chain=prerouting action=mark-connection new-connection-mark=ISP1_Connection passthrough=yes connection-mark=no-mark in-interface=ISP1 log=no log-prefix=""

5 ;;; Input connection to ISP2
chain=prerouting action=mark-connection new-connection-mark=ISP2_Connection passthrough=yes connection-mark=no-mark in-interface=ISP2 log=no log-prefix=""

6 X ;;; Load Balance(for future)
chain=prerouting action=mark-connection new-connection-mark=ISP1_Connection passthrough=yes dst-address-type=!local connection-mark=no-mark in-interface=bridge-local
per-connection-classifier=both-addresses:2/0 log=no log-prefix=""

7 X ;;; Load Balance(for future)
chain=prerouting action=mark-connection new-connection-mark=ISP2_Connection passthrough=yes dst-address-type=!local connection-mark=no-mark in-interface=bridge-local

8 chain=prerouting action=mark-routing new-routing-mark=to_ISP1 passthrough=yes connection-mark=ISP1_Connection in-interface=bridge-local log=no log-prefix=""

9 chain=prerouting action=mark-routing new-routing-mark=to_ISP2 passthrough=yes connection-mark=ISP2_Connection in-interface=bridge-local log=no log-prefix=""

10 chain=output action=mark-routing new-routing-mark=to_ISP1 passthrough=yes connection-mark=ISP1_Connection log=no log-prefix=""

11 chain=output action=mark-routing new-routing-mark=to_ISP2 passthrough=yes connection-mark=ISP2_Connection log=no log-prefix=""


Еще заметил в ходе экспериментов по отладке, что клиенты за NAT работают нормально. А вот те что напрямую с белых обрываются. Сразу подумал об создании отдельного профиля для таких клентов профиля без NAT-T. Но пока картина без изменений.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

Мда...
1) ну маркировки мне не понравились.
1.1) где маркировка транзитного трафика?
2) балансировка (хоть и стоит отметка для Будущее) но в правилах
слово disabled я не увидел, значит они активны.
3) ещё раз перечитал Ваши слова в первом сообщении:
а) "просто тупо два маршрута по умолчанию с разными метриками."
б) "Настроен mangle соединений, дабы пакеты уходили на тот-же ISP с которого пришли"
в) "Но потом мне захотелось утилизировать резервный канал, а то что он "лежит" себе ничего не делает."


Так получается Вы или настраивайте 2 канала полноценно, и уже пользуйтесь, или явно
надо настраивать один сервис в один канал с явными описаниями маршрутов, и прочего.

Прочтите, простое решение без балансировки юзать 2-3-4 канала, с управлением
ещё того, куда какую сеть/адрес заруливать принудительно.
viewtopic.php?p=58201#p58201



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
imisario
Сообщения: 4
Зарегистрирован: 29 июл 2019, 19:25

Спасибо, за замечания.

Под маркировкой транзитного трафика подразумевается forward chain в mangle ?
Изначально я так и хотел, но по дороге все начало работать нормально в следствии чего я подумал видимо и так можно.
Если не сложно можно мне влепить сочную затрещину ликбеза(коротенько) что может работать не так без маркировки транзитного трафика.

Балансировка отключена там большой "Х" сразу после номера правила маркировки.
Так как с ней я не уверен что вообще моя конфигурация будет корректно работать, и для нормальной балансировки в моем случаи нужно еще многое прочитать.

Ваше решение об использовании нескольких каналов прочитал, и так как балансировка у меня выключена. В целом моя конфигурация точно такая-же.
За исключением момента с маркировкой транзитного трафика. И заворачивания разных подсетей в разные каналы.

Идею о том что-бы использовать сервисы отдельно по каналам тоже понимаю, так проще и надежней. Но забегая в будущее в последствии хочу сделать этакий failover для ikev2 клиентов. Что бы они соединялись не с каким-то IP адресом, а с доменом, а тот в свою очередь отдавал тот адрес который сейчас живой с приоритетом к тому что жирнее.


imisario
Сообщения: 4
Зарегистрирован: 29 июл 2019, 19:25

Ах да с описанной проблемой в заголовке вроде удалось справится. Путем создания отдельного профиля для этих серваков без НАТа.

Но я по прежнему не до конца понял почему так. Почему при включенном NAT Traversal клиенты, а именно WinServ2019 соединялись работали какое-то время, а потом бах сообщение в логах peer port changed и до свидания.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

Из практики:
1) порядок правил маркировки важен
2) по-аккуратнее с параметром passthrough, сравните мой пример, и Ваш?
3) Да, я не заметил "Х" - я привык читать правила, а Вы их не экспортировали, а
сделали команду принт и вставили, ...не совсем корректно при показе конфига
4) когда я в своё время работал с каналами, тоже чуть ли не всё портил/ломал по началу,
и переделывал, ибо у роутера есть понятие сессии, то есть если я пингую
ya.ru и потом меняю сразу направление = сразу ничего не поменяется, таймаут
по сессии есть и пока он не пройдёт, анализа со стороны роутера не будет.
Поэтому часть Ваших служб могут работать по установленным сессиям,
и/или в рамках established сессий, но при работе туннелей там всё сложнее,
так скажем.


Я бы почистил конфигурацию, привёл её к стабильному ввиду, протестировал
все каналы, и уже только потом начал работать с туннелями и прочими нюансами.
"Фундамент" должен быть хорошим.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
Ответить