Всем привет! У меня стоит последняя версия ROS 6.41rc, которая устанавливает PPPoE-соединение через ONT роутер/модем, который мне выдает мой оптоволоконный провайдер. Для подключения к VPN я использую PulseSecure. Административного доступа к VPN у меня нет, но он хорошо обслуживается, и у большинства пользователей проблем нет. Однако у меня VPN-соединение падает ровно каждые 20 минут, когда обе стороны пытаются провести обмен ключами ESP (UDP порт 4500). Логи это четко показывают: интервал переустановки ключей установлен на 1200 секунд (и я не могу его изменить), и как только это время приходит, логи показывают, что переустановка ключа не удалась. Затем происходит попытка переключиться на NCP (SSL), но в итоге VPN-соединение фактически мертво, хотя в интерфейсе оно еще отображается как подключенное. Эта проблема похожа на описанную здесь: https://kb.pulsesecure.net/articles/Pulse_Secure_Article/KB19900/?l=en_US&fs=RelatedArticle Каким будет эквивалент в ROS для упомянутой настройки D-Link NAT «Endpoint Independent»? Я пробовал отключить: /ip firewall service-port disable sip, но это не помогло. Большое спасибо!
Я бы предположил, что проблема не связана с настройками NAT, так как процесс обновления ключей происходит внутри одного и того же «соединения» на фаерволе. Клиент IPsec — это сам Mikrotik или какой-то компьютер в локальной сети Mikrotik?
Если это их собственный клиент (приложение, предоставленное ими), оно может работать очень криво, в том числе, теоретически, пытаться установить новое IPsec-соединение вместо того, чтобы просто обновить ключи в старом, и при этом создавать это новое соединение с другого исходного адреса, не из LAN-машины. Но в таком случае я не понимаю, как RouterOS сможет обратно маршрутизировать пакеты ESP over UDP, если этот адрес окажется вне подсети LAN. Поэтому я бы предложил сконфигурировать /tool sniffer на Mikrotik так, чтобы снимать трафик в файл с фильтром filter-ip-address=the.ip.of.the.vpn.server filter-interface=the-LAN-interface-name filter-port=4500 filter-ip-protocol=udp filter-operator-between-entries=and, запустить сниффер, начать VPN-подключение, не передавать данные через это соединение, чтобы диск Mikrotik не взорвался, и остановить сниффер, когда связь упадет через 20 минут. А потом посмотреть в Wireshark, действительно ли пакеты на vpn.server.ip:4500 после первых 20 минут начинают приходить с других исходных адресов.
Хорошо, я сделал перехват пакетов. Похоже, что все запросы идут с одного и того же адреса, в этом анонимном примере — «99.99.99.99». Файл во вложении. UDP-4500_20180827_anon.pcapng.txt (34 КБ)
Поскольку и отвеченные пакеты, и неотвеченные (начиная с пакета 443) от клиента приходят с одного и того же IP-адреса и с одного и того же UDP-порта, нет никакой возможности, чтобы NAT на Mikrotik (или любом другом роутере) увидел в них какую-то разницу. Поэтому он обрабатывает их абсолютно одинаково. Значит, проблема должна быть где-то в другом месте.
Привет, извиняюсь, что поднимаю эту старую тему, но у меня всё та же проблема. В Pulse необходимое поведение (в терминологии D-Link) описывается так: настройка D-Link «Endpoint Independent» позволяет NAT перенаправлять любой запрос на подключение с тем же портом к VPN туннельному приложению, независимо от того, используется ли уже UDP порт 4500 или поступает ли запрос с другого IP (запрос на подключение приходит с внутреннего IP SA SSL VPN вместо внешне разрешённого IP). В RouterOS есть какая-то дефолтная конфигурационная политика, которую нужно отключить, или нужно добавить новое правило, чтобы добиться такого же результата? Большое спасибо.