Mikrotik L2TP / IPsec VPN Server Пошаговая настройка
Mikrotik L2TP / IPsec VPN Server Пошаговая настройка
В этом руководстве предполагается, что интерфейс WAN маршрутизатора Mikrotik имеет общедоступный IP-адрес и что ваш провайдер не блокирует порты ipsec. С этим из пути, давайте начнем. Первым шагом является создание профиля PPP на микротике. Мы будем использовать 192.168.102.1 для локального адреса (шлюз VPN), предполагая, что он еще не используется. Нам также нужно добавить DNS-сервер.
/ppp profile add name=ipsec_vpn local-address=192.168.102.1 dns-server=1.1.1.1
Затем мы добавляем интерфейс сервера l2tp-сервера и устанавливаем разрешенные методы аутентификации, mschap1 и mschap2.
/interface l2tp-server server set enabled=yes default-profile=ipsec_vpn authentication=mschap1,mschap2
Далее нам нужно определить пиринг IPSec, а также политику IPsec по умолчанию. Мы также установим секрет предварительного ключа в процессе.
/ip ipsec policy set [ find default=yes ] src-address=0.0.0.0/0 dst-address=0.0.0.0/0 protocol=all proposal=default template=yes
Для маршрутизатора OS 6.39 и ниже использовать
/ip ipsec peer add address=0.0.0.0/0 port=500 auth-method=pre-shared-key secret="STRONG_SECRET_HERE" exchange-mode=main-l2tp send-initial-contact=no generate-policy=port-override
Для Router OS 6.44 и выше используйте:
/ip ipsec peer add exchange-mode=main passive=yes name=l2tpserver /ip ipsec identity add generate-policy=port-override auth-method=pre-shared-key secret="STRONG_SECRET_HERE" peer=l2tpserver
Далее мы устанавливаем алгоритмы шифрования по умолчанию
/ip ipsec proposal set default auth-algorithms=sha1 enc-algorithms=3des pfs-group=modp1024
Теперь мы добавляем пользователя и назначаем IP-адрес
/ppp secret add name="USERNAME" password="STRONG PASSWORD" service=l2tp profile=ipsec_vpn remote-address=192.168.102.2
Наконец, нам нужно открыть порты IPSec из глобальной сети
/ip firewall filter add chain=input action=accept protocol=udp port=1701,500,4500 /ip firewall filter add chain=input action=accept protocol=ipsec-esp
Обратите внимание, что эти два правила необходимо добавить в начало списка, а не любые другие правила, чтобы разрешить подключения из интерфейса WAN. Либо используйте команду «Move» через CLI, чтобы переместить их в начало списка, либо используйте графический интерфейс.
Не работает L2TP/IPSec VPN подключение в Windows
01.12.2023
itpro
Windows 10, Windows 11, Windows Server 2019
комментариев 30
В этой статье мы рассмотрим типовые причины ошибок при подключении к L2TP/IPSec VPN серверу с клиентов Windows 10/11 и Windows Server 2019/2016. Если вы не можете установить L2TP VPN подключение к Windows, внимательно посмотрите на код и описание ошибки. Там часто указывается причина ошибки.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Не удается установить связь между компьютером и VPN сервером L2TP/IPScec
При попытке установить соединение из клиента Windows к L2TP VPN серверу появляется ошибка:
Can’t connect to ваше_L2TP_IPSec_VPN_подключение The network connection between your computer and the VPN server could not be established because the remote server is not responding. This could be because one of the network devices (e.g. firewalls, NAT, routers, etc) between your computer and the remote server is not configured to allow VPN connections. Please contact your Administrator or your service provider to determine which device may be causing the problem.
Не удалось установить связь по сети между компьютером и VPN-сервером, так как удаленный сервер не отвечает. Возможная причина: одно из сетевых устройств (таких как брандмауэры, NAT, маршрутизаторы и т.п.) между компьютером и удаленным сервером не настроено для разрешения VPN-подключений. Чтобы определить, какое устройство вызывает эту проблему, обратитесь к администратору или поставщику услуг.
Чаще всего при этом появляются следующие коды ошибок: 800, 794 или 809.
Если появилась такая ошибка, нужно проверить что вы указали правильный адрес VPN сервера, VPN сервер доступен и в файерволах открыты все необходимые порты.
Для доступа к L2TP/IPsec VPN сервере должны быть открыты следующие порты:
- UDP порт 1701 (Layer 2 Forwarding Protocol (L2F) & Layer 2 Tunneling Protocol (L2TP))
- UDP порт 500 (IKE, для управления ключами шифрования)
- Протокол ESP50 (Encapsulating Security Payload) для IPSec
Если L2TP VPN сервер запущен на Windows Server, нужно открыть эти входящие порты в правилах Windows Defender Firewall.
Для подключения к L2TP VPN серверу можно использовать встроенный VPN клиент Windows. Проверьте настройки вашего VPN подключения. Убедитесь, что для VPN подключения используется туннель L2tp и pre-shared key (PSK)/сертификат для аутентификации. Настройки VPN подключения можно вывести с помощью PowerShell:
Разрешить подключение к L2TP/IPSec VPN серверу за NAT
Если целевой L2TP VPN сервер находится за NAT, то с настройками по-умолчанию вы не сможете установить подключение к нему с компьютера Windows. Дело в том, что протокол IPsec не поддерживает NAT. Для обхода этого ограничения используется протокол NAT-T, который инкапсулирует пакеты IPsec в UDP/4500.
IPSec использует протокол ESP (Encapsulating Security Payload) для шифрования пакетов, а протокол ESP не поддерживает PAT/ Port Address Translation.
NAT-T включен по-умолчанию почти во всех операционных системах (iOS, Android, Linux), кроме Windows.
Если VPN сервер L2TP/IPsec находится за NAT, то для корректного подключения внешних клиентов через NAT необходимо как на сервере, так и на клиенте Windows внести изменение в реестр, разрешающее UDP инкапсуляцию пакетов для L2TP и поддержку (NAT-T) для IPsec.
- Откройте редактор реестра regedit.exe и перейдите в ветку:
- Для Windows 10,8.1,7 и Windows Server 2016,2012R2,2008R2 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
- Для Windows XP/Windows Server 2003 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
- Создайте DWORD параметр с именем AssumeUDPEncapsulationContextOnSendRule и значением 2;
- 0 – (значение по-умолчанию), предполагается, что VPN сервер подключен к интернету без NAT;
- 1 – VPN сервер находится за NAT;
- 2 — и VPN сервер и клиент находятся за NAT.
Если и Windows VPN сервер и клиент находятся за NAT, нужно изменить это параметре на обоих системах.
Set-ItemProperty -Path «HKLM:SYSTEM\CurrentControlSet\Services\PolicyAgent» -Name «AssumeUDPEncapsulationContextOnSendRule» -Type DWORD -Value 2 –Force
После включения поддержки NAT-T, вы сможете успешно подключаться к VPN серверу с клиента через NAT (в том числе двойной NAT). В этом случае при установлении L2TP/IPsec подключения сначала создается зашифрованный IPsec-канал (используется протокол IKE: UDP/500 и NAT-T: UDP/4500). После этого уже внутри IPsec поднимается туннель L2TP на порт 1701 UDP. Это означает, что, если VPN сервер находится за NAT, вам не нужно пробрасывать на него порт 1701 UDP с внешнего роутера/маршрутизатора.
Подключение L2TP не удалось из-за ошибки согласования безопасности
Есть еще один интересный баг. Если в вашей локальной сети несколько Windows компьютеров, вы не сможете установить более одного одновременного подключения к внешнему L2TP/IPSec VPN серверу. Если при наличии активного VPN туннеля с одного клиента, вы попытаетесь подключиться к тому же самому VPN серверу с другого компьютера, появится ошибка с кодом 809 или 789:
Error 789: The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remove computer.
Попытка L2TP-подключения не удалась из-за ошибки, произошедшей на уровне безопасности во время согласований с удаленным компьютером. (Ошибка 789)
Что интересно, эта проблема наблюдется только с Windows-устройствами. На устройствах с Linux/MacOS/Android в этой же локальной сети таких проблем нет. Можно без проблем одновременно подключиться к VPN L2TP серверу с нескольких устройств.
По информации на TechNet проблема связана с некорректной реализацией клиента L2TP/IPSec клиента в Windows (не исправляется уже много лет).
Для исправления этого бага нужно изменить два параметра реестра в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters и перезагрузите компьютре:
Для изменения этих параметров реестра достаточно выполнить команды:
reg add «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters» /v AllowL2TPWeakCrypto /t REG_DWORD /d 1 /f
reg add «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters» /v ProhibitIpSec /t REG_DWORD /d 0 /f
Это включает поддержку нескольких одновременных L2TP/IPSec-подключений в Windows через общий внешний IP адрес (работает на всех версиях, начиная с Windows XP и заканчивая Windows 10/11).
Еще несколько советов, которые помогут вам исправить проблему с L2TP VPN подключением в Windows
- Проверьте, что в настройках L2TP VPN подключения включен протокол аутентификации, которые поддерживается VPN сервером. Откройте ncpa.cpl -> свойства VPN подключения -> вкладка Security. В списке протоколов отметьте разрешенные протоколы. Как правило тут нужно оставить только MS-CHAP v2;
- Перейдите на вкладку Options -> PPP Settings -> включите опцию Enable LCP Extension;
- Проверьте, чтов Windows запущены службыIKE and AuthIP IPsec Keying Modules и IPsec Policy Agent:
get-service IKEEXT,PolicyAgent - Откройте диспетчер устройств и удалите виртуальные адаптеры WAN Miniport (L2TP) и WAN Miniport (IKEv2). Перезагрузите компьютер. После перезагрузки Windows восстановит эти адаптеры с настройками по-умолчанию;
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Предыдущая статья Следующая статья
[РЕШЕНО] L2tp + IPSEC не подключается какие порты надо открыть ?
Протокол: UDP, порт 1701
Протокол: UDP, порт 500 (для IKE, для управления ключами шифрования)
Протокол: UDP, порт 4500 (для режима IPSEC NAT-Traversal)
Протокол: ESP, значение 50 (для IPSEC)
Протокол: AH, значение 51 (для IPSEC)
Обратите внимание если mikrotik не является сервером l2tp\ipsec а данный сервер находиться за ним, то нужно пробросить порт 1701, 500 , 4500. А 50 и 51 это не порты, а протоколы и их просто надо разрешить.
Правило для iptables:
iptables -A INPUT -i $EXT_NIC -p udp --dport 500 -j ACCEPT iptables -A INPUT -i $EXT_NIC -p udp --dport 4500 -j ACCEPT iptables -A INPUT -i $EXT_NIC -p 50 -j ACCEPT iptables -A INPUT -i $EXT_NIC -p 51 -j ACCEPT iptables -A INPUT -i $EXT_NIC -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT
Также проблема может быть на стороне клиента многие роутеры блокируют трафик.
Пример на роутере zyxel
На странице «Межсетевой экран» выберите из списка интерфейс, на котором будет отслеживаться входящий трафик (это VPN-подключение), и нажмите «Добавить правило» для создания правил доступа по любым протоколам (как правило, достаточно будет открыть доступ по протоколам tcp/udp/icmp).
Какие порты использует VPN? Объяснение портов VPN
VPN обращается к определенным портам для маршрутизации вашего интернет-трафика в процессе туннелирования. Эти порты обычно соответствуют протоколу VPN, который используется в данный момент.
Следовательно, у каждого VPN-протокола есть свой уникальный порт, активируемый для создания соединения в интернете.
В этой статье мы поговорим о том, что представляют собой порты, какие порты часто используются в VPN, какие порты и протоколы VPN связаны между собой, какие порты VPN лучше избегать, а также о перенаправлении портов.
Chapters
- Что такое порты VPN?
- Протоколы связи: TCP против UDP
- Общие номера портов VPN
- Почему VPN предпочитают UDP-порт 500 и TCP-порт 443?
- Порты VPN, которые следует избегать
- Что такое перенаправление портов?
- Заключение
Что такое порты VPN?
Порты, в сетевых технологиях, являются виртуальными коммуникационными каналами между подключенными устройствами или сервисами.
Каждый порт имеет уникальный номер, который сервисы или устройства используют для определения типа обрабатываемого портом трафика и его пункта назначения. Этот номер назначается Интернет-администрацией номеров (IANA).
Номера портов используют протоколы связи и IP-адрес хоста для коммуникации. Таким образом, устройство может общаться, используя установленный протокол и номер порта для передачи определенного типа данных в определенный пункт назначения.
Протоколы связи: TCP против UDP
Протокол управления передачей (TCP) и протокол пользовательских датаграмм (UDP) — это протоколы связи, связанные с номерами портов. Они определяют все аспекты обмена информацией портами.
Эти протоколы связи имеют различные сильные и слабые стороны, поэтому протоколы VPN могут выбирать один или оба во время туннелирования.
Посмотрим, как они сравниваются:
Transmission Control Protocol (TCP) | User Datagram Protocol (UDP) |
TCP является ориентированным на соединение протоколом, который должен установить соединение между двумя конечными точками перед началом обмена данными. | UDP — это без соединения протокол, которому не требуется установка постоянного соединения между конечными точками для начала обмена данными. |
TCP надежен. Он гарантирует доставку данных до пункта назначения с помощью повторной передачи данных или разрыва соединения. Данные не потеряются. | UDP ненадежен. После отправки данных нет гарантии, что они дойдут до пункта назначения. Повторная передача потерянных данных не осуществляется. |
TCP тяжелый и имеет большую переменную длину заголовка. | UDP легкий и имеет фиксированную длину заголовка. |
Данные приходят так, как они были отправлены, последовательно, например, в порядке поступления. | Данные не приходят в последовательности. Любые данные, пришедшие первыми, будут получены получателем. |
TCP не может транслировать и может отправлять данные только в обе стороны. | UDP может транслировать и отправлять данные всем доступным получателям. |
TCP имеет развернутые механизмы проверки ошибок для подтверждения данных. | UDP не подтверждает данные и, следовательно, требует минимальной проверки ошибок. |
Вышеперечисленные характеристики делают каждый протокол связи уникальным в своей функциональности.
TCP всегда гарантирует доставку данных, что замедляет процесс из-за необходимости подтверждения. Таким образом, TCP используется для обеспечения надежности, когда скорость не является приоритетом.
UDP легкий, не требует подтверждения, и данные приходят в любой последовательности. Эти характеристики делают UDP быстрым протоколом. Он используется, когда скорость имеет приоритет над надежностью.
Общие номера портов VPN
VPN-ы используют номера портов, определенные используемым протоколом VPN. Каждый протокол VPN может иметь один или несколько номеров портов.
Чем больше протоколов VPN у провайдера, тем больше номеров портов. Однако во время туннелирования может быть использован только один набор протоколов VPN.
Таким образом, протокол автоматически выберет номера портов для использования. Некоторые провайдеры VPN позволяют пользователям выбирать номер порта, особенно для протокола Open VPN.
Вот стандартные протоколы VPN и их номера портов:
- OpenVPN: этот протокол использует TCP порт 443 и UDP порт 1194. Это золотой стандарт протоколов VPN с быстротой и надежностью.
- WireGuard: этот протокол по умолчанию использует UDP порт 51820. Это новый протокол, который быстрее и безопаснее.
- SoftEther: протокол SoftEther VPN (Ethernet через HTTPS) использует TCP порты 443, 992 и 5555. В основном этот протокол используется в SoftEther VPN.
- IKEv2: протокол Internet Key Exchange версии 2 использует UDP порты 500 и 4500. Этот протокол в основном используется для мобильных VPN-соединений.
- IPsec: протокол безопасности интернет-протокола использует UDP порт 500 и порт 4500. Этот протокол предлагает шифрование другим протоколам туннелирования.
- SSTP: протокол туннелирования через защищенный сокет использует TCP порт 443. Хотя сейчас он не предлагается, SSTP обходит ограничения.
- L2TP: протокол туннелирования уровня два использует номера портов, такие как TCP порт 1701, UDP порт 500 и порт 4500.
IKev2 и L2TP используют те же порты, что и IPsec. Это связано с тем, что IPsec обычно используется в паре с одним из этих протоколов.
Кроме общих номеров портов VPN, некоторые из лучших VPN-провайдеров могут предлагать конфигурации, использующие другие номера портов. Это сделано для ускорения или обхода блокировок VPN.
Почему VPN предпочитают UDP-порт 500 и TCP-порт 443?
Большинство протоколов VPN связаны с UDP-портом 500 или TCP-портом 443. Эти номера портов известны своей скоростью и надежностью и редко блокируются.
UDP-порт 500 не имеет соединения и быстрее, но не имеет лучших настроек безопасности. Протоколы IKev2 и L2TP обычно используют этот порт, что объясняет, почему они быстрые.
UDP-порт 500 также разрешен для прохождения через межсетевые экраны и маршрутизаторы. Этот порт важен для обеспечения ключей безопасности, используемых для защищенных коммуникаций.
TCP-порт 443 используется для HTTPS-трафика. Он создает безопасные соединения через Интернет и опирается на другие шифрования, такие как Transport Layer Security (TLS).
Протоколы VPN, использующие этот порт, известны своей надежностью и безопасностью. Кроме того, этот порт также разрешен на большинстве межсетевых экранов и маршрутизаторов.
Блокировка этого порта также блокирует HTTPS-трафик; по сути, никто не будет иметь доступа к безопасной сети (Интернет).
Порты VPN, которые следует избегать
Порты могут использоваться киберпреступниками и другими заинтересованными сторонами для анализа трафика, взлома и эксплуатации других уязвимостей в системе или сервисе.
Наиболее распространенные порты VPN, используемые премиум-VPN, настроены с некоторыми конфигурациями для обеспечения защиты от атак.
Однако некоторые подозрительные VPN, особенно бесплатные и некачественные VPN, могут реализовывать соединения с использованием новых протоколов или даже непроверенных фреймворков с уязвимостями.
Обычно эти протоколы используют небезопасные порты. Эти провайдеры VPN делают это для снижения затрат или обеспечения легкого доступа к вашей информации.
Кроме того, если вы любите открывать порты в своей системе, вы также должны избегать этих портов. Они включают:
- TCP-порт 21: Используется для FTP. Уязвим из-за нешифрованной природы передачи.
- TCP-порт 23: Используется для удаленных операций Telnet. Текстовые коммуника ции нешифрованы
- TCP/UDP-порт 53: Используется для передачи зон для поддержания базы данных DNS. Хакеры могут использовать его для атаки уязвимостей в базе данных DNS.
- TCP-порт 80: Используется для HTTP, который не является безопасным.
- TCP-порт 1080: Используется для прокси-серверов SOCKS. Хакеры могут использовать прокси для своих злонамеренных действий.
- TCP-порт 4444: Это порт прослушивания для Metasploit — проекта, используемого для тестирования на проникновение. Он также может использоваться для взлома.
Если вы не являетесь технически подкованным, то будет трудно узнать, используют ли некоторые VPN вышеупомянутые порты. Чтобы быть в безопасности, всегда используйте премиум и надежный VPN.
Что такое перенаправление портов?
Перенаправление портов позволяет перенаправлять трафик на другой порт. Это обычно делается для обхода межсетевых экранов или улучшения скорости соединения.
Большинство VPN позволяют перенаправление портов для использования других приложений или сервисов через VPN-соединения. Обычно перенаправление портов используется для удаленного доступа, торрентов и онлайн-игр.
Перенаправление портов предлагает удобство за счет вашей безопасности — оно делает ваше соединение уязвимым для кибератак.
В некоторых случаях это может не улучшить скорость вашего соединения. При перенаправлении портов всегда отдавайте приоритет безопасности.
Несколько минут ради скорости или удобства могут поставить под угрозу вашу конфиденциальность и безопасность.
Заключение
Порты VPN играют важную роль в том, как VPN безопасно туннелирует ваши соединения и трафик через Интернет.
Если они настроены неправильно, они могут нанести ущерб вашей онлайн-безопасности и конфиденциальности. Таким образом, если вы не являетесь технически подкованным, позвольте своему премиум-VPN автоматически выбирать правильные порты.
Основатель и генеральный директор Privacy Affairs Миклош Золтан является основателем и генеральным директором Privacy Affairs. У Миклоша большой опыт работы в области кибербезопасности и защиты данных, так как он работал с международными командами более 10 лет в проектах, связанных с тестированием на проникновение, сетевой безопасностью и криптографией. Миклош основал Privacy Affairs в 2018 году, чтобы предоставить образование в области кибербезопасности и защиты данных обычным аудиториям, переводя технические и «ботанические» темы на понятный язык в виде руководств и учебников.
Miklos Zoltan
- Connect with the author: