Есть несколько тем с людьми, которые говорят, что они не могут установить соединение IPSec VPN ни при каких обстоятельствах, включая меня (см. последние сообщения здесь). После небольшого анализа трафика я обнаружил, что проблема заключается в фрагментации IP. Более конкретно, первый ответ IKE_AUTH — это UDP-пакет размером более 1500 байт (скорее всего, содержит сертификат сервера) и фрагментируется на 2 части, но я получаю только последний фрагмент. В результате RouterOS не может собрать пакет и продолжает отправлять запрос на аутентификацию, пока не будет достигнуто максимальное количество попыток, после чего процесс перезапускается (примерно каждые 24 секунды). Лог wireshark для успешного соединения: 107 3.248516 <mt_public_ip> <vpn_server_ip> ISAKMP 458 IKE_AUTH MID=01 Initiator Request 114 3.330866 <vpn_server_ip> <mt_public_ip> IPv4 1514 Fragmented IP protocol (proto=UDP 17, off=0, ID=69b3) [Reassembled in #115] 115 3.331053 <vpn_server_ip> <mt_public_ip> IKE_AUTH MID=01 Responder Response. Лог wireshark для неудачной попытки соединения: 31 3.934743 <mt_public_ip> <vpn_server_ip> ISAKMP 522 IKE_AUTH MID=01 Initiator Request 32 4.059967 <vpn_server_ip> <mt_public_ip> IPv4 1506 Fragmented IP protocol (proto=UDP 17, off=1480, ID=36c7) 39 8.930363 <mt_public_ip> <vpn_server_ip> ISAKMP 522 IKE_AUTH MID=01 Initiator Request 40 9.054702 <vpn_server_ip> <mt_public_ip> IPv4 1506 Fragmented IP protocol (proto=UDP 17, off=1480, ID=38d1). Мой вывод такой: фрагмент UDP теряется у моего провайдера, так как тот же раутер Mikrotik с той же конфигурацией может установить соединение с другим интернет-провайдером. Тогда вопрос: почему мои другие устройства, подключенные к тому же Mikrotik (ноутбук, телефон и т. д.), могут установить соединение IKEv2 с моим провайдером? Единственное отличие, которое я вижу в логах, это дополнительный полезный груз, отправленный в запросе IKE_SA_INIT с названием "IKEV2_FRAGMENTATION_SUPPORTED", который является дополнением к протоколу для решения именно проблемы с фрагментацией IP (RFC 7383). Лог wireshark для успешного соединения с моего ноутбука: 81 4.689065 <laptop_private_ip> <vpn_server_ip> ISAKMP 558 IKE_AUTH MID=01 Initiator Request 82 4.823807 <vpn_server_ip> <laptop_private_ip> ISAKMP 1282 IKE_AUTH MID=01 Responder Response (fragment 1/3) 83 4.823810 <vpn_server_ip> <laptop_private_ip> ISAKMP 1282 IKE_AUTH MID=01 Responder Response (fragment 2/3) 84 4.823811 <vpn_server_ip> <laptop_private_ip> ISAKMP 658 IKE_AUTH MID=01 Responder Response (fragment 3/3). Поддерживает ли RouterOS это расширение фрагментации IKEv2? Если да, то как его включить? А если нет, то есть ли это где-нибудь в планах?
Поддержка фрагментации IKEv2 (RFC 7383)
Поддержка фрагментации IKEv2 (RFC 7383), RouterOS
|
16.07.2020 08:19:00
|
|
|
|
|
|
03.10.2020 08:35:00
На данный момент используйте EC сертификаты вместо RSA. Они помещаются в один пакет. Однако сейчас они не поддерживаются SCEP.
|
|
|
|
|
|
15.10.2020 16:59:00
Некоторый прогресс… Выпуск 6.48beta48 *) ike2 - добавлена поддержка фрагментации сообщений IKEv2 (RFC7383);
|
|
|
|
|
|
11.12.2020 11:47:00
Где я могу включить фрагментацию? Есть ли для этого опции, или она просто реализована в ОС по умолчанию? Спасибо.
|
||||
|
|
|
|||
Читают тему

) и сомневаюсь, что это поможет. Мы можем только надеяться, что эта функция появится в ROS7, я так думаю.