Сравнение протоколов: pptp, l2tp, openvpn, sstp, ikev2
Содержание:
- Введение
- Поиск и устранение неполадок
- Тест подключения
- Бонус (shadowsocks)
- Домашний роутер для Билайн
- Summary
- WireGuard
- Дополнительная информация
- Шаг 7. Настройка VPN-клиента в Linux
- Control Message Attribute Value Pairs
- Для чего нужен VPN-сервер L2TP / IPsec?
- Где найти логин и пароль
- Что такое VPN-протокол?
- Настройка соединения в Windows
- Аутентификация через Active Directory
- Вход в настройки
- Как мы выбирали VPN-протокол
- Настройка Mikrotik L2TP Server. Главный офис
- SSTP
- Monitoring
Введение
Протоколы туннелирования 2-го уровня, в том числе L2TP, не предусматривают механизмы шифрования для трафика, проходящего через туннель. Шифрование данных они делегируют другим протоколам безопасности, таким как IPSec. В рассматриваемом примере конфигурации шифрование трафика L2TP для входящих подключений пользователей по коммутируемым каналам выполняется посредством IPSec.
Туннель L2TP устанавливается между концентратором доступа L2TP (LAC) и сетевым сервером L2TP (LNS). Между этими устройствами также устанавливается туннель IPSec, и весь трафик туннеля L2TP шифруется по протоколу IPSec.
Поиск и устранение неполадок
В этом разделе описывается процесс устранения неполадок конфигурации.
Команды для устранения неполадок
Некоторые команды 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 во время согласования параметров.
Тест подключения
В нашем случае мы установили VPN-соединение со смартфоном Android, в частности Huawei P30, который включает клиента L2TP / IPsec PSK. Конфигурация, которую мы должны выполнить, следующая (мы не можем установить захват, потому что операционная система определяет его как частный контент).
- Имя: мы даем VPN имя
- Тип: L2TP / IPsec PSK
- Сервер: IP- или DDNS-домен вашего VPN-сервера.
- Секрет L2TP: 1234clavel2tp; ключ, который мы помещаем в раздел L2TP, который используется всеми клиентами.
- Идентификатор IPsec: redeszone@redeszone.net
- Начальный общий ключ IPsec: 12345678; ключ, который мы помещаем для идентификатора «allusers» в разделе IPsec / Pre-Shares Key.
Нажимаем на сохранить, и подключаемся. При подключении он запросит у нас имя пользователя и пароль, эти учетные данные мы вводим в «Пользователи L2TP». После этого он без проблем подключит нас к серверу VPN, и у нас будет доступ к администрированию pfSense и любой сети.
Как вы видели, соединение было успешно установлено и никаких проблем не возникло.
Бонус (shadowsocks)
Не всегда нужен полноценный VPN, иногда просто хочется безопасно посмотреть котиков в браузере. Для Windows скачиваем https://github.com/shadowsocks/shadowsocks-windows/releases
Shadowsocks Windows (не требует прав администратора)
В браузере Firefox скачиваем расширение FoxyProxy (так же и на Android), настройка: SOCKS5/127.0.0.1/1080
foxyproxy для Firefox, для Chrome — proxy-switchyomega
Для Android https://play.google.com/store/apps/details?id=com.github.shadowsocks выбираем только прокси (тогда не будет подниматься VPN канал).
Shadowsocks AndroidShadowsocks скорость на провайдер МТС в Санкт-ПетербургSSTP VPN (2 устройства в сети) скорость на провайдер МТС в Санкт-Петербурге
P.S.
Почему Amazon? — самая низкая скорость, которая была — 10Mbps.
Почему FreeBSD? — SoftEther под него устанавливается менеджером пакетов, да и сама ОС потребляет меньше ресурсов и без того дохлого виртуального сервера.
Домашний роутер для Билайн
Beeline L02H – домашний 4G / WiFi роутер с возможностью раздачи мобильного интернета другим устройствам, подключенным к нему через Wi-Fi (компьютеры, ноутбуки, телефоны, планшеты и т.д.).
Его особенности:
- UMTS: 900 МГц, 2100 МГц;
- Поддержка систем связи LTE / FDD в диапазонах частот: 800 МГц, 1800 МГц, 2600 МГц (скорость интернета с LTE / FDD: скорость приема – до 100 Мегабит / сек, скорость передачи данных – до 50 Мегабит / сек);
Здесь необходимо сделать небольшое отступление. Не все знают, что означает umts, что находится в телефоне, какую роль играет эта технология, поэтому давайте кратко объясним: это технология связи третьего поколения, что расшифровывается как «Универсальная система мобильной связи». В некотором смысле это связующее звено между системами связи второго поколения (GSM) и системами 3G и 4G следующего поколения.
- Работоспособность роутера гарантируется только при использовании USIM-карты «Билайн».
- GSM: 900 МГц, 1800 МГц;
- Максимальное количество активных пользователей через Wi-Fi – десять;
Summary
Standards:
L2TP is a secure tunnel protocol for transporting IP traffic using PPP. L2TP encapsulates PPP in virtual lines that run over IP, Frame Relay and other protocols (that are not currently supported by MikroTik RouterOS). L2TP incorporates PPP and MPPE (Microsoft Point to Point Encryption) to make encrypted links. The purpose of this protocol is to allow the Layer 2 and PPP endpoints to reside on different devices interconnected by a packet-switched network. With L2TP, a user has a Layer 2 connection to an access concentrator — LAC (e.g., modem bank, ADSL DSLAM, etc.), and the concentrator then tunnels individual PPP frames to the Network Access Server — NAS. This allows the actual processing of PPP packets to be separated from the termination of the Layer 2 circuit. From the user’s perspective, there is no functional difference between having the L2 circuit terminate in a NAS directly or using L2TP.
It may also be useful to use L2TP just as any other tunneling protocol with or without encryption. The L2TP standard says that the most secure way to encrypt data is using L2TP over IPsec (Note that it is default mode for Microsoft L2TP client) as all L2TP control and data packets for a particular tunnel appear as homogeneous UDP/IP data packets to the IPsec system.
Multilink PPP (MP) is supported in order to provide MRRU (the ability to transmit full-sized 1500 and larger packets) and bridging over PPP links (using Bridge Control Protocol (BCP) that allows to send raw Ethernet frames over PPP links). This way it is possible to setup bridging without EoIP. The bridge should either have an administratively set MAC address or an Ethernet-like interface in it, as PPP links do not have MAC addresses.
L2TP includes PPP authentication and accounting for each L2TP connection. Full authentication and accounting of each connection may be done through a RADIUS client or locally.
MPPE 128bit RC4 encryption is supported.
L2TP traffic uses UDP protocol for both control and data packets. UDP port 1701 is used only for link establishment, further traffic is using any available UDP port (which may or may not be 1701). This means that L2TP can be used with most firewalls and routers (even with NAT) by enabling UDP traffic to be routed through the firewall or router.
WireGuard
Новое поколение VPN-протоколов. Разработчики называют его ускоренной, надежной и простой в управлении альтернативой OpenVPN и другим используемым технологиям. Какого-то конкретного мнения по поводу WireGuard пока выражено не было.
Известно, что в его основе лежит ворох технологий шифрования, бережно оберегающих каждый байт отправляемых данных. Используются Curve25519, ChaCha20, SipHash, BLAKE2 и Poly1305. Причем каждый из перечисленных типов криптографии берет на себя конкретную задачу. Допустим, Curve25519 необходим для обмена ключами, BLAKE2 занимается хэшированием информации, а Poly1305 задействуется для аутентификации.
WireGuard легковесный – он состоит всего из четырех тысяч строк кода. Поэтому разработчики при желании могут быстро его исследовать, проанализировать и даже поменять что-то. Это открытый стандарт, как и OpenVPN. Эта легковесность распространяется и на пользовательский опыт – люди охотно отмечают, что настроить WireGuard легче, чем остальные протоколы.
По результатом бенчмарков, WireGuard обгоняет лидеров рынка. Разрыв между WG и OpenVPN впечатляет. 1011 Мбит в секунду против 258 Мбит в секунду соответственно. С IPsec разница не такая большая, но она есть, и как раз в пользу WireGuard.
Дополнительная информация
Кроме того, в утилите конфигурации предусмотрена проверка, которая включает ведение журнала IPSec. Если вы не можете подключиться, и администратор сети или сотрудники службы поддержки обратились к вам с просьбой предоставить им журнал подключения, вы можете включить ведение журнала IPSec здесь. При этом журнал (Isakmp.log) создается в папке. При создании подключения также включить ведение журнала для обработки PPP в L2TP. Для этого:
- Щелкните правой кнопкой мыши папку сети dialup и нажмите кнопку Свойства.
- Щелкните вкладку Networking, а затем выберите запись файла журнала для этого окна подключения.
Файл журнала PPP является . Он расположен в папке.
Дополнительные сведения см. в Параметры microsoft L2TP/IPSec Virtual Private Network Client.
Шаг 7. Настройка VPN-клиента в Linux
Ну я был бы не я, если бы не описал настройку клиента в Linux ) Продолжим популяризировать наш Linux Mint.
Чтобы добавить новое подключение к VPN-серверу, в системном трее нужно кликнуть на иконку сетевого соединения и добавить новое подключение.
Как видим, “Из коробки” нам доступны только OpenVPN и PPTP типы VPN. Нет нашего L2TP+IPsec. Придётся доустановить некоторые недостающие пакеты:
# apt-get update
# add-apt-repository ppa:nm-l2tp/network-manager-l2tp
# apt-get install xl2tpd network-manager-l2tp network-manager-l2tp-gnome
После этого нам уже доступен новый тип VPN-подключения:
Заполняем поля аналогично клиенту Windows – в качестве шлюза – удалённый IP сервера, логин и пароль L2TP, а также обращаем внимание на две кнопки – IPsec и PPP. В первой – установим PSK для формирования IPsec, во второй – укажем наши алгоритмы шифрования (MSCHAP2 и т.д.). Ну вот! О чём я и говорил!
Ну вот! О чём я и говорил!
Теперь можно подключаться к сети:
Спасибо, что дочитали до этого момента. У меня великолепная аудитория)
Control Message Attribute Value Pairs
- Registration Procedure(s)
-
Expert Review
- Expert(s)
-
Carlos Pignataro (primary), Ignacio Goyret (secondary)
- Reference
- Note
-
To maximize extensibility while still permitting interoperability, a uniform method for encoding message types and bodies is used throughout L2TP. This encoding will be termed AVP (Attribute-Value Pair).
- Available Formats
Attribute Type | Description | Reference |
---|---|---|
Message Type AVP Also, see Message Type AVP values below |
||
1 | Result Code AVP Also, see Result Code AVP values below |
|
2 | Protocol Version AVP | |
3 | Framing Capabilities AVP Also, see Framing Field definition below |
|
4 | Bearer Capabilities AVP Also, see Bearer Field definition below |
|
5 | Tie Breaker AVP | |
6 | Firmware Revision AVP | |
7 | Host Name AVP | |
8 | Vendor Name AVP | |
9 | Assigned Tunnel ID AVP | |
10 | Receive Window Size AVP | |
11 | Challenge AVP | |
12 | Q.931 Cause Code AVP | |
13 | Response AVP | |
14 | Assigned Session ID AVP | |
15 | Call Serial Number AVP | |
16 | Minimum BPS AVP | |
17 | Maximum BPS AVP | |
18 | Bearer Type AVP Also, see Bearer Field definition below |
|
19 | Framing Type AVP Also, see Framing Field definition below |
|
20 | Reserved | |
21 | Called Number AVP | |
22 | Calling Number AVP | |
23 | Sub-Address AVP | |
24 | (Tx) Connect Speed BPS AVP | |
25 | Physical Channel ID AVP | |
26 | Initial Received LCP CONFREQ AVP | |
27 | Last Sent LCP CONFREQ AVP | |
28 | Last Received LCP CONFREQ AVP | |
29 | Proxy Authen Type AVP Also, see Proxy Authen Type AVP Values below |
|
30 | Proxy Authen Name AVP | |
31 | Proxy Authen Challenge AVP | |
32 | Proxy Authen ID AVP | |
33 | Proxy Authen Response AVP | |
34 | Call Errors AVP | |
35 | ACCM AVP | |
36 | Random Vector AVP | |
37 | Private Group ID AVP | |
38 | Rx Connect Speed AVP | |
39 | Sequencing Required AVP | |
40 | Rx Minimum BPS | |
41 | Rx Maximum BPS | |
42 | Service Category Also, see Service Category AVP Flag Fields below |
|
43 | Service Name | |
44 | Calling Sub-Address | |
45 | VPI/VCI Identifier | |
46 | PPP Disconnect Cause Code Also, see PPP Disconnect Cause Code Values below |
|
47 | CCDS AVP | |
48 | SDS AVP | |
49 | LCP Want Options | |
50 | LCP Allow Options | |
51 | LNS Last Sent LCP Confreq | |
52 | LNS Last Received LCP Confreq | |
53 | Modem On-Hold Capable AVP | |
54 | Modem On-Hold Status AVP | |
55 | PPPoE Relay AVP | |
56 | PPPoE Relay Response Capability AVP | |
57 | PPPoE Relay Forward Capability AVP | |
58 | Extended Vendor ID AVP | |
59 | Message Digest | |
60 | Router ID | |
61 | Assigned Control Connection ID | |
62 | Pseudowire Capabilities List | |
63 | Local Session ID | |
64 | Remote Session ID | |
65 | Assigned Cookie | |
66 | Remote End ID | |
67 | Application Code | |
68 | Pseudowire Type | |
69 | L2-Specific Sublayer | |
70 | Data Sequencing | |
71 | Circuit Status | |
72 | Preferred Language | |
73 | Control Message Authentication Nonce | |
74 | Tx Connect Speed | |
75 | Rx Connect Speed | |
76 | Failover Capability | |
77 | Tunnel Recovery | |
78 | Suggested Control Sequence | |
79 | Failover Session State | |
80 | Multicast Capability | |
81 | New Outgoing Sessions | |
82 | New Outgoing Sessions Acknowledgement | |
83 | Withdraw Outgoing Sessions | |
84 | Multicast Packets Priority | |
85 | Frame-Relay Header Length | |
86 | ATM Maximum Concatenated Cells AVP | |
87 | OAM Emulation Required AVP | |
88 | ATM Alarm Status AVP Also, see ATM Alarm Status AVP Values below |
|
89 | Attachment Group Identifier | |
90 | Local End Identifier | |
91 | Interface Maximum Transmission Unit | |
92 | FCS Retention | |
93 | Tunnel Switching Aggregator ID AVP | |
94 | Maximum Receive Unit (MRU) AVP | |
95 | Maximum Reassembled Receive Unit (MRRU) AVP | |
96 | VCCV Capability AVP | |
97 | Connect Speed Update AVP | |
98 | Connect Speed Update Enable AVP | |
99 | TDM Pseudowire AVP | |
100 | RTP AVP | |
101 | PW Switching Point AVP | |
102 | S-BFD Target Discriminator ID | |
103-65535 | Unassigned |
Для чего нужен VPN-сервер L2TP / IPsec?
VPN-сервер в нашем pfSense позволит нам получить удаленный доступ к различным подсетям, которые мы настроили, он также позволит нам перенаправить весь интернет-трафик на VPN-сервер для выхода в Интернет через него. Благодаря конфигурации VPN-сервера мы сможем безопасно подключаться к незащищенной сети, потому что весь трафик от источника до VPN-сервера зашифрован и аутентифицирован.
L2TP (Layer 2 Tunneling Protocol) — один из наиболее широко используемых протоколов VPN, он использует протокол PPP для подключения различных каналов, кроме того, он включает механизмы аутентификации PPP, такие как PAP и CHAP, в дополнение к поддержке использование серверов RADIUS для аутентификации клиентов. Этот тип VPN Протокол является многопротокольным и позволяет получить доступ к удаленным локальным сетям. Отрицательной стороной является то, что он не представляет надежной криптографии, поэтому использовать его небезопасно. Он разрешает аутентификацию только между конечными точками туннеля, но не для каждого из пакетов, которые проходят через него, то же самое происходит с целостностью пакетов, это не проверяется. Кроме того, L2TP не шифрует трафик от источника к месту назначения.
Учитывая все это, организация IETF приняла решение использовать криптографические протоколы IPsec в сочетании с L2TP, чтобы обеспечить функции конфиденциальности, аутентификации и целостности туннеля L2TP. По этой причине мы всегда найдем этот протокол, записанный как «L2TP / IPsec» в операционных системах, поскольку он использует оба протокола одновременно.
Как только у нас будет сводка о том, как работают оба протокола VPN, мы продолжим настройку. Имея два протокола для настройки, L2TP и IPsec, мы четко разделим конфигурацию на две части.
Где найти логин и пароль
Запрос авторизационных данных для входа в Интернет выполняется при каждом подключении через PPPoE. Обычно это автоматический процесс, при котором роутер отправляет запрос на доступ, а сервер запрашивает логин и пароль соединения PPPoE. Если данные верны, начинается новая интернет-сессия.
Восстановить учетные данные можно с помощью специальных программ. Это такие утилиты как Dialupass, Network Password Recovery, BulletsPassView и другое ПО такого типа. Они способны помочь узнать логин и пароль PPPoE, но только если последние были сохранены в памяти ноутбука или компьютера на Windows 10, 8, 7 или иных версий.
Что такое VPN-протокол?
VPN-протокол — программный фундамент, на базе которого строится любой VPN-сервис. В нем описывается формат организации подключения, обмена данными внутри частной виртуальной сети и другие аспекты работы ПО.
От выбора протокола зависит, какие задачи будут с помощью него решены, насколько эффективно они будут решаться, насколько это будет безопасно, быстро и т.п. Существует несколько технологий организации VPN, поэтому возникают некоторые разногласия при выборе соответствующих сервисов и при настройке виртуальных частных сетей.
На какие критерии оценки VPN-протоколов стоит обратить внимание
У каждого протокола свой набор характеристик, исходя из которых нужно выбирать для себя подходящий. Среди них:
- Поддерживаемые платформы — протоколы могут быть достаточно специфичны и функционировать исключительно на одной-двух операционных системах. Другие же поддерживают сразу все доступные ОС.
- Поддерживаемые сети — не все протоколы работают в идентичных сетях. Некоторые VPN-сервисы предлагают свои услуги только в конкретных странах ввиду технологических ограничений, введенных, в том числе, государственными органами.
- Скорость работы — тоже зависит от архитектуры протокола. Есть те, что быстрее передают данные на мобильных устройствах. Есть те, что показывают пиковую производительность только в масштабах больших корпоративных сетей.
- Безопасность — в протоколах по-разному реализовано шифрование и другие механизмы обеспечения безопасности данных. Поэтому, в зависимости от поставленных задач, надо выбирать технологию, наименее подверженную распространенным для нее атакам.
Теперь от общего описания форматов и характеристик перейдем к конкретным технологическим решениям и к их особенностям.
Настройка соединения в Windows
На различных версиях ОС Windows от Microsoft процесс соединения по PPPoE очень схож.
Windows 7
Руководство для Windows 7:
- Открыть «Панель управления» через меню кнопки «Пуск».
- Кликнуть на «Центр управления сетями…».
- Приступить к созданию и настройке нового подключения или сети.
- Кликнуть «Подключение к Интернету».
- Указать «Высокоскоростное (с PPPoE)».
- Ввести данные для входа.
- Кликнуть «Подключить».
На экране высветится уведомление о созданном соединении.
Windows 10
Инструкция:
- Через поисковую строку найти «Панель управления».
- Справа выбрать «Мелкие значки» и кликнуть на «Центр управления сетями…».
- Выбрать «Создание и настройка нового подключения или сети».
- Указать «Подключение к Интернету».
- Нажать «Высокоскоростное (с PPPoE)».
- Ввести имя пользователя, пароль, название.
- Кликнуть «Подключить».
Появится уведомление о созданном соединении.
Аутентификация через Active Directory
Проверка подлинности через активный каталог от Microsoft в xl2tp выполняется с помощью winbind и samba.
Подготовка сервера
Для корректной работы сервера с Active Directory необходимо задать ему имя (hostname), которое будет доступно в DNS. Также на сервере должно быть задано точное время.
1. Необходимо убедиться, что сервер доступен по своему доменному имени. Если серверу так и не было задано вменяемого имени, вводим команду:
hostnamectl set-hostname vpn.dmosk.local
* где vpn — имя сервера; dmosk.local — домен.
После добавляем в DNS наш сервер VPN. Ждем минут 15 (если у нас используется доменная инфраструктура с несколькими сайтами, иначе ждать не нужно).
2. Задаем временную зону:
\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
* в данном примере мы задаем зону по московскому времени.
Устанавливаем утилиту для синхронизации времени, разрешаем запуск демона и стартуем его.
yum install chrony
systemctl enable chronyd
systemctl restart chronyd
Присоединяем сервер к домену
Устанавливаем необходимые компоненты:
dnf install samba-client samba-winbind samba-winbind-clients krb5-workstation
Открываем конфигурационный файл samba:
vi /etc/samba/smb.conf
В разделе редактируем следующие опции:
workgroup = DMOSK
security = ads
* где DMOSK — NETBIOS имя домена; ads — указывает, что для samba будет использоваться модель безопасности LDAP Active Directory.
Также в добавим следующие строки:
kerberos method = secrets and keytab
realm = DMOSK.LOCAL
winbind enum groups = Yes
winbind enum users = Yes
idmap config * : rangesize = 1000000
idmap config * : range = 1000000-19999999
idmap config * : backend = autorid
* где:
- kerberos method — метод проверки kerberos. В данном примере сначала используется secretts.tdb, а затем системная таблица ключей.
- realm — сервер Active Directory. В нашем примере прописан домен, так как по нему можно обратиться к любому из серверов AD.
- winbind enum groups — задает пределы перечисления групп через setgrent(), getgrent() и endgrent().
- winbind enum users — задает пределы перечисления пользователей через setpwent(), getpwent()и endpwent().
- idmap config * : rangesize — определяет количество доступных uids и gids в каждом доменном диапазоне.
- idmap config * : range — определяет доступные совпадающие диапазоны uid и gid, для которых серверная часть является авторитетной.
- idmap config * : backend — задает idmap плагин для использования в качестве SID/uid/gid подсистемы
Вводим сервер в домен:
net ads join -U Administrator@dmosk.local
* где Administrator — учетная запись пользователя AD с правами на ввод компьютеров в домен; dmosk.local — наш домен.
Мы должны увидеть, примерно, следующее:
Using short domain name — DMOSK
Joined ‘SAMBA’ to dns domain ‘dmosk.local’
Разрешаем автозапуск winbind и стартуем его:
systemctl enable winbind —now
Выбираем профиль для аутентификации:
authselect select winbind —force
Проверяем, что наш сервер может получить список пользователей Active Directory:
wbinfo -u
… и групп:
wbinfo -g
Если мы увидели список пользователей и групп, то присоединение сервера к домену завершено.
После проверяем, что аутентификация в AD через модуль ntlm_auth работает корректно:
ntlm_auth —request-nt-key —domain=DMOSK.LOCAL —username=Administrator
* где DMOSK.LOCAL — наш домен; Administrator — пользователь, под которым будем логиниться для проверки работы модуля.
Настройка PPP для аутентификации через AD
Открываем конфигурационный файл options.xl2tpd:
vi /etc/ppp/options.xl2tpd
Добавляем в самый низ:
…
plugin winbind.so
ntlm_auth-helper ‘/usr/bin/ntlm_auth —helper-protocol=ntlm-server-1 —require-membership-of=»DMOSK\\VPN Users»‘
* где VPN Users — группа в AD, пользователи который будут иметь возможность использовать VPN.
Перезапускаем xl2tpd:
systemctl restart xl2tpd
Проверка
В Active Directory добавляем группу VPN Users (если еще нет). Группа должна быть локальная в домене. В группу добавим пользователей, которым хотим дать доступ для VPN-подключения.
В настройках подключения к серверу меняем пользователя и пароль на доменные.
Вход в настройки
Вход в роутер Билайн осуществляется по следующему алгоритму:
- Откройте ваш браузер. Необязательно иметь активное подключение к Интернету, но маршрутизатор должен быть подключен к компьютеру.
- В адресной строке браузера введите 192.168.1.1 и нажмите Enter. Это стандартный адрес для входа в админку большинства роутеров. Другие возможные адреса: my.keenetic.net, tplinkwifi.net, 192.168.0.1 (см. Наклейку внизу роутера).
-
Вам будет предложено ввести имя пользователя и пароль. По умолчанию: admin и 1234 или даже admin. Провайдер может их изменить. В этом случае поищите текущее имя пользователя и пароль в соглашении или наклейке.
- На некоторых роутерах система попросит сбросить стандартный пароль и установить новый. Найдите пароль и повторите его в специальном окне. Далее вам будет предоставлен логин в админ-панель.Для следующего входа вам нужно будет использовать созданный вами пароль.
Как мы выбирали VPN-протокол
VPN-протокол должен без проблем поддерживаться на мобильных устройствах без установки дополнительного программного обеспечения.
Мы выбрали самые известные реализации протоколов и отсеяли не подходящие по условиям исходной задачи.
А условия всего два, я напомню:
- Стабильное и надёжное подключение.
- Без установки стороннего программного обеспечения на устройство клиента.
Пробегусь по протоколам и кратко расскажу о них + расскажу причины, почему тот или иной протокол нам не подошёл.
PPTP (Point-To-Point Tunneling Protocol)
Один из самых старейших VPN протоколов, разработанный компанией Microsoft. Из-за солидного возраста протокол поддерживается большинством операционных систем, но в то же время не может обеспечить стабильное и надёжное соединение. Компания Microsoft советует использовать L2TP или SSTP на замену PPTP.
Этот протокол прост в настройке и не требователен к ресурсам сервера, но проблемы с безопасностью заставляют отказаться от его использования в наших целях.
L2TP/IPSec
Протокол во многом схож с PPTP, разрабатывался и принимался практически одновременно с ним. Этот протокол более требователен к вычислительным мощностям, часто используется интернет-провайдерами, т.к. считается более эффективным для построения виртуальных сетей.
L2TP/IPsec позволяет обеспечить высокую безопасность данных, поддерживается всеми современными операционными системами. Есть одно но: он инкапсулирует передаваемые данные дважды, что делает его менее эффективным и более медленным, чем другие VPN-протоколы.
От этого протокола пришлось отказаться т.к. он более требователен к вычислительным мощностям сервера, а значит велик риск получить стабильное, но медленное соединение, что может огорчить пользователей.
IKEv2/IPSec
Был разработан Microsoft совместно с Cisco, существуют реализации протокола с открытым исходным кодом (например, OpenIKEv2, Openswan и strongSwan).
Поддерживает Mobility and Multi-homing Protocol (MOBIKE), что обеспечивает устойчивость к смене сетей.
IKEv2 очень хорошо подходит для использования на мобильных устройствах, которые чаще всего склонны к переключению между WiFi и мобильным интернетом.
IKEv2 имеет нативную поддержку в большинстве операционных систем.
Вот этот вариант нам уже больше подходит, т.к. поддержка Mobility and Multi-homing Protocol будет очень большим плюсом при использовании на мобильных устройствах.
OpenVPN
Разработан компанией OpenVPN Technologies.
Протокол с открытым исходным кодом, который прошёл все возможные проверки безопасности.
Протокол OpenVPN стабилен и может обеспечить хорошую скорость передачи данных. Ещё одно преимущество протокола в том, что он использует для работы стандартные протоколы TCP и UPD, а также может работать на любом из портов. Это усложняет блокировку VPN сервиса провайдерами.
Для подключения к сети с использованием OpenVPN, необходимо устанавливать дополнительное программное обеспечение, что иногда бывает затруднительно или невозможно.
Этот вариант нам бы тоже подошёл, но, к сожалению, из-за необходимости установки клиента, придётся отказаться от этого протокола.
Wireguard
На данный момент это самый свежий протокол VPN. Его часто сравнивают с IPSec и OpenVPN, и называют его их заменой, но он всё ещё слишком сырой, чтобы использовать его в больших масштабах.
Лучшие результаты этот протокол показывает на Unix системах, т.к. он реализован в виде модуля ядра Unix. Но эта высокая пропускная способность достигается за счёт замедления сетевой активности других приложений.
Чтобы настроить на своём мобильном устройстве данный протокол, необходимо будет установить клиент, что тоже не всегда возможно в силу обстоятельств.
И снова необходимость установки дополнительного клиента на устройство отменяет все шансы на использование этого протокола в наших целях.
В итоге мы решили остановится на IKEv2/IPSeс, по следующим причинам:
- Поддержка Mobility and Multi-homing Protocol (MOBIKE).
- Нативная поддержка в большинстве операционных систем.
- Обеспечивает высокую скорость соединения.
- Не требователен к ресурсам сервера.
Перейдём от теории к практике.
Настройка 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.
Мы указали:
- произвольное имя для профиля(Name);
- присвоили IP для L2TP-Сервера (Local Address);
- IP-Адрес L2TP-Клиента (Remote Address).
Настраиваем Secret
На вкладке «Secrets» мы настраиваем имя, пароль и профиль подключения для L2TP-Клиента. Для этого выполним действия:
- Secrets => “+”;
- Name: office;
- Password: qwas1234;
- Profile: из выпадающего списка выбираем ранее созданный профиль (l2tp-site-to-site).
Включаем 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 закончена, перейдем к настройке клиентской части (филиала).
SSTP
Secure Socket Tunneling Protocol — модифицированная версия PPTP. Эдакая надстройка старого протокола, которая должна была стать не только духовным продолжением ранее существовавшей технологии, но и исправлением всех ошибок, допущенных в «предыдущей версии».
Сколько-то заметной популярности протокол не сыскал. Доля на рынке VPN у SSTP такая же скромная, как и у предыдущей итерации протокола Microsoft. Но у него есть преимущество в виде отсутствия критических проблем с безопасностью. Таких зияющих дыр в нем нет и перехватить трафик гораздо сложнее.
Помогает SSL-шифрование. При подключении к SSTP вся информация отправляется через TCP-порт 443. Такой подход делает его полезным при необходимости создавать безопасные подключения со странами, где большая часть VPN-сервисов заблокирована или запрещена законом.
Многочисленные тестирования показали, что SSTP может передавать данные на высокой скорости (если канал свободен) и быстро восстанавливать соединение, если то неожиданно оборвалось. По этим показателям протокол стремится к OpenVPN, но не дотягивает ввиду некоторых ограничений технологии.
Secure Socket Tunneling Protocol доступен на операционных системах Windows, Linux и BSD, но поддерживается ограниченным количеством сервисов. Их тяжело найти, а еще они зачастую обходятся дороже альтернатив. Отсюда и скромная аудитория SSTP, которая и не планирует расти в ближайшем будущем из-за продвинутости конкурентов.
Monitoring
Monitor command can be used to monitor status of the tunnel on both client and server.
/interface l2tp-client> monitor 0 status: "connected" uptime: 7h24m18s idle-time: 6h21m4s encoding: "MPPE128 stateless" mtu: 1450 mru: 1450
Read-only properties
Property | Description |
---|---|
status () | Current L2TP status. Value other than «connected» indicates that there are some problems establishing tunnel.
|
uptime (time) | Elapsed time since tunnel was established. |
idle-time (time) | Elapsed time since last activity on the tunnel. |
encoding () | Used encryption method |
local-address (IP Address) | IP Address of local interface |
remote-address (IP Address) | IP Address of remote interface |
mru (integer) | Negotiated and used MRU |