Почему L2TP-Client+IPSec на MikroTik hEX RB750Gr3 по-разному работает в зависимости от типа подключения к интернету?

Дано: L2TP Server на D-Link DFL-260E (со статическим белым IP).
MikroTik hEX RB750Gr3, прошивка 6.42.7, с настроенным L2tp-client (l2tp-out1).
Модем Megafon M150-2 (прошивка stick, определяется как ppp-out1 интерфейс, не LTE).

Конфигурация 1:
Мегафон-модем подключаем в USB порт Микротика (напрямую, без удлинителей), подключение ppp-out1 работает, интернет на компьютере работает (есть правило NAT для ppp_out1).
l2tp-out1 подключается и работает, но медленно. Пинги до сервера идут без потерь.
Настроены правила в IP - Routes для прямого прохождения пакетов на сервер l2tp.
Packet Sniffer + Wireshark на интерфейсе ppp-out1 ничего особо подозрительного не показывает, а вот на l2tp-out1,
показывает множество "TCP Dup ACK" и "TCP Retransmissions".

Конфигурация 2:
Все точно также как в конфигурации 1, кроме способа подключения к интернету.
Используем промежуточный роутер TP-Link TL-MR3420.
Тот же самый мегафон-модем подключаем в USB порт TP-Link,
от TP-Link витая пара в порт ether1 микротика (для порта ether1 также есть правило NAT).
l2tp подключается и работает значительно быстрее чем в первой конфигурации, в Wireshark только изредка проскакивают TCP Retransmission.

Проблема в том, что есть программа, которая при запуске подключается к БД MSSQL через туннель l2tp+ipsec, и вот это
соединение никак не хочет стабильно работать на 1-й конфигурации.

За несколько недель различных экспериментов было опробовано все что советовал яндекс и гугл.
Использовались разные устройства MikroTik, но одинаковой модели RB750Gr3.
Использовались разные модемы (МТС, Ростелеком, 3G, 4G).
Изменение MTU/MRU/MRRU как на интерфейсе ppp-out так и на l2tp-out, изменение MSS (включение/отключение в профилях PPP, создание правил в Mangle), изменение TTL. Отключение всех правил в Firewall. Заворачивание L2TP трафика в NAT. И ещё множество всяких экспериментов. Проблема осталась.
  • Вопрос задан
  • 6927 просмотров
Пригласить эксперта
Ответы на вопрос 3
@parfenov_sk
Скорее всего у вас MTU не тот стоит, что надо — к примеру у меня PPPoe съедает еще 20 от MTU и при IPSec тоннеле MTU 1436 уже. (Правда у меня с обоих сторон микротики)
А у вас при промежуточном TP-Link Mikrotik не сам пакеты фрагментирует, а TP-link, поэтому и работает.

Попробуйте на Микротике зайти в tools - ping и поизвращаться поотправлять пакеты:
Ping To — 8.8.8.8	
Interface — PPP_out1
ARP Ping — Нет
Packet Count — 5
Advanced:
Packet Size — 1480
Dont Fragment — Да

если 1480 проходит, а 1481 нет (Packet too large... ...Fragmentation needed) — то PPP_out съедает 20 от MTU
Далее тоже самое, но нацельтесь (Ping To) на внутренний ресурс (Сервер БД) за L2TP (Interface — l2tp-out1) и снижайте размер пакета до тех пор пока не пропадет Packet too large. Вот тогда узнаете какой MTU точно пролетит через L2TP и ваш PPP без проблем.

PS: знающим просьба тапками не бросаться=)
Ответ написан
Комментировать
@JC14 Автор вопроса
MTU это первое с чем я начинал экспериментировать.
Микротик сам, по умолчанию, выставляет следующие MTU:
Для конфигурации 1:
ppp - max mtu 1460, actual mtu 1460, также это подтверждается и с Ping, 1461 уже выдает fragmentation need.
l2tp - max mtu 1450, actual mtu 1376, соответственно Ping c 1376 проходит, а с 1377 не проходит.
Для конфигурации 2:
ether1 - max mtu и actual mtu 1500.
l2tp - actual mtu также как и раньше 1376.

Во время экспериментов я перепробовал множество разных значений, даже минимально возможные для MTU (512), ситуацию это не меняет. Создавал правило с change mss clamp to pmtu, тоже никак не повлияло.
Загрузка процессора микротика в обоих вариантах, во время прохождения трафика по l2tp, 0-1%.

На сколько я понимаю ситуацию, пакеты теряются именно в l2tp туннеле, при этом на интерфейсе ppp ничего не теряется, интернет на компьютере подключенном к этому микротику работает вполне хорошо.
Если в первой конфигурации отключить l2tp в микротике, и сделать программно клиента l2tp в windows, то проблемы нет, все работает быстро и без ошибок.
Ответ написан
@Drno
Недавно начались подобный проблемы(примерно пол года как) на йоте... Помог исключительно переход на OVPN.
Единственно - странно что нормлаьно работает через TPLink, похоже действительно MTU или где то тут... Или микротик опять баганул модемы...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы