Протоколы VPN: какой протокол лучше и в чем состоят различия между ними

При работе с облачными сервисами важна не только скорость обработки и передачи данных — на первое место выдвигается гарантированный уровень безопасности. Данные, хранящиеся на внешнем ресурсе, ни в коем случае не должны попасть в чужие руки. C другой стороны, постоянно появляются сообщения о попытках государств что-нибудь да заблокировать. Наверное, поэтому в последнее время вырос интерес к VPN-решениям, и наряду с уже традиционными IPsec/XFRM и OpenVPN в Linux стали активно развиваться еще несколько проектов. Сегодня тебя ждут четыре интересных экземпляра: SoftEther VPN, WireGuard, FreeLAN и GoVPN.

SoftEther VPN

SoftEther VPN — академический проект японского Цукубского университета (University of Tsukuba), распространяемый под лицензией GPLv2. Главной его особенностью является поддержка нескольких VPN-протоколов, совместимых с оригинальными клиентами. Это позволяет вместо парка серверов из проприетарных и open source решений использовать для подключения клиентов, работающих под управлением разных ОС, одно приложение. И просто выбирать нужный протокол в зависимости от конкретной ситуации. Поддерживаются: SSL-VPN (HTTPS), IPsec, L2TP, MS-SSTP, L2TPv3, EtherIP и OpenVPN. SoftEther VPN работает в режимах remote-access и site-to-site, на уровнях L2 (Ethernet-bridging) и L3 (IP). В случае замены OpenVPN мы получаем более простую конфигурацию. Есть генератор ovpn-файлов для быстрого подключения VPN-клиента. Замена SSTP VPN позволяет отказаться от использования серверов на базе Win2k8/2012, требующих лицензии. Собственный протокол обеспечивает прохождение Ethernet поверх HTTPS (отсюда и название проекта — Software Ethernet), характеризуется хорошей пропускной способностью и низкой латентностью. Его использование дает возможность прозрачно соединить несколько Ethernet-сетей в одну, то есть отпадает необходимость в дополнительных решениях Ethernet-over-IP.

И главное — он совместим с NAT и работает через стандартный 443-й порт, который обычно не блокируется брандмауэрами провайдеров. Эта возможность позволяет скрыть вообще использование VPN: со стороны трафик выглядит как обычный и не обнаруживается технологиями Deep Packet Inspection. Собственно, поэтому он и стал очень популярен в Китае, где его используют для обхода Великого китайского файрвола. При этом на стороне клиента реализован виртуальный сетевой адаптер Ethernet, а на сервере — виртуальный коммутатор. Большой плюс — наличие NAT Traversal, включенной по умолчанию, то есть не нужно просить админа открыть доступ к VPN-серверу, находящемуся во внутренней сети. Но и это еще не все. В сетях с ограниченным доступом, у которых блокируются все TCP- и UDP-пакеты (например, публичные Wi-Fi), для создания VPN можно использовать протоколы ICMP и DNS, обычно не блокируемые брандмауэром. Поддерживается Dynamic DNS, позволяющий получить доступ при динамически меняющемся IP-адресе. Для этого реализован сервис VPN Gate, называемый VPN Azure Cloud Service, — к нему можно организовать соединение из внутренней сети и затем при необходимости свободно попадать внутрь сети. Клиентская часть содержит специальный плагин VPN Gate, позволяющий отслеживать смену IP и быстро подключаться к VPN Gate.

Обеспечивается высокая производительность и скорость соединения 1 Гбайт/с без существенных ограничений по объемам ОЗУ и минимальной нагрузке на процессор. Поэтому требования к серверной части очень невысоки. По тестам SoftEther VPN обходит на том же оборудовании оригинальные решения. Поддерживается шифрование AES-256 и RSA-4096, IPv4/IPv6, журналирование трафика и событий. Аутентификация пользователей локальная, RADIUS и домен Windows.

Администрирование учетных записей и параметры безопасности могут быть настроены удаленно с помощью графического интерфейса Server Manager (локализация только английский, японский и китайский), который устанавливается на Win- или macOS-компьютере администратора или при помощи утилиты командной строки vpncmd. Возможна установка на Windows, Linux, macOS, FreeBSD и Solaris. Доступен исходный код и архив со скомпилированным приложением. Для установки потребуется выбрать ОС, платформу и компонент (сервер, клиент, bridge…). Официально поддерживаются Linux-ядра 2.4/2.6/3.x, но без проблем работает и в современных дистрибутивах с ядром 4.х. В Linux достаточно распаковать архив и запустить файл .install.sh, после чего раза три принять условия лицензии и по окончании запустить сервер:

Далее, отвечая на вопросы vpncmd (или при помощи Server Manager), настраиваем параметры подключения.

1475846700_a098_1.jpg
Управлять SoftEther VPN можно при помощи графического интерфейса

Другие статьи в выпуске:xakep-213-cover-1-210x280.jpg

Xakep #213. FUCK UAC

В этой статье мы покажем, как сделать настройку L2TP Server с IPSec на MikroTik. Постараемся детально описать все нюансы и тонкости конфигурирования.

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

Настройка L2TP MikroTik для многих может оказаться не такой уж и простой задачей. Давайте разберемся на практике, так ли это сложно?

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Протокол L2TP не предоставляет механизмов шифрования, поэтому рассмотрим связку L2TP IPSec для подключения удаленных устройств к корпоративной сети. Узнаем как выполнить настройку туннеля L2TP IPSec между MikroTik, что позволит объединить офисы по данной технологии.

L2TP — это туннельный протокол служащий для организации виртуальных частных сетей, объединивший в себе лучшие функции протоколов PPTP (Microsoft) и L2F (Cisco).

IPSec – это набор протоколов служащий для шифрования, аутентификации и обеспечения защиты при отправке IP-пакетов. Основное применение нашел при организации VPN-соединений.

Содержание

Mikrotik. Настройка L2TP Server

Рассмотрим детальную настройку двух видов туннелей L2TP + IPSec:

  • Client-to-site – туннельное соединение, при котором конкретное устройство (ноутбук, домашний ПК) подключается к маршрутизатору. Примером может служить ситуация, когда сотрудник компании из дома подключается к сети организации и получает доступ к сетевым ресурсам;
  • Site-to-Site – туннельное соединение, между роутерами Mikrotik.

Настройка туннеля L2TP + IPSec на Mikrotik (site-to-site). Объединяем два офиса

Попробуем объединить два офиса фирмы в одну виртуальную частную сеть (VPN) используя туннельный протокол L2TP в связке с IPSec на оборудовании Mikrotik.

Схема подключения:

Из схемы мы видим, что Mikrotik в главном офисе (GW1), будет настроен на роль L2TP Server + IPSec, со следующими настройками:

  • Внешний IP (WAN): 111.111.111.111;
  • IP-адрес VPN Server: 192.168.77.1;
  • Адрес в LAN сети: 192.168.13.254.

MIkrotik в филиале (GW2) будет являться VPN-клиентом с настройками:

  • Внешний IP (WAN): 222.222.222.222;
  • IP-адрес VPN Client: 192.168.77.10;
  • Адрес в LAN сети: 192.168.12.254.

Приступаем к настройке.

Настройка Mikrotik L2TP Server. Главный офис

Создаем профиль подключения

У Mikrotik в меню PPP есть два профиля по умолчанию, которые используются для PPP соединений. Рекомендуется не изменять профили по умолчанию, а создать и использовать под свою задачу новый.

Создадим профиль для подключения, в котором укажем имя для соединения, назначим статические IP-адреса для L2TP сервера и клиента. Отроем Winbox, перейдя:

  • PPP => Profiles => “+”.

В окне New PPP Profiles, открыв, вкладку “General” укажем информацию:

  • Name: l2tp-site-to-site;
  • Local Address: 192.168.77.1;
  • Remote Address: 192.168.77.10.

Рекомендуем для туннеля вида Site-to-Site назначить статические IP.

Мы указали:

  • произвольное имя для профиля(Name);
  • присвоили IP для L2TP-Сервера (Local Address);
  • IP-Адрес L2TP-Клиента (Remote Address).

Настраиваем Secret

На вкладке «Secrets» мы настраиваем имя, пароль и профиль подключения для L2TP-Клиента. Для этого выполним действия:

  • Secrets => “+”;
  • Name: office;
  • Password: qwas1234;
  • Profile: из выпадающего списка выбираем ранее созданный профиль (l2tp-site-to-site).

Рекомендуем придумывать сложные пароли. Минимум 12 символов разного регистра с использованием спец. символов.

Включаем L2TP Server и IPSec

Следующим шагом включим L2TP Server на Mikrotik указав профиль, метод аутентификации и ключ шифрования для IPSec. Выберем пункт меню Interface, настроим как показано на рисунке ниже:

Не забываем придумывать сложные пароли.

Создаем интерфейс

Создадим статический интерфейс L2TP Server Binding. Это позволит избежать проблемы с маршрутизацией между сетями, которые могут возникнуть при разрыве соединения.

Заполним открывшееся окно New interface. Вкладка «General»:

Где:

  • Name – это произвольное имя интерфейса;
  • User – имя пользователя, которое мы назначили на вкладке Secrets.

Настройка firewall

Добавим правила в наш файрвол, тем самым разрешая трафик для L2TP, два правила для IPSec и протокол Ipsec-esp:

  • IP => Firewall => Filter Rules => “+”.

Добавим разрешающее правило для L2TP, который работает на 1701(UDP) порту:

После нажмем правой кнопкой мыши на созданное правило и добавим комментарий, нажав строку Comment из меню:

Добавим правило для UDP портов 4500, 500:

Добавим комментарий для этого правила, как показано выше.

Разрешим протокол IPsec-esp:

Очень важен порядок расположения правил. Ваш firewall после настроек должен выглядеть примерно следующим образом:

Для более глубокого понимания работы брандмауэра рекомендуем ознакомиться со статьей MikroTik настройка firewall.

На этом настройка L2TP Server Mikrotik закончена, перейдем к настройке клиентской части (филиала).

Настройка филиала (L2TP Client)

Выполним настройку L2TP клиента. Для этого необходимо на роутере Mikrotik добавить интерфейс с настройками подключения к главному филиалу указав его IP-адрес, идентичные значения IPSec и аутентификации.

Создадим свой профиль для подключения:

  • PPP => Profiles => “+”.

На вкладке «General» укажем имя профиля:

Далее откроем вкладку «Protocols», установим обязательное шифрование:

  • Use Encryption: Yes;
  • OK.

Добавляем L2TP Client:

  • Interface => “+”;
  • L2TP Client.

Вкладка «General»:

  • Укажем имя интерфейса.

Вкладка «Dial Out»:

  • Connect To – указываем IP-адрес главного филиала (WAN);
  • User – имя пользователя, созданное в разделе Secrets;
  • Password – пароль учетной записи;
  • Profile – профиль подключения созданный в предыдущем шаге;
  • Устанавливаем галочку на пункте Use IPSec, активируя набор протоколов шифрования;
  • IPsec Secret – вводим ключ шифрования IPSec как на сервере;
  • В разделе Allow оставляем метод аутентификации mschap2.

Ждем некоторое время. Если мы все сделали правильно, то увидим букву “R” слева от имени подключения:

Статус туннеля можем посмотреть, зайдя в настройки интерфейса:

Здесь мы видим дату и время, когда туннель поднялся (Last Link Up Time), количество разрывов соединения (Link Downs), время жизни соединения (Uptime), метод шифрования (Encoding) и другие параметры.

Осталось настроить маршрутизацию между подсетями.

Настройка маршрутизации межу офисами

Пропишем маршруты на обоих роутерах Mikrotik. Так подсети увидят друг друга.

Для начала зайдем на роутер главного офиса (GW1), выполним следующие действия:

  • IP => Routes => “+”.

Укажем удаленную подсеть и шлюз, который будет обрабатывать запросы:

Где:

  • Dst. Address – Адрес удаленной подсети (филиал);
  • Gateway – шлюз (созданный интерфейс в предыдущем шаге), который будет обрабатывать запросы с сети филиала.

Затем зайдем на Mikrotik филиала (GW2), добавим маршрут:

  • IP => Routes => “+”.

Укажем подсеть главного офиса и назначим Gateway:

Где:

  • Dst. Address – адрес удаленной подсети (главный офис);
  • Gateway – шлюз (созданный интерфейс), который будет обрабатывать запросы с сети главного офиса.

Теперь филиалы видят друг друга. На этом настройка L2TP + IPSec между роутерами Mikrotik (Site-to-site), закончена.

Настройка L2TP Server + IPSec на Mikrotik (client-to-site)

Рассмотрим вариант подключения к L2TP Server удаленных сотрудников (client-to-site). На практике данный способ применяется, когда работник компании уехал в командировку и ему надо иметь доступ к внутренним ресурсам локальной сети фирмы. Таким образом, сотрудник со своего ноутбука устанавливает VPN соединение по которому получает доступ к локальным ресурсам сети.

Схема:

Создаем пул адресов

Первым шагом назначим пул адресов, которые побудут получать клиенты, подключаемые по VPN:

  • IP => Pool => “+”.

В окне “New IP Pool” укажем название пула и диапазон адресов:

Профиль подключения

Дальше создадим свой профиль для L2TP соединений:

  • PPP => Profiles => “+”.

Выполним настройку профиля следующим образом:

Где:

  • Name – произвольное имя профиля;
  • Local Address – назначим адрес L2TP Серверу;
  • Pool-адресов, из которого будут назначаться IP подключаемым пользователям (Remote Address);
  • Change TCP MSS: yes –изменять максимально возможный размер сегмента TCP. Текущая настройка немного повысит устойчивость соединения.
  • Use UpnP: no – отключим использование службы UPnP.

Вкладка “Protocols”:

  • Use MPLS: no – отключим многопротокольную коммутацию по меткам;
  • Требовать шифрование.

На вкладке “Limits” ограничим подключение единственным соединением:

Создание пользователя

На вкладке “Secrets” укажем настройки имени пользователя, пароль и профиль для подключения:

Где:

  • Name – произвольное имя пользователя. Желательно создавать интуитивно понятные имена;
  • Password – пароль пользователя. Желательно использовать сложные пароли;
  • Profiles – ранее созданный профиль для подключения.

Включаем L2TP Server

Осталось активировать L2TP Server на Mikrotik, выбрать метод аутентификации, задать профиль по умолчанию, включить IPSec и установить для него ключ шифрования:

  • Interface => L2TP Server.
  • Поставим галочку у пункта “Enabled”;
  • Default Profile – укажем ранее созданный профиль, который будет использоваться по умолчанию для подключений.
  • Оставим метод аутентификации mschap2;
  •  Use IPsec: yes – включаем использование IPSec;
  • IPsec Secret – придумаем и установим ключ шифрования для IPSec.
  • OK.

Настройка подключения на стороне клиента

На компьютере или ноутбуке сотрудника настроим VPN-соединение до L2TP Сервера. Приведу пример, как это можно сделать на ОС Windows 10.

Откроем “Центр управления сетями…”, затем создадим подключение, как показано на рисунке ниже:

Следующим шагом выберем вариант подключения:

Выполним подключение через Интернет с помощью VPN:

Следующим шагом введем внешний адрес (WAN) роутера Mikrotik и произвольное имя для соединения:

В нашем примере маршрутизатору Mikrotik назначен внешний IP 111.111.111.111, у вас это будет свой адрес.

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

Откроем свойства созданного соединения:

Перейдем на вкладку “Безопасность”, выполнив настройку как показано на рисунке ниже:

Откроем дополнительные параметры (5 шаг на рисунке) и укажем ключ IPSec, который мы указали ранее в настройках L2TP Server, параметром IPsec Secret:

Далее откроем вкладку “Сеть”, уберем галочку с протокола TCP/IPv6 и откроем свойства протокола TCP/IPv4:

Нажмем кнопку “Дополнительно” и запретим использовать основной шлюз в удаленной сети, сняв галочку с соответствующего пункта:

Важно! Игнорируя текущий пункт настройки, после установки VPN соединение пропадет интернет.

Подключаем созданное VPN-соединение:

Настройка маршрутизации L2TP-клиента

Подключение установилось. Следующим шагом укажем постоянный статический маршрут прописав шлюз для удаленной подсети.

Откроем командную строку с правами администратора и выполним команду:

route add 192.168.13.0 mask 255.255.255.0 10.10.10.1 if 49 /p

Где:

  • 192.168.13.0 – локальная подсеть организации;
  • 255.255.255.0 – маска этой подсети;
  • 10.10.10.1 – шлюз (адрес устройства Mikrotik, который мы задавали в настройках профиля);
  • 49 – номер созданного VPN интерфейса (можно узнать командой route print);
  • /p – параметр, указывающий на то, что сделать маршрут постоянным. Иначе после перезагрузки данный маршрут удалится.

Пример, как можно посмотреть номер интерфейса:

На этом настройка L2TP Server + IPSec на Mikrotik закончена. Надеюсь, данная статья была для вас полезной.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

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

Если вы используете несколько устройств в домашней Wi-Fi сети или во внутренней сети организации, чтобы не устанавливать и не настраивать VPN на каждом устройстве, целесообразнее настроить VPN подключение на роутере.

Для использования VPN на роутере вам необходимо:

  • выбрать надежного поставщика VPN;
  • убедиться, что роутер поддерживает VPN подключение;
  • настроить VPN.

Выбор надежного поставщика VPN

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

Определяем, поддерживает ли роутер VPN подключение

Определите, поддерживает ли роутер прошивку DD-WRT. Это прошивка, доступная бесплатно для множества моделей роутеров. Список моделей можно посмотреть на официальном сайте DD-WRT. Если на вашем роутере не установлена DD-WRT, но вы нашли свое устройство в списке поддерживаемых, можете установить эту прошивку самостоятельно. Загрузите версию DD-WRT для своей модели роутера и следуйте инструкциям.

Мы не несем ответственность, за возможные негативные последствия. Ошибки при прошивке роутера могут навсегда повредить его. Но мы поможем минимизировать их риск:

удостоверьтесь, что загруженная прошивка подходит для вашей модели роутера; включите шнур питания в розетку и соедините роутер сетевым кабелем с компьютером;

Cбросьте настройки роутера к заводским. Все просто. Для любой модели подойдет процедура 30/30/30:*

нажмите и удерживайте кнопку RESET на задней части устройства 30 секунд не отпуская кнопку, отключите роутер из розетки и держите RESET еще в течение 30 секунд, включите роутер и зажмите кнопку RESET на 30 секунд.

Настройка ВПН на роутере

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

Произведите базовые настройки для подключения к сети в соответствии с настройками вашего интернет-провайдера во вкладке Setup – Basic Setup.

Осталось настроить OpenVPN Client в соответствии с настройками, которые вы получили от поставщика VPN. Если вы выбрали whoer.net, то архив с настройками будет вложен в письмо, которое вы получили по электронной почте после оплаты.

vpn-na-routere-1.jpg

Разархивируйте его и откройте файл с помощью текстового редактора, удобнее всего нам будет работать с WordPad. Щелкните правой кнопкой мыши по файлу настроек с расширением .ovpn и выберите Открыть с помощью. Если вы не видите WordPad, нажмите Выбрать другое приложение. Если в списке снова нет WordPad, жмите ссылку Еще приложения. Находим в списке WordPad и открываем файл.

Конфигурационный файл выглядит так. Все четко структурировано, и скопировать необходимые настройки в нужные поля не составит труда.

vpn-na-routere-5.jpg

Откройте вкладку Services и выберите VPN. Включите OpenVPN Client отметив Enable.

Вы увидите поля, соответствующие данным в конфигурационном файле (.ovpn). Вам нужно будет скопировать IP-адрес сервера VPN и номер порта в поля Server address и Port. В нашем файле 2 строчки, выбираем одну и копируем из нее данные. IP-адрес сервера 95.211.185.9. Номер порта в данном случае 443.

Скопируйте ключ аутентификации TLS (между тегами и ), сертификат CA (между тегами и ), сертификат открытого клиента (между тегами и ), ключ (между и ) в каждое из соответствующих полей.

В поле «Additional Config» скопируйте из файла

vpn-na-routere-8.jpg

Нажмите кнопку «Save», а затем «Apply Settings», чтобы применить настройки.

Для проверки статуса VPN-соединения откройте Status – OpenVPN. В разделе «State» вы увидите сообщение вида: Client: CONNECTED SUCCESS. Это означает, что VPN соединение установлено.

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

Хотим обратить ваше внимание, что скорость соединения через VPN ниже, чем через открытую сеть. Это связано с тем, что при VPN соединении увеличивается количество узлов на пути к удаленному серверу. Подключение будет осуществляться таким образом: ваше устройство – VPN сервер – Сервер на котором расположен сайт. Таким образом, сайты будут открываться медленнее, насколько зависит от того какой VPN сервис вы выбрали. Есть хорошие VPN серверы, быстрые и стабильные, например как у whoer.net. Используя такие серверы, вы даже не заметите замедления.

У вас остались какие-то вопросы? Задавайте их в комментариях.

Используемые источники:

  • https://xakep.ru/2016/10/07/vpn-review/
  • https://smartadm.ru/mikrotik-l2tp-server-ipsec/
  • https://whoer.net/blog/ru/nastrojka-vpn-na-routere/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации