-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
VPN not connecting, IPSec — required
Wed Jul 06, 2022 4:32 pm
Hello,
I have vpn L2TP Server, in settings I use IPSec — required. The problem is that the client does not connect from any Windows.
In the log on Mikrotik writes error: L2TP connection rejected no IPsec encryption while it was required.
On the windows the client writes error: Cannot connect to the remote computer, so the connection port is closed.
On Mikrotik I have permission rules Firewall: Input udp 500,1701, 4500 and 50 (ipsec-esp).
When I change — use IPSec: yes. Connection is working.
Tell me what could be the reason?
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 4:53 pm
use-ipsec=yes permits use of IPsec to protect L2TP sessions, but does not enforce it, so if the client tries to establish the L2TP connection without previously establishing an IPsec security association, Mikrotik accepts that unprotected session.
By default, the Windows native VPN client has the same setting — it prefers an IPsec-protected connection but if it cannot be established, it connects using bare L2TP anyway.
Now there are two possible reasons — either the encryption and authentication algorithm sets (proposals) are incompatible between the client and the server, or your ISP is blocking IPsec ports (the dialect of English you use suggests it could be the case). But let’s be optimistic and belive it is just a configuration issue. As you say that «client does not connect from any Windows», does it mean Android, Mikrotik, iOS, or Linux clients do connect successfully even if use-ipsec is set to required?
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 5:14 pm
use-ipsec=yes permits use of IPsec to protect L2TP sessions, but does not enforce it, so if the client tries to establish the L2TP connection without previously establishing an IPsec security association, Mikrotik accepts that unprotected session.
By default, the Windows native VPN client has the same setting — it prefers an IPsec-protected connection but if it cannot be established, it connects using bare L2TP anyway.
Now there are two possible reasons — either the encryption and authentication algorithm sets (proposals) are incompatible between the client and the server, or your ISP is blocking IPsec ports (the dialect of English you use suggests it could be the case). But let’s be optimistic and belive it is just a configuration issue. As you say that «client does not connect from any Windows», does it mean Android, Mikrotik, iOS, or Linux clients do connect successfully even if use-ipsec is set to required?
Yes, you are right, it connects from Android. What encryption settings on Mikrotik will be compatible with Windows 10/11 ?
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 5:46 pm
What encryption settings on Mikrotik will be compatible with Windows 10/11 ?
The default ones (which the L2TP server uses to generate the IPsec settings dynamically if use-ipsec is set to yes or required) normally do. So you have probably changed them to make the Android happy?
/ip ipsec profile:
dh-group=modp2048,modp1024 dpd-interval=2m dpd-maximum-failures=5 enc-algorithm=aes-128,3des hash-algorithm=sha1 lifetime=1d name=default nat-traversal=yes proposal-check=obey
/ip ipsec proposal:
auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=30m name=default pfs-group=modp1024
You should enable logging and see what is the strongest encryption and authentication algorithm offered by Windows. Also something is telling me that WIndows do not support pfs by default and you need PowerShell to tell them otherwise.
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 6:14 pm
What encryption settings on Mikrotik will be compatible with Windows 10/11 ?
The default ones (which the L2TP server uses to generate the IPsec settings dynamically if use-ipsec is set to yes or required) normally do. So you have probably changed them to make the Android happy?
/ip ipsec profile:
dh-group=modp2048,modp1024 dpd-interval=2m dpd-maximum-failures=5 enc-algorithm=aes-128,3des hash-algorithm=sha1 lifetime=1d name=default nat-traversal=yes proposal-check=obey/ip ipsec proposal:
auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=30m name=default pfs-group=modp1024You should enable logging and see what is the strongest encryption and authentication algorithm offered by Windows. Also something is telling me that WIndows do not support pfs by default and you need PowerShell to tell them otherwise.
for Android, I did not specifically configure anything on the router, it worked automatically
These are my default profile settings (in the attachment)
How to find out what encryption is used Windows?
You do not have the required permissions to view the files attached to this post.
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 6:29 pm
/system logging add topics=ipsec,!packet
Then run /log print follow-only file=ipsec-start where topics~»ipsec», make a single connection attempt from the client, stop the /log print …, download the file ipsec-start.txt and look for «proposal» in it.
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 6:52 pm
/system logging add topics=ipsec,!packet
Then run /log print follow-only file=ipsec-start where topics~»ipsec», make a single connection attempt from the client, stop the /log print …, download the file ipsec-start.txt and look for «proposal» in it.
Here is what I get
You do not have the required permissions to view the files attached to this post.
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 8:31 pm
Unfortunately you have to open the terminal window and use the text commands I gave. The GUI will not show you what you need as too many lines of log are generated to fit into the memory buffer.
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 8:57 pm
Unfortunately you have to open the terminal window and use the text commands I gave. The GUI will not show you what you need as too many lines of log are generated to fit into the memory buffer.
I’m trying to connect but no new entries appear
You do not have the required permissions to view the files attached to this post.
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 9:00 pm
I’m trying to connect but no new entries appear
Now press Ctrl-C and open the file ipsec-start.txt that has appeared in the file list.
-
chechito
Forum Guru
- Posts: 2933
- Joined: Sun Aug 24, 2014 3:14 am
- Location: Bogota Colombia
- Contact:
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 9:09 pm
in windows you have to go to security settings of the vpn connection and introduce ipsec PSK (pre shared key)
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 9:49 pm
I’m trying to connect but no new entries appear
Now press Ctrl-C and open the file ipsec-start.txt that has appeared in the file list.
That’s all it has
# jul/ 6/2022 18:48:45 by RouterOS 6.49.5
# software id = ZJ3M-ESHW
#
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 9:53 pm
In that case, @chechito is right and you haven’t configured the Windows to use IPsec (while still assuming that the ISP doesn’t interfere given that Android connects allright).
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 9:55 pm
In that case, @chechito is right and you haven’t configured the Windows to use IPsec (while still assuming that the ISP doesn’t interfere given that Android connects allright).
tell me how to configure Windows to use IPsec ? where can i read about it
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Wed Jul 06, 2022 10:01 pm
Well, rather you tell me how you’ve managed to configure it without IPsec
When I add a VPN connection the «new» (Win10) way, I can choose between «L2TP/IPsec with certificate» and «L2TP/IPsec with pre-shared key» (plus a few other possibilities not related to L2TP), but there’s no choice of bare L2TP. So I choose the «L2TP/IPsec with PSK», fill in the PSK, and that’s it.
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Thu Jul 07, 2022 11:08 am
Well, rather you tell me how you’ve managed to configure it without IPsec
When I add a VPN connection the «new» (Win10) way, I can choose between «L2TP/IPsec with certificate» and «L2TP/IPsec with pre-shared key» (plus a few other possibilities not related to L2TP), but there’s no choice of bare L2TP. So I choose the «L2TP/IPsec with PSK», fill in the PSK, and that’s it.
I do everything exactly the same, it’s very strange, but it doesn’t work
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Thu Jul 07, 2022 11:46 am
Is the Android client connecting from the same network like the Windows? I.e. could it be that connections to port 500 and 4500 are indeed blocked somewhere on the path between the Windows and the Mikrotik, but not on the path between the Android and the Mikrotik?
Can you run Wireshark on the Windows to see whether they are sending packets to UDP port 500 on the Mikrotik address?
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Thu Jul 07, 2022 3:58 pm
Is the Android client connecting from the same network like the Windows? I.e. could it be that connections to port 500 and 4500 are indeed blocked somewhere on the path between the Windows and the Mikrotik, but not on the path between the Android and the Mikrotik?
Can you run Wireshark on the Windows to see whether they are sending packets to UDP port 500 on the Mikrotik address?
Android is on the same network as Windows.
launched Wireshark, I see that during the connection attempt is used port 1701. I can’t find the port 500 in the list
-
Baktery
newbie
- Posts: 28
- Joined: Thu May 28, 2020 8:51 pm
Topic Author
Re: VPN not connecting, IPSec — required
Thu Jul 07, 2022 7:33 pm
Is the Android client connecting from the same network like the Windows? I.e. could it be that connections to port 500 and 4500 are indeed blocked somewhere on the path between the Windows and the Mikrotik, but not on the path between the Android and the Mikrotik?
Can you run Wireshark on the Windows to see whether they are sending packets to UDP port 500 on the Mikrotik address?
Maybe I did not indicate an important detail, RouterOS is installed on a virtual machine. There is no such problem on the hardware Mikrotik.
And yet, the connection between routers with IPSec works, the policy is established. It turns out that IPSec does not work in the client-server version.
-
sindy
Forum Guru
- Posts: 10019
- Joined: Mon Dec 04, 2017 9:19 pm
Re: VPN not connecting, IPSec — required
Sat Jul 09, 2022 12:06 pm
Does the Android client connect to this virtual RouterOS?
Could it be that there is an external firewall between the virtual RouterOS and the internet? The thing is that for a site-to-site IPsec, both routers actively initiate the connection, so the virtual RouterOS opens a pinhole in the external firewall and thus the firewall lets through packets from the remote router.
Протокол L2tp (Layer 2 Tunneling Protocol) предоставляет возможность создания надежных и безопасных соединений между компьютерами через публичные сети, такие как Интернет. Данный протокол широко используется для организации виртуальных частных сетей (VPN) и позволяет передавать данные с помощью различных протоколов, включая IPsec (Internet Protocol Security).
Однако, иногда при попытке установить соединение через L2tp возникают проблемы, в частности, отказ из-за отсутствия IPsec-шифрования, несмотря на то, что оно является обязательным. Это может быть связано с несколькими факторами, включая неправильные настройки или отсутствие необходимого программного обеспечения.
Одной из возможных причин проблем с IPsec-шифрованием может быть неправильная конфигурация на стороне сервера или клиента. В некоторых случаях, настройки IPsec могут быть заданы неверно или отключены. Это может привести к тому, что при попытке установить соединение, система не может обнаружить требуемые шифровальные алгоритмы и отказывается от подключения. В таком случае необходимо проверить настройки IPsec и убедиться, что они соответствуют требованиям и настройкам сервера или провайдера услуг VPN.
Кроме того, отсутствие или неправильная установка программного обеспечения для IPsec также может привести к отказу от подключения по протоколу L2tp. Для работы L2tp с IPsec необходимо наличие специального программного обеспечения или компонентов, которые обеспечивают шифрование и безопасность передачи данных. Если требуемое программное обеспечение отсутствует или не установлено правильно, система также может отказаться от установки соединения. В таком случае рекомендуется установить или переустановить необходимые компоненты и проверить их настройки.
Содержание
- Проблемы с соединением L2tp: невозможно установить связь
- Причина 1: Неправильные настройки L2tp на сервере
- Причина 2: Firewall блокирует порты L2tp
- Причина 3: Проблемы с IPsec-шифрованием
- Причина 4: Обновление программного обеспечения
- Отказ из-за отсутствия IPsec-шифрования
- Необходимое IPsec-шифрование для соединения L2tp
- Невозможность установить соединение без IPsec-шифрования
При попытке установить соединение через протокол L2tp может возникнуть ситуация, когда невозможно установить связь. В данной статье мы рассмотрим возможные причины такой проблемы и предложим решения.
Причина 1: Неправильные настройки L2tp на сервере
Первая и одна из самых распространенных причин невозможности установки соединения через L2tp — неправильно настроенный сервер L2tp. Проверьте настройки сервера и убедитесь, что они соответствуют требованиям провайдера или корпоративной политики. Проверьте также правильность указания имени пользователя и пароля для подключения.
Причина 2: Firewall блокирует порты L2tp
Если вы используете брандмауэр или антивирусное программное обеспечение, оно может блокировать порты, необходимые для работы L2tp. Убедитесь, что порты 500 и 4500 (UDP) открыты и разрешены в настройках брандмауэра или антивирусной программы. Если у вас есть возможность, временно отключите брандмауэр или антивирусное ПО и попробуйте установить соединение.
Причина 3: Проблемы с IPsec-шифрованием
Некоторые провайдеры VPN требуют использовать IPsec-шифрование для подключения через L2tp. Если вы получаете сообщение об ошибке «отказано из-за отсутствия IPsec-шифрования, хотя оно требуется», убедитесь, что включено IPsec-шифрование и правильно настроены ключи шифрования на вашем устройстве.
Причина 4: Обновление программного обеспечения
Если вы все еще не можете установить соединение, попробуйте обновить программное обеспечение на вашем устройстве. Некоторые старые версии программ могут иметь известные проблемы с L2tp. Обновите операционную систему и все соответствующие программы до последней версии и повторите попытку подключения.
Если вы проделали все вышеперечисленные шаги и все равно не можете установить соединение через L2tp, рекомендуется обратиться к службе поддержки вашего провайдера VPN или системному администратору для получения дополнительной помощи.
Отказ из-за отсутствия IPsec-шифрования
Один из наиболее распространенных проблем, с которой могут столкнуться пользователи при настройке соединения L2tp, это отказ соединения из-за отсутствия IPsec-шифрования, хотя оно требуется. Эта проблема может возникнуть по различным причинам, включая ошибки в настройках, неправильную конфигурацию маршрутизатора или наличие блокирующего трафик фаервола.
Для решения этой проблемы следует выполнить следующие шаги:
- Проверить настройки IPsec. Первым делом нужно убедиться, что IPsec правильно настроен на сервере и клиенте. Для этого необходимо проверить параметры шифрования, аутентификации и ключевые материалы на обоих устройствах.
- Убедиться в правильной конфигурации маршрутизатора. Если маршрутизатор используется в качестве промежуточного устройства между клиентом и сервером L2tp, убедитесь, что он конфигурирован правильно. Проверьте правила маршрутизации, настройки сетевых интерфейсов и фаервола на маршрутизаторе.
- Проверить настройки фаервола. Другой частой причиной отказа из-за отсутствия IPsec-шифрования может быть блокировка трафика фаерволом. Проверьте настройки фаервола на сервере и клиенте, а также все устройства, через которые проходит трафик между ними. Убедитесь, что правила фаервола не блокируют протокол IPsec (обычно используется порт UDP 500 и протоколы ESP и AH).
- Проверить наличие обновлений. Возможно, проблема с отсутствием IPsec-шифрования была исправлена в более новой версии программного обеспечения. Проверьте, есть ли доступные обновления для сервера и клиента L2tp, а также для всех устройств, которые принимают участие в соединении.
- Обратиться к администратору сети или провайдеру услуг. Если все вышеперечисленные шаги не помогли решить проблему, лучше обратиться к администратору сети или провайдеру услуг. Они смогут провести более глубокую диагностику и, при необходимости, предоставить дополнительную поддержку.
Следуя этим рекомендациям, вы сможете решить проблему с отказом из-за отсутствия IPsec-шифрования и настроить стабильное соединение L2tp со всеми необходимыми параметрами безопасности.
Необходимое IPsec-шифрование для соединения L2tp
Одной из распространенных проблем при настройке соединения L2tp является отказ из-за отсутствия IPsec-шифрования, хотя оно необходимо для успешного установления связи. IPsec (IP Security) предоставляет механизмы для обеспечения конфиденциальности, целостности и аутентификации данных, передаваемых по сети.
Следующие шаги позволят вам установить необходимое IPsec-шифрование для вашего соединения L2tp:
-
Убедитесь, что IPsec поддерживается вашим устройством:
- Проверьте, что ваше устройство имеет поддержку IPsec. Обычно это можно найти в документации к устройству или на сайте производителя.
- Если ваше устройство не поддерживает IPsec, вам нужно будет использовать другой протокол VPN или обновить устройство, чтобы получить поддержку IPsec.
-
Настройте IPsec на вашем устройстве:
- Введите необходимые настройки IPsec. В зависимости от устройства, эти настройки могут включать в себя адрес сервера IPsec, тип шифрования, пароль и другие параметры.
- Убедитесь, что вы правильно настроили IPsec на вашем устройстве, согласно инструкциям производителя.
-
Настройте соединение L2tp с использованием IPsec:
- Откройте настройки VPN на вашем устройстве.
- Создайте новое соединение VPN и выберите протокол L2tp.
- Введите необходимые настройки для соединения L2tp, включая данные IPsec.
- Убедитесь, что вы правильно настроили соединение L2tp, согласно инструкциям производителя.
-
Проверьте соединение:
- Подключитесь к интернету.
- Откройте настройки VPN на вашем устройстве и попробуйте установить соединение L2tp.
- Если соединение устанавливается успешно, то проблема с отсутствием IPsec-шифрования должна быть решена.
- Если соединение не устанавливается или возникают другие проблемы, проверьте настройки IPsec и L2tp на вашем устройстве, а также свяжитесь с технической поддержкой, если необходимо.
Надеемся, что эта информация поможет вам решить проблему с отсутствием IPsec-шифрования при настройке соединения L2tp. Удачи!
Невозможность установить соединение без IPsec-шифрования
Проблема возникает, когда при попытке установить соединение по протоколу L2tp без использования IPsec-шифрования пользователь получает сообщение об ошибке, указывающее на отсутствие данного шифрования, хотя оно является обязательным.
IPsec-шифрование представляет собой набор протоколов и алгоритмов, обеспечивающих защищенный обмен данными между устройствами, находящимися в сети. Оно позволяет обеспечить конфиденциальность, целостность и подлинность информации, передаваемой через интернет.
Протокол L2tp (Layer 2 Tunneling Protocol) является стандартом для создания виртуальных частных сетей (VPN) и позволяет объединить удаленные сети в единую сеть. Однако, для обеспечения безопасности передачи данных в сети необходимо использовать IPsec-шифрование.
При отсутствии IPsec-шифрования возможны следующие проблемы:
- Уязвимость передаваемых данных. Без IPsec-шифрования информация может быть перехвачена и прочитана злоумышленником, что представляет угрозу для конфиденциальности данных.
- Риск подмены данных. Отсутствие IPsec-шифрования позволяет злоумышленнику изменять или подменять передаваемую информацию, что может нарушить целостность данных.
- Отсутствие аутентификации. IPsec-шифрование также обеспечивает аутентификацию устройств, что позволяет убедиться в их подлинности. Без этой проверки становится возможным подключение к сети несанкционированных устройств.
Для решения проблемы необходимо включить IPsec-шифрование при настройке соединения по протоколу L2tp. Это можно сделать в настройках соединения, где указываются параметры подключения (IP-адрес, порт и другие). Необходимо убедиться, что опция IPsec-шифрования включена и настроена правильно.
В случае, если невозможно установить соединение с использованием IPsec-шифрования, следует проверить настройки на сервере или обратиться к администратору сети для помощи в решении данной проблемы.
Как у самурая нет цели, а есть только путь, так и Windows движется своим особым путём, порой идущим вразрез с общепринятыми стандартами. Сегодня хочу рассказать почему в Windows 10 не работает подключение к VPN серверу по протоколу L2TP/IPSec и как можно решить данную проблему.
Не удалось установить связь по сети между компьютером и VPN-сервером, так как удаленный сервер не отвечает. Возможная причина: одно из сетевых устройств (таких как брандмауэры, NAT, маршрутизаторы и т.п.) между компьютером и удаленным сервером не настроено для разрешения VPN-подключений. Чтобы определить, какое устройство вызывает эту проблему, обратитесь к администратору или поставщику услуг.
Однако не стоит верить написанному, так как «винда» направляет нас по ложному следу в поисках проблемы. Виноваты все, кроме самой операционной системы Windows, хотя дело именно в ней и проблема эта уже давно известна и описана в статье https://support.microsoft.com/en-us/kb/926179.
Всё дело в том, что встроенный VPN клиент Windows, по умолчанию, не поддерживает подключение L2TP/IPsec через NAT. Что такое NAT, маскарад и проброс портов простыми словами я рассказывал ранее, кому интересно переходите по ссылке.
Если совсем кратко, то практически все домашние сети (роутеры) работают именно в таком режиме и для успешного прохождения L2TP/IPsec через NAT требуется поддержка протокола NAT Traversal (или NAT-T), которая по умолчанию включена почти во всех операционных системах (Linux, macOS, iOS, Android), кроме Windows.
Для самой популярной и дружелюбной операционной системы в мире, поддержку протокола NAT-T приходится включать вручную, естественно полазив в системном реестре. Для чего перемещаемся в редактор реестра regedit и находим там ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
Для Windows XP ветка будет немного иная, читайте по ссылке приведённой ранее на сайте Microsoft (смысла рассказывать здесь не вижу, в виду сильного устаревания системы).
Создаём недостающий DWORD параметр с именем AssumeUDPEncapsulationContextOnSendRule и значением 2:
Примечание: Возможные значения параметра AssumeUDPEncapsulationContextOnSendRule:
- 0 – (значение по-умолчанию), VPN сервер подключен к интернету без NAT;
- 1 – VPN сервер находится за NAT;
- 2 — клиент и сервер находятся за NAT.
По идее, произведённые настройки вступают в силу без перезагрузки операционной системы, но если перезагрузитесь, хуже не будет. Теперь подключение к VPN серверу должно успешно заработать через NAT (в том числе двойной NAT).
Если вам не хочется возиться с реестром вручную, можно использовать воспользоваться PowerShell:
Set-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Services\PolicyAgent" -Name "AssumeUDPEncapsulationContextOnSendRule" -Type DWORD -Value 2 –Force;
Подписывайтесь на канал
Яндекс.Дзен
и узнавайте первыми о новых материалах, опубликованных на сайте.
В Windows 10 существует проблема с подключением по VPN в качестве клиента по протоколу L2TP/IPSec. В очередной раз столкнулся с ней недавно, когда свежеустановленная система отказалась подключаться к VPN-серверу, запущенному в другой квартире на роутере Keenetic.
С учетом того, что вряд ли эту проблему исправят в грядущих обновлениях, публикую памятку по ее самостоятельному исправлению.
Содержание
- 1 Причина и симптомы
- 2 Решение проблемы
- 2.1 Вариант 1 — через редактор реестра
- 2.2 Вариант 2 — через Powershell
- 3 Заключение
Причина и симптомы
Симптомы. При попытке подключения со всеми корректно введенными настройками система долго думает и в конце концов выдает ошибку:
Не удалось установить связь по сети между компьютером и VPN-сервером, так как удаленный сервер не отвечает.
Причина заключается в том, что с настройками по умолчанию встроенный VPN-клиент Windows не поддерживает подключение через NAT.
В двух словах про NAT
NAT — это механизм преобразования роутером внешнего IP-адреса (предоставляемого провайдером при подключении) в локальные IP-адреса устройств, подключенных к вашей домашней сети. Практически все пользователи домашнего интернета «сидят за NATом», исключение составляют лишь случаи, когда интернет-кабель от провайдера подключен непосредственно к компьютеру в обход роутеров и свитчей.
В целом родной VPN-клиент в Windows 10 способен работать за NAT, но для этого необходимо поменять один пункт в его настройках — и делается это не самым очевидным способом.
Решение проблемы
Для решения проблемы нужно открыть следующую ветку реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
И внести в нее параметр AssumeUDPEncapsulationContextOnSendRule со значением 2.
Вариант 1 — через редактор реестра
Запускаем редактор реестра, открыв окно поиска и введя в нем regedit:
Находим в реестре ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent и создаем в нем 32-битный параметр DWORD с именем AssumeUDPEncapsulationContextOnSendRule и значением 2:
Вариант 2 — через Powershell
Запускаем Windows PowerShell, введя powershell в окне поиска и выбрав в контекстном меню запуск от имени администратора:
В открывшемся окне выполняем следующую команду:
Set-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Services\PolicyAgent" -Name "AssumeUDPEncapsulationContextOnSendRule" -Type DWORD -Value 2 –Force;
Заключение
После внесения изменений, независимо от способа которым они были внесены, необходимо перезагрузить компьютер чтобы параметр подтянулся в используемые настройки. Затем снова запускаем подключение к VPN-серверу и убеждаемся, что оно успешно стартует.
Стоит отметить, что данная проблема присуща исключительно Windows и не встречается ни в Linux, ни в macOS, ни в iOS.
Дмитрий
Руководитель отдела в IT-компании. Веду этот блог с 2013 года, пишу о гаджетах и домашней автоматизации, обозреваю одноплатные компьютеры, неспешно собираю «умный дом».
Доброго всем дня!
Помогите, пожалуйста, побороть ошибку «L2TP connection rejected no IPsec encryption while it was required».
Схемка такая: есть CHR, есть haP AC, есть hAP AC lite.
На CHR и haP AC подняты l2tp-сервера. К CHR коннектятся оба hAP-a, к hAP AC коннектится hAP AC lite. На hAP AC динамический адрес, поэтому на hAP AC lite есть скриптик, который резолвит текущий адрес по микротик-дднс и подставляет его в адрес интерфейса (не уверен, что это имеет значение, но на всякий случай уточню).
CHR находится за рубежом для того, чтобы не заходить на те сайты, на которые россиянам запрещено заходить. Имеет статику. На обоих hAP-ах Ростелеком, динамика.
Все микротики настроены единообразно, вплоть до того, что конфиг с одного основного экспортировал и копировал построчно в остальные (не весь, разумеется, а только нужное — интерфейс-листы, правила файрфолла, и так далее). Требования ipsec настроены на всех клиентах и серверах.
Периодически, примерно раз в двое суток (от 36 до 60 часов) у hAP AC lite отваливаются коннекты и к CHR, и к hAP AC. В логах только фраза о том, что туннель незашифрован, поэтому не буду я никуда коннектиться. Помогает перезагрузка hAP AC lite. Какого-то криминала в IP — ipsec не замечено, один раз только были две невалидные динамические полиси. Попробовал их удалить и переподключиться — не помогает, думаю, дело не в них, и они бы сами по тайматуру когда-нибудь отвалились. При этом ни на CHR, ни на haP AC не делается вообще никаких изменений конфига, более того, они даже не перезагружаются (у hAP AC, конечно, рвется pppoe-сессия, у CHR, поскольку статика, не меняется вообще ничего).
Конечно, я могу перезагружать роутер скриптом каждые сутки, но это ж не решение проблемы. Что делать-то?
И, если уж на то пошло, насколько плохо его скриптом перезагружать каждые сутки, если проблему не решу?
Что из конфигов показывать — пока не знаю, поэтому, чтобы не загружать людям головы, покажу нужное по запросу.