Настройка openvpn server в микротик
В настройке openvpn сервера на mikrotik нет ничего сложного, кроме нюанса с сертификатами. Тому, кто с ними никогда не работал, может показаться все слишком замороченным. К тому же в самом микротике нет никаких средств для создания сертификатов сервера и клиента. Необходимо использовать сторонние утилиты.
Выполняем установку от имени администратора и указываем в процессе компонент под названием EasyRSA 2 Certificate Management Scripts.
Идем в директорию C:\Program Files\OpenVPN. Переносим оттуда папку easy-rsa куда-нибудь в другое место, чтобы не приходилось постоянно спотыкаться об UAC, который не даст спокойно работать в Program files. Я перенес в D:\tmp\easy-rsa. Переименовываем файл vars.bat.sample в vars.bat. Открываем его на редактирование и приводим примерно к следующему виду.
Для тех, кто не понял, это просто переменные, которые я указал под свои нужды. Там писать можно все, что угодно, не принципиально для нашей задачи. Можно вообще ничего не менять, а оставить как есть. Создаем в директории папку keys. Далее запускаем командную строку от администратора и перемещаемся в указанную директорию D:\tmp\easy-rsa.
Далее в командной строке пишем vars и жмем enter. Этим мы загрузим переменные из файла vars.bat, потом вводим clean-all. Дальше генерируем Root CA командой — build-ca.
Отвечаем на задаваемые вопросы и завершаем создание корневого сертификата. Он появится в папке D:\tmp\easy-rsa\keys. Дальше создаем сертификат openvpn сервера командой — build-key-server имя_сервера.
Теперь сгенерируем сертификат для клиента. У меня только один клиент в виде удаленного микротика. Вы создаете ровно столько, сколько вам нужно. Используем команду build-key имя_сертификата.
С созданием сертификатов закончили. Они у нас все лежат в директории keys. На микротик, который будет выступать в качестве openvpn сервера, нужно передать файлы:
- ca.crt
- ovpnserver.crt
- ovpnserver.key
Импортируем сертификаты из добавленных файлов. Идем в System -> Certificates и импортируем сначала ca.crt, потом ovpnserver.crt и ovpnserver.key.
Должно получиться примерно так. Теперь приступаем к настройке openvpn сервера в mikrotik. Создадим для него отдельный профиль в PPP -> Profiles.
Все настройки дефолтные. В качестве локального и удаленного адреса использую Ip Pool, который создал в самом начале настройки l2tp. Добавим удаленного пользователя для openvpn в PPP ->Secrets.
Идем в раздел PPP и жмем OVPN Server. Указываем настройки и загруженный ca сертификат.
Далее добавляем по аналогии с остальными vpn серверами OVPN Server Binding и статические маршруты.
На этом настройка openvpn server в микротик завершена. По дефолту будет использоваться протокол шифрования BF-128-CBC. Его можно поменять в свойствах клиента, а список всех поддерживаемых шифров в свойствах vpn сервера.
Для работы указанной настройки openvpn сервера необходимо открыть входящий tcp порт 1194 на фаерволе. Теперь настроим openvpn клиент и протестируем скорость соединения через vpn на основе openvpn.
openvpn client
Для настройки openvpn client на mikrotik, туда нужна передать сертификаты, сгенерированные на предыдущем шаге. Конкретно вот эти файлы:
- m-remote.crt
- m-remote.key
Импортируем, как и на сервере сертификат из этих файлов
Обращаю внимание, что должны быть символы KT напротив имени сертификата
Теперь настраивает openvpn клиента. Идем в PPP и добавляем OVPN Client.
Добавляем статический маршрут для доступа к ресурсам удаленной сети за openvpn сервером.
Все готово. Можно подключаться и тестировать скорость vpn соединения через openvpn.
Получилось в среднем 24 мбит/сек при 100% загрузке процессора. Результат сопоставим с l2tp + ipsec. Немного удивил результат. Я думал, будет хуже, чем l2tp, а на деле то же самое. Мне лично вариант с openvpn в целом нравится больше, хотя из-за ограниченности настроек openvpn в микротике преимущества openvpn трудно реализовать. Напомню, что тестировал с шифрованием BF-128-CBC, то есть blowfish.
Вот результат с AES-128-CBC — 23 мбит/сек, примерно то же самое.
С клиент-серверными реализациями vpn сервера в mikrotik разобрались. Теперь просмотрим на скорость l2-vpn в виде eoip tunnel.
OpenVPN
Относительно новая технология с открытым исходным кодом, OpenVPN использует протоколы SSLv3/TLSv1 и библиотеку OpenSSL, а также некоторые другие технологии, что в целом обеспечивает надежное и мощное VPN-решение для пользователей. Протокол гибок в настройке и лучше всего работает через UDP-порт, однако его можно настроить для работы с любым другим портом, так что сервисам типа Google будет трудно их заблокировать.
Другое значимое преимущество заключается в том, что библиотека OpenSSL поддерживает различные алгоритмы шифрования, в том числе 3DES, AES, Camellia, Blowfish, CAST-128, хотя провайдеры VPN используют практически исключительно только Blowfish или AES/ По умолчанию предоставляется 128-битное шифрование Blowfish. Обычно оно считается безопасным, однако были отмечены некоторые уязвимости.
Если говорить о шифровании, AES — это самая новая технология и она считается «золотым стандартом». На данный момент не известно об уязвимостях этой системы, так что она даже используется правительством и секретными службами США для защиты данных. AES лучше справляется с объемными файлами, чем, например, Blowfish, так как размер блока составляет 128 бит, тогда как у Blowfish — 64 бита. Тем не менее, оба механизма шифрования сертифицированы NIST, а значит, существуют определенные проблемы, о которых мы поговорим далее.
Прежде всего, скорость OpenVPN зависит от уровня шифрования, хотя обычно она выше, чем у IPSec. И хотя OpenVPN — это подключение, используемое по умолчанию большинством VPN-провайдеров, оно не поддерживается на каких-либо платформах. Однако активно разрабатываются приложения от сторонних производителей, в частности для Android и iOS.
Установка чуть сложнее, чем для L2TP/IPSec и PPTP, в частности когда используется общее приложение для OpenVPN. Вам потребуется не просто скачать и установить клиент, но еще и потратить время на изменение файлов настройки. Некоторые VPN-провайдеры предлагают предварительно настроенные клиенты.
Однако, с учетом всех факторов и информации, представленной Эдвардом Сноуденом, кажется, что протокол OpenVPN является самым безопасным на данный момент. Также предполагается, что он защищен от вмешательства Агентства национальной безопасности США, так как протокол использует экспериментальные методы шифрования. Без сомнения, никто не знает всех возможностей Агентства национальной безопасности, однако, скорее всего это единственный по-настоящему безопасный протокол на сегодня.
Плюсы
- Позволяет обходить большинство файрволов
- Гибкая настройка
- Открытый исходный код — может быстро адаптироваться к новым опасностям
- Совместим с различными алгоритмами шифрования
- Высокая степень безопасности
Минусы
- Сложно настроить
- Требуется стороннее ПО
- Поддержка компьютеров неплоха, но на мобильных устройствах протокол работает не лучшим образом.
Настройка шифрования данных в “туннеле” (IPSec)
На предыдущем этапе мы создали туннель для передачи данных и включили IPSec. В этом разделе мы настроим параметры IPSec.
5. IP – IPSec – Groups
Т.к. велика вероятность появления ошибки соединения с сервером из-за дефолтной группы, просто удалим и тут же создадим ее. Например, с именем “policy_group1”. Также можно просто удалить эту группу, но через веб-интерфейс будут показываться ошибки.
6. IP – IPSec – Peers
Address: 0.0.0.0/0
Port: 500
Auth method: pre shared key
Passive: yes (set)
Secret: tumba-yumba-setebryaki (это не пароль пользователя!)
Policy template group: policy_group1
Exchange mode: main l2tp
Send Initial Contact: yes (set)
NAT Traversal: yes (set)
My id: auto
Proposal check: obey
Hash algorithm: sha1
Encryption Algorithm: 3des aes-128 aes-256
DH Group: modp 1024
Generate policy: port override
Lifitime: 1d 00:00:00
DPD Interval: 120
DPD Maximum failures: 5
7. IP – IPSec – Proposals
/ “Предложения”.
Что-то вроде “что мы можем вам предложить”. Другими словами, задаем опции подключения, которые смогут пытаться использовать удаленные клиенты.
Name: default
Auth algorithms: sha1
Enrc. algorithms: 3des, aes-256 cbc, aes-256 ctr
Life time: 00:30:00
PFS Group: mod 1024
Вы наверняка заметили, что пункты 6 и 7 похожи, а если еще добавить, что один и тот же Secret мы добавляли и пункте 4 и пункте 6, то возникает вопрос: почему одни и те же опции повторно настраиваются? Ответ у меня такой: чисто из практики вышло, что Windows 7 требовал одного, а iPhone – другого. Как так работает, не знаю. Но факт чисто из практики. Например, изменяю в Proposal PFS Group на 2048 – Windows нормально коннектиться, а iPhone перестает. Делаю наоборот (в proposal ставлю 1024, а в ip-ipsec-peers ставлю 2048) – iPhone коннектиться, а Windows – нет Т.е. при подключении разных клиентов используются разные части конфигов. Бред? Может быть, это следствие постепенных изменений в конфигурацию VPN сервера, не могу сказать, т.к. может иметь место даже влияние старых прошивок, конфигов и др. Я не исключаю, что что-то здесь избыточно, но что именно, не знаю.
Если у вас Debian Wheezy
К сожалению для пользователей Wheezy, из репозитория устанавливается пакет strongswan версии 4.x.x, но… устанавливается некорректно (по крайней мере у нас) и поэтому не работает. Для нашей же конфигурации требуется версия пакета strongswan 5.2.1 который легко устанавливается на Jessie. Однако установить его на Wheezy все-таки возможно. Мы, конечно, должны предупредить, что вы делаете все на свой страх и риски и обязательно сделайте бэкап.
1. Выполните sudo nano /etc/apt/sources.list и сделайте так, что бы ваша Raspberry могла получать пакеты для двух типов ОС:
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpideb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi# Source repository to adddeb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpideb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi# Source repository to adddeb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
Сохраните Ctrl-X
2. Добавим новые слова для выбора версии ОС при обновлении. Для этого создайте новый файл
sudo nano /etc/apt/preferences
и добавьте в него
Package: *Pin: release n=jessiePin-Priority: 900
Package: *Pin: release n=wheezyPin-Priority: 300
Package: *Pin: release o=RaspbianPin-Priority: -10
Or, if you want to stick to wheezyPackage: *Pin: release n=wheezyPin-Priority: 900
Package: *Pin: release n=jessiePin-Priority: 300
Package: *Pin: release o=RaspbianPin-Priority: -10
Сохраните Ctrl-X
3. Сделайте команду apt-get upgrade для загрузки новых версий приложений
4. Установите требуемую версию strongswan 5.2.1 из репозитория Jessie командой
sudo apt-get install -t jessie strongswan
Если все успешно установилось, то переходите к настройкам ipsec и xl2tpd, которые приведены в пунктах 1 — 24
Наша система будет работать с многими типами домашних и офисных маршрутизаторов. Более подробно смотрите в разделе по настройке оборудования, а начать настройку лучше с этого примера.
ДОПОЛНИТЕЛЬНО ПО ТЕМЕ
Немного более подробно про IP адреса можно прочитать на нашем сайте
Про выход в Интернет через VPN и центральный офис можно почитать здесь
Про удалённый доступ к компьютеру можно почитать на нашем сайте
Про VPN и протоколы можно почитать здесь
PPTP
Point-to-Point Tunneling Protocol (PPTP) — один из старейших VPN протоколов, используемых до сих пор, изначально был разработан компанией Microsoft.
PPTP использует два соединения — одно для управления, другое для инкапсуляции данных. Первое работает с использованием TCP, в котором порт сервера 1723. Второе работает с помощью протокола GRE, который является транспортным протоколом (то есть заменой TCP/UDP). Этот факт мешает клиентам, находящимся за NAT, установить подключение с сервером, так как для них установление подключения точка-точка не представляется возможным по умолчанию. Однако, поскольку в протоколе GRE, что использует PPTP (а именно enhanced GRE), есть заголовок Call ID, маршрутизаторы, выполняющие натирование, могут идентифицировать и сопоставить GRE трафик, идущий от клиента локальной сети к внешнему серверу и наоборот. Это дает возможность клиентам за NAT установить подключение point-to-point и пользоваться протоколом GRE. Данная технология называется VPN PassTrough. Она поддерживается большим количеством современного клиентского сетевого оборудования.
PPTP поддерживается нативно на всех версиях Windows и большинстве других операционных систем. Несмотря на относительно высокую скорость, PPTP не слишком надежен: после обрыва соединения он не восстанавливается так же быстро, как, например, OpenVPN.
В настоящее время PPTP по существу устарел и Microsoft советует пользоваться другими VPN решениями. Мы также не советуем выбирать PPTP, если для вас важна безопасность и конфиденциальность.
Конечно, если вы просто используете VPN для разблокировки контента, PPTP имеет место быть, однако, повторимся: есть более безопасные варианты, на которые стоит обратить внимание
Скорость передачи данных через VPN туннель IpSec в маршрутизаторах(роутерах) MikroTik
Этим вопросом часто задаются интеграторы VPN решений, когда нужно пропустить прогнозируемый трафик через VPN туннель или VPN туннель не справляется даже с незначительной нагрузкой 2-3Мб\с. Как правило это зависит от устройств, между которыми поднят VPN туннель IpSec. В качестве примера того, что VPN IpSec кроме высокого уровня защищенности данных обеспечивает высокую скорость будет продемонстрирован тест:
В качестве маршрутизаторов(роутеров) выступают MikroTik RB4011iGS+RM и MikroTik RB1100AHx4.
Есть вопросы или предложения по настройке VPN типа IpSec MikroTik? Активно предлагай свой вариант настройки! →
Настройка openvpn server в микротик
В настройке openvpn сервера на mikrotik нет ничего сложного, кроме нюанса с сертификатами. Тому, кто с ними никогда не работал, может показаться все слишком замороченным. К тому же в самом микротике нет никаких средств для создания сертификатов сервера и клиента. Необходимо использовать сторонние утилиты. Если у вас есть linux машина, можете воспользоваться моей инструкцией по созданию сертификатов для openvpn на linux.
Выполняем установку от имени администратора и указываем в процессе компонент под названием EasyRSA 2 Certificate Management Scripts.
Идем в директорию C:Program FilesOpenVPN. Переносим оттуда папку easy-rsa куда-нибудь в другое место, чтобы не приходилось постоянно спотыкаться об UAC, который не даст спокойно работать в Program files. Я перенес в D:tmpeasy-rsa. Переименовываем файл vars.bat.sample в vars.bat. Открываем его на редактирование и приводим примерно к следующему виду.
Для тех, кто не понял, это просто переменные, которые я указал под свои нужды. Там писать можно все, что угодно, не принципиально для нашей задачи. Можно вообще ничего не менять, а оставить как есть. Создаем в директории папку keys. Далее запускаем командную строку от администратора и перемещаемся в указанную директорию D:tmpeasy-rsa.
Далее в командной строке пишем vars и жмем enter. Этим мы загрузим переменные из файла vars.bat, потом вводим clean-all. Дальше генерируем Root CA командой — build-ca.
Отвечаем на задаваемые вопросы и завершаем создание корневого сертификата. Он появится в папке D:tmpeasy-rsakeys. Дальше создаем сертификат openvpn сервера командой — build-key-server имя_сервера.
Теперь сгенерируем сертификат для клиента. У меня только один клиент в виде удаленного микротика. Вы создаете ровно столько, сколько вам нужно. Используем команду build-key имя_сертификата.
С созданием сертификатов закончили. Они у нас все лежат в директории keys. На микротик, который будет выступать в качестве openvpn сервера, нужно передать файлы:
- ca.crt
- ovpnserver.crt
- ovpnserver.key
Импортируем сертификаты из добавленных файлов. Идем в System -> Certificates и импортируем сначала ca.crt, потом ovpnserver.crt и ovpnserver.key.
Должно получиться примерно так. Теперь приступаем к настройке openvpn сервера в mikrotik. Создадим для него отдельный профиль в PPP -> Profiles.
Все настройки дефолтные. В качестве локального и удаленного адреса использую Ip Pool, который создал в самом начале настройки l2tp. Добавим удаленного пользователя для openvpn в PPP ->Secrets.
Идем в раздел PPP и жмем OVPN Server. Указываем настройки и загруженный ca сертификат.
Далее добавляем по аналогии с остальными vpn серверами OVPN Server Binding и статические маршруты.
На этом настройка openvpn server в микротик завершена. По дефолту будет использоваться протокол шифрования BF-128-CBC. Его можно поменять в свойствах клиента, а список всех поддерживаемых шифров в свойствах vpn сервера.
Для работы указанной настройки openvpn сервера необходимо открыть входящий tcp порт 1194 на фаерволе. Теперь настроим openvpn клиент и протестируем скорость соединения через vpn на основе openvpn.
openvpn client
Для настройки openvpn client на mikrotik, туда нужна передать сертификаты, сгенерированные на предыдущем шаге. Конкретно вот эти файлы:
- m-remote.crt
- m-remote.key
Импортируем, как и на сервере сертификат из этих файлов
Обращаю внимание, что должны быть символы KT напротив имени сертификата
Теперь настраивает openvpn клиента. Идем в PPP и добавляем OVPN Client.
Добавляем статический маршрут для доступа к ресурсам удаленной сети за openvpn сервером.
Все готово. Можно подключаться и тестировать скорость vpn соединения через openvpn.
Получилось в среднем 24 мбит/сек при 100% загрузке процессора. Результат сопоставим с l2tp + ipsec. Немного удивил результат. Я думал, будет хуже, чем l2tp, а на деле то же самое. Мне лично вариант с openvpn в целом нравится больше, хотя из-за ограниченности настроек openvpn в микротике преимущества openvpn трудно реализовать. Напомню, что тестировал с шифрованием BF-128-CBC, то есть blowfish.
Вот результат с AES-128-CBC — 23 мбит/сек, примерно то же самое.
С клиент-серверными реализациями vpn сервера в mikrotik разобрались. Теперь просмотрим на скорость l2-vpn в виде eoip tunnel.
Сравнение скорости L2tp, Pptp, EoIP, GRE и OpenVPN туннелей
Сведу все данные измерений в единую таблицу для наглядного и удобного анализа и сравнения скоростей всех упомянутых vpn соединений в Mikrotik.
VPN Туннель | Шифрование | Скорость (Мбит/c) |
l2tp | нет | 194 |
l2tp | IPsec AES-128 CBC | 26 |
pptp | нет | 194 |
pptp | MPPE128 | 71 |
openvpn | BF-128-CBC | 24 |
eoip | нет | 836 |
eoip | IPsec AES-128 CBC | 27 |
gre | нет | 247 |
gre | IPsec AES-128 CBC | 29,7 |
Приведенная таблица наглядно показывает разницу в различных методах шифрования. С помощью нее можно быстро оценить, к каким потерям производительности может привести шифрование. Сейчас все по-умолчанию все шифруют, но если разобраться, очень часто это не требуется. Можно пойти на некий компромис и использовать pptp сервер, который хоть и не обеспечивает 100% безопасное шифрование, но тем не менее скрывает трафик от просто любопытных глаз и имеет неплохое быстродействие. В любом случае трафик просто так не прочитать, надо целенаправленно приложить усилия для дешифровки. В некоторых случаях такой защиты будет достаточно.
Как мы выбирали 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).
- Нативная поддержка в большинстве операционных систем.
- Обеспечивает высокую скорость соединения.
- Не требователен к ресурсам сервера.
Перейдём от теории к практике.
Настройка pptp сервера в mikrotik
Настройка pptp сервера не отличается принципиально от l2tp. Логика и последовательность действий та же самая. Сначала создаем pool адресов в IP -> Pool для vpn сети. Я буду использовать тот же пул, что мы создали ранее.
Далее создаем профиль для pptp туннеля в разделе PPP -> Profiles.
В этом профиле указаны дефолтные настройки шифрования, при которых оно отключено. Проверим сначала скорость vpn канала без них. Создаем нового пользователя для удаленного pptp подключения.
Включаем pptp сервер в разделе PPP.
Теперь создадим в Interface List PPTP Server Binding по аналогии с предыдущим разделом.
И в завершение добавляем статический маршрут до удаленной сети через pptp подключение.
Настройка pptp сервера закончена. На фаерволе нужно будет открыть для входящих подключений внешнего интерфейса следующие вещи:
- TCP port 1723
- GRE протокол
Отправляемся настраивать pptp клиент.
pptp клиент
Отправляемся на удаленный роутер и там настраивает подключение через pptp client. Идем, как обычно, в раздел PPP и добавляем PPTP Client. На вкладке General ничего не трогаем, а на Dial Out указываем адрес pptp сервера и имя пользователя для подключения.
Добавляем статический маршрут до удаленного офиса через vpn туннель.
Все готово. Активируем pptp подключение и пробуем пинговать адреса в локальной сети. Убедиться в том, что шифрование отключено можно в статуте pptp соединения на клиенте.
Проверим теперь скорость vpn соединения по pptp.
Те же самые 194 мбит/сек, что на нешифрованном l2tp при 100% загрузке процессора. Вообще, было немного странно увидеть абсолютно такие же цифры. Проводил тесты несколько раз, но везде был стабильно один и тот же результат. Без шифрования нет разницы по скорости между l2tp и pptp соединением.
Теперь включим шифрование в pptp на сервере и посмотрим на скорость. Для этого указываем в pptp профиле явно, чтобы использовалось шифрование. Идем в PPP -> Profiles и редактируем наш профиль.
Убедимся в статусе клиента, что шифрование работает.
Тестирую скорость vpn соединения по pptp с включенным шифрованием.
Получилось в среднем 71 мбит/сек. Неплохой результат в сравнении с шифрованием ipsec в l2tp. Как я и говорил ранее, pptp сервер хорошо подходит там, где шифрование либо совсем не нужно, либо допускается возможность, что зашифрованный трафик будет расшифрован. Но при этом он все равно закрыт шифрованием и каждый проходящий не сможет ничего увидеть. Нужно как минимум снять дампт трафика и каким-то образом подбирать ключ по словарю или перебором. Не знаю точно, как это реализуется на практике. Не изучал вопрос.
Перейдем теперь к openvpn серверу в микротик. Очень любопытно посмотреть на тесты скорости этого типа vpn соединений.