Подключение к VPN серверу (L2TP) за NAT.
Мне настроить/починить это дело так и не удалось, но информация ниже возможно кому-то поможет починить или будет понятно почему не завелось.
Столкнулся с проблемой после переконфигурирования оборудования подключиться к VPN по L2TP. VPN-сервер находится непосредственно на Микротике, который стоит за ADSL модемом. На ADSL модеме поднято PPPoE.
Ошибка в логе микротика:
ipsec,info the packet is retransmitted by 11.22.33.44[500]. 13:44:43 ipsec,info the packet is retransmitted by 11.22.33.44[500]. 13:44:46 ipsec,info the packet is retransmitted by 11.22.33.44[500]. 13:45:41 ipsec,error phase1 negotiation failed due to time up 192.168.0.2[500]<=>11.22.33.44[500] a6c0e151a43eb118:85989a61e442a704
Где 11.22.33.44 — внешний IP, с которого я пытаюсь подключиться.
Решение нашёл тут — https://moonback.ru/page/l2tp-error-789
Надо добавить в реестр:
[HKEY_LOCAL_MACHINESystemCurrentControlSetServicesRasmanParameters] "ProhibitIpSec"=dword:00000001 (а по статье ниже на 0, ???) "AllowL2TPWeakCrypto"=dword:00000001
https://winitpro.ru/index.php/2017/10/24/reshaem-problemu-podklyucheniya-k-l2tp-ipsec-vpn-serveru-za-nat/
На этой странице нашёл информацию, что подключение L2TP через NAT с ОС Windos не будет работать в принципе. Есть некоторые трюки (в том числе и описанные выше), но они не помогают. Из статьи есть пояснение, которое всё объясняет:
Да, L2TP/IPSec из Windows можно установить только если сам Keenetic имеет «белый» адрес. Проброс не поможет. Существуют однако другие, не столь привередливые виды VPN: PPTP, SSTP или OpenVPN. Их можно использовать для подключения Windows к серверу за NAT-ом после проброса. Для PPTP нужно пробросить TCP порт 1723 и GRE-протокол, для SSTP — TCP 443, а для OpenVPN UDP порт 1194 по умолчанию. Впрочем в последнем случае как протокол так и порт могут быть изменены по вашему желанию в конфигурации OpenVPN