Настройка l2tp (протокола туннелирования 2-го уровня) поверх ipsec

Доступ к локальной сети и сети Интернет

При подключении к нашему серверу VPN у клиента не будет возможности выходить в Интернет и подключаться к ресурсам сети, что делает соединение бессмысленным. Поэтому первым этапом после настройки сервера должна быть настройка маршрутизации сети. Для этого необходимо включить возможность работы в качестве шлюза и настроить правила в брандмауэре.

Настройка ядра

Нам нужно разрешить опцию net.ipv4.ip_forward в настройках ядра — для этого откроем файл:

vi /etc/sysctl.d/99-sysctl.conf

И добавляем в него следующую строку:

net.ipv4.ip_forward=1

После применяем настройку:

sysctl -p /etc/sysctl.d/99-sysctl.conf

В случае с единым сетевым интерфейсом больше ничего делать не потребуется — CentOS начнет работать как Интернет-шлюз.

В случае с несколькими сетевыми адаптерами, настраиваем сетевой экран.

Настройка брандмауэра

Настройка выполняется для двух сетевых интерфейсов на примере ens32 (внутренний) и ens34 (внешний):

firewall-cmd —permanent —zone=public —add-masquerade

firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens32 -o ens34 -j ACCEPT

firewall-cmd —reload

Отличия UPD и TCP протоколов.

Итак, разберем отличия данных протоколов.

  • 1. TCP протокол устанавливает соединение с получателем, что не делает UPD протокол.
  • 2. TCP протокол является надежным, так как запрашивает информацию о получении. Если ее нет, то предпринимаются повторные попытки передачи данных. UPD протокол является ненадежным, так как неизвестно, дойдет ли информация до получателя.
  • 3. TCP протокол передает данные в правильном порядке, что не делает UPD протокол.

Как можно понять, TCP протокол имеет намного большую надежность передачи информации в сравнении с UPD протоколом. Но это вовсе не говорит о том, что его нужно скидывать со счетов. Он имеет большую скорость передачи, что очень полезно в сетевых играх или для просмотра потоковых видеофайлов.

Which one to use?

Which one you use, therefore, depends on whether reliability or speed is your primary concern, and, in general, UDP is better for streaming VoIP, and playing games online.

However, how much TCP actually slows a connection down in practice can be very dependent on other network factors, with distance being the most important. The further away you are from your VPN server geographically, the further TCP packets have to travel to and fro, and therefore the slower your connection will be. If the server is relatively close-by, then you may not see much of a speed loss, while benefiting from a more reliable connection.

That said, probably the best general advice is to use the faster UDP protocol unless you experience connection problems, which is the strategy adopted by most VPN providers by default.

Defeat censorship with OpenVPN on TCP Port 443

When you connect to a secure website your connection is protected by SSL encryption. You can tell that a website is secure because its URL (web address) begins with https: and a closed lock icon should appear to the left of your browser’s URL bar. Traditionally it was mainly banks and online shops etc. that used SSL, but with growing public concern about internet security, it is increasingly common to see SSL encryption deployed on all kinds of websites.

SSL is the cornerstone of security on the internet, and any attempt to block it effectively breaks the internet (which hasn’t stopped places such as Iran trying!). SSL runs over TCP port 443.

The interesting thing for OpenVPN (which is based on the OpenSSL libraries) is that configured to run on TCP port 443, OpenVPN traffic looks identical to regular SSL connections. This makes running OpenVPN over TCP port 443 ideal for evading censorship as:

  1. It is very difficult that OpenVPN is being used rather than regular SSL
  2. It is almost impossible to block without breaking the internet.

Some custom VPN clients allow you to select TCP port 443, or it can often be configured manually (ask your VPN provider for settings.)

Поиск и устранение неполадок

В этом разделе описывается процесс устранения неполадок конфигурации.

Команды для устранения неполадок

Некоторые команды show поддерживаются интерпретатором выходных данных (доступен только для зарегистрированных пользователей); интерпретатор позволяет просматривать анализ выходных данных команды show.

Примечание. Прежде чем применять команды debug, ознакомьтесь с документом Важные сведения о командах debug.

  • debug crypto engine – показывает события ядра.

  • debug crypto ipsec – показывает события IPSec.

  • debug crypto isakmp – показывает сообщения, касающиеся событий IKE.

  • debug ppp authentication – показывает сообщения протокола аутентификации, включая информацию об обмене пакетами CHAP и обмене по протоколу аутентификации по паролю (PAP).

  • debug vpdn event – показывает сообщения о событиях, являющихся частью обычного процесса установки или завершения работы туннеля.

  • debug vpdn error – показывает ошибки, не позволяющие установить туннель или вызывающие закрытие установленного туннеля.

  • debug ppp negotiation – показывает PPP-пакеты, передаваемые при запуске PPP во время согласования параметров.

PPTP

Протокол туннелирования точка-точка (Point-to-Point Tunneling Protocol) – это протокол, изобретенный Microsoft для организации VPN через сети коммутируемого доступа. PPTP является стандартным протоколом для построения VPN уже на протяжении многих лет. Это только VPN-протокол и он опирается на различные методы аутентификации для обеспечения безопасности (наиболее часто используется MS-CHAP v.2). Доступен как стандартный протокол почти во всех операционных системах и устройствах, поддерживающих VPN, что позволяет использовать его без необходимости установки дополнительного программного обеспечения. PPTP остается популярным выбором как предприятий, так и VPN-провайдеров. Его преимущество также в том, что он использует меньше вычислительных ресурсов, следовательно обладает высокой скоростью работы.

Хотя PPTP обычно и используется со 128-битным шифрованием, в следующие несколько лет после включения этого протокола в состав Windows 95 OSR2 в 1999 году были найдены ряд уязвимостей. Наиболее серьезной из которых явилась уязвимость протокола аутентификации MS-CHAP v.2. Используя эту уязвимость, PPTP был взломан в течение 2 дней. И хотя компанией Microsoft была исправлена эта ошибка (за счет использования протокола аутентификации PEAP, а не MS-CHAP v.2), она сама рекомендовала к использованию в качестве VPN проколов L2TP или SSTP.

Плюсы:

  • клиент PPTP встроен почти во все операционные системы
  • очень прост в настройке
  • работает быстро

Минусы:

небезопасен (уязвимый протокол аутентификации MS-CHAP v.2 все еще много где используется)

Что такое VPN-протокол?

VPN-протокол — программный фундамент, на базе которого строится любой VPN-сервис. В нем описывается формат организации подключения, обмена данными внутри частной виртуальной сети и другие аспекты работы ПО. 

От выбора протокола зависит, какие задачи будут с помощью него решены, насколько эффективно они будут решаться, насколько это будет безопасно, быстро и т.п. Существует несколько технологий организации VPN, поэтому возникают некоторые разногласия при выборе соответствующих сервисов и при настройке виртуальных частных сетей. 

На какие критерии оценки VPN-протоколов стоит обратить внимание

У каждого протокола свой набор характеристик, исходя из которых нужно выбирать для себя подходящий. Среди них:

  • Поддерживаемые платформы — протоколы могут быть достаточно специфичны и функционировать исключительно на одной-двух операционных системах. Другие же поддерживают сразу все доступные ОС.
  • Поддерживаемые сети — не все протоколы работают в идентичных сетях. Некоторые VPN-сервисы предлагают свои услуги только в конкретных странах ввиду технологических ограничений, введенных, в том числе, государственными органами.
  • Скорость работы — тоже зависит от архитектуры протокола. Есть те, что быстрее передают данные на мобильных устройствах. Есть те, что показывают пиковую производительность только в масштабах больших корпоративных сетей. 
  • Безопасность — в протоколах по-разному реализовано шифрование и другие механизмы обеспечения безопасности данных. Поэтому, в зависимости от поставленных задач, надо выбирать технологию, наименее подверженную распространенным для нее атакам.

Теперь от общего описания форматов и характеристик перейдем к конкретным технологическим решениям и к их особенностям.

8 недорогих автомобильных компрессоров с AliExpress

Широковещательные сообщения

PPTP

Intro

A very basic VPN protocol based on PPP. The PPTP specification does not actually describe encryption or authentication features and relies on the PPP protocol being tunneled to implement security functionality.

Encryption

The PPP payload is encrypted using Microsoft’s Point-to-Point Encryption protocol (MPPE). MPPE implements the RSA RC4 encryption algorithm with a maximum of 128 bit session keys.

Security weaknesses

The Microsoft implementation of PPTP has serious security vulnerabilities. MSCHAP-v2 is vulnerable to dictionary attack and the RC4 algorithm is subject to a bit-flipping attack. Microsoft strongly recommends upgrading to IPSec where confidentiality is a concern.

Setup / Configuration

All versions of Windows and most other operating systems (including mobile) have native support for PPTP. PPTP only requires a username, password and server address making it incredibly simple to setup and configure.

Stability / Compatibility

PPTP is not as realiable, nor does it recover as quickly as OpenVPN over unstable network connections. Minor compatibility issues with the GRE protocol and some routers.

Verdict

Due to the major security flaws, there is no good reason to choose PPTP other than device compatibility. If you have a device on which only PPTP is supported then you should consider how to encrypt data at other layers e.g. HTTPS.

Конфиденциальность данных

VPN-протоколы уделяют гораздо большее внимание безопасности соединения, нежели конфиденциальности. Однако возможность сохранения анонимности тоже имеет значение — кому охота писать объяснительные по факту закачки учебника Oracle, или эмулятора топологии Cisco? Ничто так хорошо не выдает факт правонарушения, как IP адрес пользователя

Настройки Wireguard в явном виде содержат IP адреса пользователей и это обстоятельство не позволит им остаться незамеченным после того, как сервером заинтересуются правоохранительные органы. Сетевой трафик прочитать, конечно, не удастся, однако можно идентифицировать самих участников защищенного соединения.

Сама настройка защищенного соединения Wireguard довольно проста. Сперва установка.

Создаем открытый и закрытый ключи.

Далее, необходимо настроить файл /etc/wireguard/wg0.conf.

Второй участник подключения должен у себя настроить такой же файл, указав в нем свой закрытый ключ и открытый ключ участника A. Для установки соединения каждая из сторон выполняет

Из этого видно, что при настройке Wireguard IP адрес, либо имя узла задаются в явном виде и будут видны в системных лог-файлах и таблицах SNMP до момента перезагрузки сервера.
OpenVPN лучше защищает конфиденциальность клиентских подключений, так как не требует до установки защищенного соединения прописывать IP адреса, или сетевое имя клиентских компьютеров.

Выводы по конфиденциальности данных

В этой номинации OpenVPN имеет определенное преимущество ввиду того, что лишь Wireguard предполагает хранение IP-адреса пользователей на VPN-сервере в течение длительного времени.

L2TP/IPsec

Протокол туннеля уровня 2 — это протокол VPN, который не предлагает никакого шифрования. Вот почему он обычно реализуется вместе с шифрованием IPsec. Поскольку он встроен в современные настольные операционные системы и мобильные устройства, его довольно легко реализовать. Но он использует порт UDP 500 — это означает, что он не может быть замаскирован на другом порту, например OpenVPN. Таким образом, намного проще блокировать и сложнее обойти брандмауэры.

Теоретически шифрование IPsec должно быть безопасным. Есть некоторые опасения, что NSA может ослабить стандарт, но никто точно не знает. В любом случае это медленнее, чем OpenVPN. Трафик должен быть преобразован в форму L2TP, а затем шифрование добавлено поверх IPsec. Это двухэтапный процесс.

Резюме: L2TP/IPsec теоретически безопасен, но есть некоторые проблемы. Его легко настроить, но проблема связана с брандмауэрами и не так эффективна, как OpenVPN. Придерживайтесь OpenVPN, если это возможно, но определенно используйте это через PPTP.

Какой протокол выбрать?

Пока что фаворитом является OpenVPN. Он уже давно на рынке и успел себя зарекомендовать. Используется топовыми VPN-cервисами, работает на Android, iOS, Windows, macOS, Linux и даже на роутерах. Разве что на утюге не получится запустить. Скорость работы OpenVPN хоть и не поражает, но ее хватит для комфортной работы. 

Второе место я бы отдал WireGuard. Это пока еще темная лошадка, но зато с кучей бонусов. Он превосходит OpenVPN и IPsec по всем параметрам, но пока не вызывает такого доверия, как первый. Но это все же дело времени. Кажется, что в ближайшем будущем расстановка сил на рынке VPN-сервисов заметно скорректируется.

Замкнет тройку лидеров IPsec – jтличный баланс между производительностью и доступностью. Правда, если не брать в расчет подозрительную историю с утечкой данных американских спецслужб. Если им верить, то в IPsec встроены бэкдоры, позволяющие отслеживать трафик, передаваемый по протоколу IPsec в тайне от отправляющего. 

Остальные технологии оказались на обочине прогресса. Не советую их использовать. Только если все остальные варианты почему-то оказались недоступны.

Шаг 1. Подключение

1.1. Наиболее частой причиной невозможности установления соединения является нежелание вашего провайдера пропустить трафик протокола GRE, который работает в составе PPTP/L2TP. По состоянию на начало 2017 года, провайдеры, ограничивающие вас в соединениях, это, например, Yota и МГТС.В этом случае соединение не устанавливается и таймаут на установление соединения истекает.Вылечить это можно только путем использования другого протокола (например L2TP c шифрованием IPsec или OpenVPN), ну или менять провайдера.

1.2. Следующая по частоте причина — ошибка в имени пользователя, пароле или адресе службы . Тут совет один — проверьте все еще раз.

1.3. Следующая причина — ваше соединение НЕ будет принято, если пользователь с таким именем уже подключен. В этом случае вы получите ошибку отклонения авторизации.Если вы некорректно оборвали первое соединение (например, отвалился канал к провайдеру) и начали устранавливать его еще раз, то в это случае наша система может вас не подключить до того момента, пока не исчетет таймаут неактивности первой сессии.В некоторых случаях этот таймаут может доходить до 5 минут.

1.4. Если вы все сделали верно, но соединение не устанавливается, то обратитесь к нам в форум

Сформулируйте ситуацию, сообщите время/дату неуспешного подключения, тип используемого протокола, а также имя пользователя, чье соединение не установилось.

Результат этого шага — Соединение установлено.

IPSec IKEv2

Intro

IKEv2 (Internet key exchange version 2) is part of the IPSec protocol suite. Standardized in RFC 7296. IPSec has become the defacto standard protocol for secure Internet communications, providing confidentiality, authentication and integrity.

Encryption

IKEv2 implements a large number of cryptographic algorithms including 3DES, AES, Blowfish, Camellia. IVPN implements IKEv2 using AES with 256 bit keys.

Security weaknesses

IPSec has no known major vulnerabilities and is generally considered secure when implemented using a secure encryption algorithm and certificates for authentication. However Leaked NSA presentations indicate that IKE could be exploited in an unknown manner to decrypt IPSec traffic.

Speed

IPSec with IKEv2 should in theory be the faster than OpenVPN due to user-mode encryption in OpenVPN however it depends on many variables specific to the connection. In most cases it is faster than OpenVPN.

Firewall ports

IKEv2 uses UDP 500 for the initial key exchange, protocol 50 for the IPSEC encrypted data (ESP) and UDP 4500 for NAT traversal.
IKEv2 is easier to block than OpenVPN due to its reliance on fixed protocols and ports.

Stability / Compatibility

IPSec is more complex than OpenVPN and can require additional configuration between devices behind NAT routers. However as long as both the server and client support NAT traversal there shouldn’t be any issues.

Verdict

IKEv2 is an excellent choice, it is extremely fast, secure and reliable. In addition unlike OpenVPN it requires no additional software to be installed (in most cases) and is therefor the quickest to configure. If you have a threat model that includes sophisticated adversaries then you may want to consider OpenVPN due to the leaked NSA presentations discussed above.

Как настроить автоматически подключение к PPPoE в Windows 10?

Однако, после создания соединения по протоколу PPPoE на Windows 10, для выхода в интернет придется каждый раз кликать по этому меню. Но можно настроить автоподключение PPPoE при загрузке операционной системы.

Для этого находим через поиск Windows программу «Планировщик заданий»

Выбираем «Создать простую задачу»

Далее придумываем для нее название — например «Интернет PPPoE»

В качестве триггера, то есть условия для ее выполнения, выбираем «При запуске Windows»

А в пункте «Действие» ставим флажок на «Запустить программу»

Теперь будьте внимательны и правильно укажите данные для подключения к интернету.

  1. В поле «Программа или сценарий» пишем слово «rasdial»
  2. В графу «Добавить аргументы» вставляем строку — «WWW» WiFiKARU 123qwerty — где вместо «WiFiKARU» нужно указать ваш логин от PPPoE, а вместо «123qwerty» — пароль для подключения к интернету.

В следующем окне проверяем всю информацию и жмем на «Готово»

Windows

Установка

Клиентское приложение OpenVPN для Windows вы можете найти на странице загрузок OpenVPN.

Выбирайте в зависимости от вашей версии Windows

Обратите внимание, что для установки вы должны обладать административными правами

После установки OpenVPN скопируйте файл .ovpn в следующую папку: C:\Program Files\OpenVPN\config
После запуска OpenVPN программа автоматически увидит профиль и сделает его доступным.

OpenVPN надо всегда запускать от имени администратора, даже в тех случаях, когда вы уже зашли под административным аккаунтом. Для этого надо нажать правой кнопкой мыши на значке программы и выбрать «Запуск от имени администратора». А значит, обычным пользователям для запуска OpenVPN придется вводить административный пароль.

Для того, чтобы OpenVPN всегда запускался от имени администратора, вам нужно щелкнуть правой кнопкой мыши на иконке и зайти в «Свойства». Во вкладке «Совместимость» нажмите кнопку «Изменить параметры для всех пользователей», а в следующем окне – «Запуск программы от имени администратора».

Соединение

При запуске OpenVPN Windows будет всегда спрашивать, можно ли программе вносить изменения в ваш компьютер, и вам нужно нажимать «Да». Запуск клиента OpenVPN не устанавливает соединение автоматически, а помещает программу в область уведомлений (системный трей) для того, чтобы вы могли включать и выключать использование VPN.

После того, как вы запустили OpenVPN, вам нужно установить соединение. Сделать это можно следующим образом: нажмите правой кнопкой на иконке OpenVPN в области уведомлений, в контекстном меню выберите client1 и нажмите «Соединиться» (Connect).

Пока будет работать соединение, вы будете видеть его лог в окне статуса.

Отсоединиться от VPN можно таким же способом: нажав правую кнопку мыши на иконке OpenVPN в трее, вам нужно выбрать клиентский профиль и нажать «Отсоединиться» (Disconnet).

Шаг 4. Пинг моего другого устройства по адресу 172.16.x.x успешен, а как выполнить пинг другого устройства по его внутреннему адресу 192.168.x.x?

Дальше начинается действие, ради которого все и затевалось — получение одним устройством c ОС Windows доступа к внутренней сети, расположенной за вторым устройством (маршрутизатором). Эти действия связаны с наличием маршрутной информации о сети «за» маршуртизатором и почти аналогичны предыдущему шагу, но с некоторыми отличиями. Теперь нам необходимо не только обучить ваш Windows «знанию» о сети 172.16.0.0/16, что было выполнено на предыдущем шаге, но и дать ему информацию о сети, расположенной «за» маршрутизатором вашего второго туннеля.

Прежде чем приступить к этому шагу вы должны убедиться в том, что сеть «за» вашим маршрутизатором НЕ пересекается с сетью, в которую подключена ваша Windows машина. То есть, если ваш Windows находится в сети 192.168.0.0/24 (например дом) и такая же сеть 192.168.0.0/24 расположена за вторым устройством (например дача) то такая конфигурация будет некорректной и из нее есть два выхода:

— перенастроить одну из сетей на другую схему адресации, например 192.168.1.0/24

— осуществить трансляцию портов на вашем втором устройстве в адрес, полученный от сети vpnki 172.16.x.x (эту конфигурацию мы не будем рассматривать в рамках настоящего документа)

Итак, если вы имеете разные сети, то теперь нам необходимо сообщить вашему Windows устройству о наличии сети, например 192.168.1.0/24, расположенной за ваш вторым туннелем. Для этого вам необходимо на вашей персональной странице настроек vpnki, для второго вашего туннеля (например дача) отметить галочкой то, что вы настраиваете маршуртизатор и за ним расположена сеть 192.168.1.0/24. Примененная на этой странице настройка добавит эту сеть в протокол DHCP и передаст в ваше Windows устройство при следующем подключении. Проверить это вы сможете выполнив команду . В ее длинном выводе вы должны обнаружить следующую строку:

Сетевой адрес       Маска            Адрес шлюза         Интерфейс192.16.1.0          255.255.255.0    on-link             172.16.x.x — выданный вам адрес

Если по какой-то причине данная строка не появилась это означает, что протокол DHCP не отработал и маршрутная информация не получена. В этом случае имеет смысл разобраться в причине или добавить статический маршрут в ручном режиме. В качестве обходного маневра вы можете прописать маршрут к сети 192.168.1.0/24 выполнив команду (с правами администратора!)

После этого вы должны успешно выполнить пинг своего «другого устройства», подключенного к сети vpnki по его внутреннему адресу (например 192.168.1.1), выполнив команду

Однако обращаем внимание:

— на то, что второе устройство (маршрутизатор) должно содержать в своей таблце маршрутов путь к сети 172.16.0.0/16 для отправки ответов на ваш пинг.

— на втором вашем устройстве (маршрутизаторе) межсетевой экране не должен блокировать ответы на пакеты icmp

Результат этого шага — наличие маршрута к сети 192.168.1.0/24 в таблице маршрутов Windows устройства и/или успешный пинг вашего второго устройства по внутреннему адресу 192.168.1.x.

PS: В целях борьбы с зависшими сессиями мы принудительно отключаем пользовательские туннели с протоколами PPTP, L2TP, L2TP/IPsec через 24 часа после установления соединения. При правильной настройке соединения должны автоматически переустановиться.

ДОПОЛНИТЕЛЬНО ПО ТЕМЕ:

Ознакомьтесь с настройками и работой нашей услуги «Публикация URL», которая поможет вам организовать удаленный доступ по протоколам http и https к своим ресурсам

Озанакомьтесь с работой и настройками нашей услуги «Проброс TCP порта», которая поможет вам опубликовать в сети Интернет TCP порт вашего устройства для организации удаленного доступа

Ознакомьтесь с настройками и приниципами работы услуги «Доступ через HTTP и SOCKS5 прокси», которая даст вам возможность удаленного доступа такими протоколами и приложениями как HTTP, RDP, VNC, ssh и другими

Настройка клиента

Рассмотрим процесс настройки клиента на базе Windows. Для андроида и устройств Apple параметры заполняются аналогично.

Графический интерфейс

В параметрах сети и Интернет в разделе VPN создаем новое соединение: 

Задаем настройки:

* где:

  • Имя подключения — произвольное имя для подключения.
  • Имя или адрес сервера — адрес сервера VPN, к которому мы будем подключаться. В данном примере используем внутреннюю сеть, но в продуктивной среде адрес должен быть внешним.
  • Тип VPN — для нашего случая, выбираем L2TP/IPsec с предварительным ключом.
  • Общий ключ — ключ, который мы задали в файле /etc/ipsec.secrets.
  • Тип данных для входа — выбираем пользователь и пароль.
  • Имя пользователя и пароль — логин и пароль, которые мы задали в файле /etc/ppp/chap-secrets.

Командная строка

Соединение VPN в Windows можно создать с помощью Powershell:

Add-VpnConnection -Name «VPN CentOS 8» -ServerAddress «192.168.1.15» -TunnelType «L2tp» -EncryptionLevel «Required» -AuthenticationMethod MsChapv2 -SplitTunneling -DnsSuffix «dmosk.local» -L2tpPsk «my_key_password» -Force -RememberCredential -PassThru

* где:

  • Name — произвольное имя для подключения.
  • ServerAddress — адрес сервера VPN, к которому мы будем подключаться. В данном примере используем внутреннюю сеть, но в продуктивной среде адрес должен быть внешним.
  • TunnelType — тип туннеля. В нашем случае это L2TP.
  • EncryptionLevel — указание на требование использования шифрованного канала.
  • AuthenticationMethod — метод аутентификации. В нашем случае ms-chap-2.
  • DnsSuffix — суффикс DNS. Будет автоматически подставляться к коротким именам узлов.
  • L2tpPsk — предварительный ключ, который мы задали в файле /etc/ipsec.secrets.

UDP Explained

UDP, or User Datagram Protocol, is another widely-used internet transmission protocol. It has origins dating back to around the same time as TCP but usually is only used in very specific circumstances.

The UDP protocol treats data packets in a similar way to TCP, with one significant difference – a near total lack of error correction.

A UDP packet does not include a sequence number. It contains no built-in mechanism for error correction other than a checksum to ensure a piece of data arrives at its destination uncorrupted.

Although this makes UDP data transmission more prone to errors, it also makes it much, much quicker than TCP. This is the reason why all the fastest VPN providers pick UDP as the default OpenVPN configuration.

When you’re streaming video or audio, or need extra low latency for applications like gaming or VoIP, UDP should be your protocol of choice.

The Pros of Using UDP With OpenVPN

Configuring OpenVPN to use UDP has several clear benefits. Using it is recommended when:

  • Dealing With a Slow Connection – In some circumstances, the overhead created by VPN encryption can result in very low connection performance. Using UPD instead of TCP can speed things up by reducing the extra processing and error correction delays which come with the latter.
  • Transmitting Time-Sensitive Data – If you’re sending or receiving VoIP traffic or live video over your VPN connection, dropped packets don’t matter as much as just getting data through. The same applies to video and audio streaming, as well as online gaming. In all these cases, UDP is very well suited for the task.

The Cons of Using OpenVPN With UDP

Even though UDP offers a significant speed advantage over TCP, it isn’t always the best choice to use with OpenVPN. Its most notable drawbacks include:

  • Less Reliability – Sending information using the UDP protocol comes with the risk of missing or corrupted data when network conditions aren’t ideal. That can result in failed downloads or dropped connections when errors pile up to the point of being unmanageable.
  • Compatibility Issues – In certain network environments, inbound and outbound traffic is limited to maintain network security. UDP is typically more restricted than TCP. Using it under such circumstances may cause OpenVPN connections to fail.

Why UDP Is Better for Streaming

Without a doubt, UDP is the recommended protocol to use for video and audio streaming. It’s a better choice than TCP because of the following:

  1. UDP is faster. It doesn’t have TCP’s error correction mechanism and, therefore, the sender doesn’t need to wait for an acknowledgment from the receiver before forwarding more data.
  2. UDP has lower latency and greater responsiveness than TCP. This is, again, due to the lack of error correction.
  3. Because UDP is quicker and more responsive, it needs less audio or video pre-fetching and buffering. As a result, the stream will play faster, delivering an overall better experience.

Генерация клиентских конфигураций

Теперь вы можете легко генерировать клиентские конфигурационные файлы.

Если вы выполняли действия из статьи «OpenVPN на Ubuntu 16.04: установка», то у вас уже есть клиентский сертификат и ключ client1.и client1.key. Созданный выше скрипт можно использовать для того, чтобы создать конфигурацию для этих файлов (но перед этим нужно перейти в соответствующую директорию):

$ cd ~/client-configs
$ ./make_config.sh client1

Если все было выполнено правильно, у вас должен появиться файл client1.ovpn в директории ~/client-configs/files. Проверьте:

$ ls ~/client-configs/files

Вывод на экране:

client1.ovpn

Передача конфигурации клиентским машинам
После создания клиентского конфигурационного файла необходимо его передать на соответствующее устройство (к примеру, компьютер или смартфон).

То, как вы будете передавать файл, напрямую зависит от того, какую операционную систему использует ваш компьютер, и вашего личного желания. Однако лучше все-таки использовать SFTP (протокол для безопасного копирования файлов) либо SCP на бэкенде. Таким образом файлы будут переданы по защищенному соединению.

Например, если вы хотите использовать SFTP для передачи client1.ovpn с компьютера на Linux или Mac OS, то используйте такую команду:

$ sftp sammy@openvpn_server_ip:client-configs/files/client1.ovpn ~/

Файл будет перемещен в домашнюю директорию.

Кратко о существующих протоколах

Для начала кратко пробежимся по протоколам, которые будем рассматривать в статье. 

  • OpenVPN — сбалансированный вариант. Он быстрее остальных и гораздо меньше подвержен атакам со стороны злоумышленников. Топовые VPN-сервисы базируют свои продукты на основе этого протокола.
  • L2TP/IPsec во многом похож на OpenVPN. В меру быстрый, в меру безопасный. Но это «в меру» как раз все портит. Это не значит, что его стоит бояться или он как-то серьезно подвергает опасности вашу конфиденциальность в сети. Для некритичных задач его хватит с головой. Но надо иметь в виду, что этот протокол уступает по безопасности OpenVPN. В текущей ситуации нужен как альтернатива на случай, когда более подходящий протокол недоступен.
  • IKEv2/IPsec — альтернатива вышеперечисленным протоколам, адаптированная под работу на мобильных устройствах. Ее преимущество заключается в возможности быстро переподключиться к сети после потери сигнала. Такое может происходить на нулевых этажах торговых центров, в туннелях, метро и других местах с недостаточной «проницаемостью». IKEv2 скоростной, но работает не на всех платформах и сложен в настройке.
  • SSTP разработан компанией Microsoft и работает только с ее программным обеспечением. Настроить его в сторонних операционных системах чересчур сложно, да и не все хотят иметь дело с технологическими корпорациями в таком вопросе, как VPN. Если же причастность Microsoft не смущает, и на компьютере установлена Windows, то это будет сносным выбором.
  • PPTP — еще один продукт. Устаревший протокол, который больше не используется глобально. Пригодится только за отсутствием альтернатив.
  • WireGuard — перспективная новинка, во много схожая с OpenVPN, но обгоняющая его по всем параметрам (от скорости передачи файлов до изощренности методов шифрования).
  • SoftEther — еще один современный стандарт VPN. Быстрый, отказоустойчивый, обеспечивающий хорошее шифрование.

Далее разберем каждый протокол подробнее. Ознакомимся с принципами работы, степенью защищенности, производительностью и другими аспектами VPN-технологий.

Шаг 2. Подключение установлено, как мне проверить что я на верном пути?

2.1. После установления соединения ваше устройство автоматически получит адрес из сети 172.16.0.0/16. После этого вы должны успешно пинговать адрес сервера vpnki путем выполнения команды на своем устройстве.  Если пинг не проходит, то убедитесь что новый интерфейс на вашей системе создался. Выполните команду и убедитесь, что интерфейс pppX с адресом 172.16.x.x создался.

Затем проверьте настройки межсетевого экрана на предмет пропускания трафика icmp для нового интерфейса pppX.

2.2. Пинг адреса 172.16.0.1 проходит, но не сразу.Это нормальная ситуация. В течение 10-12 секунд после установления соединения система vpnki ожидает запрос от вашего устройства на получение данных по протоколу DHCP. Такая длительность обусловлена подключением низкоскоростных каналов и поэтому мы вынуждены ждать.Если запрос DHCP не приходит, то пропускание вашего трафика начнется через 12 секунд. Если запрос DHCP получен и обработан, то трафик пойдет без задержек.

Результат этого шага — команда выполняется успешно.

Итоги: какой же VPN выбрать?

Есть огромное количество пользовательских сценариев использования VPN, и вряд ли одна и та же рекомендация будет хороша для всех. Соответственно, для разных сценариев можно выделить две группы с наиболее подходящим решением для VPN.

  • Если вы обычный пользователь;
  • VPN вам нужен для обхода всяких нелепых ограничений РКН;
  • скорость для вас имеет значение, например для файлообмена, или работы вашего приложения;

Используйте Wireguard.

  • Бизнес пользователи средней и крупной компании использующие VPN для удаленного доступа к внутренней сети;
  • бизнес пользователи, предоставляющие удаленный доступ по VPN к ИТ ресурсам, содержащим конфиденциальные данные, или коммерческую тайну;
  • все, кому нужно надежное и проверенное временем решение для VPN;

То лучше используйте OpenVPN.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий