Обзорная статья на тему использования современных приватных тоннелей в роутерах популярной латвийской марки. Я расскажу о том, как настроить vpn сервер в mikrotik на базе таких технологий как l2tp, ipsec, openvpn, pptp, gre и eoip. Попутно кратко расскажу о том, что это за технологии, чем они отличаются, а так же проведу сравнение производительности микротика со всеми указанными тоннелями.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Данная статья является частью единого цикла статьей про Mikrotik.
Введение
Сразу хочу обратить внимание, что эта статья будет скорее обзорной, нежели передачей реального опыта, так как сам я чаще всего использую в качестве vpn сервера openvpn. Тем не менее с vpn в микротик тоже приходилось сталкиваться. Настраивал как pptp сервера для подключения удаленных клиентов, так и l2tp для объединения двух и более микротиков в общую приватную сеть. В основном по дефолту, не вникая в тонкости настроек.
Сегодня хочу рассмотреть этот вопрос более внимательно и посмотреть, что вообще предлагает микротик из коробки для настройки vpn соединений. Своими исследованиями я и хочу поделиться с вами, написав небольшой обзор на тему средств организации vpn сервера в mikrotik. А попутно хочу собрать отзывов и исправлений на тему написанного, чтобы укрепить свои знания. В комментариях к своим статьям я черпаю массу советов, за что благодарен всем писавшим полезные вещи. Так что замечания, дополнения и исправления категорически приветствуются.
Для тех, кто хочет хорошо разбираться в сетях, но пока по какой-то причине не умеет этого, рекомендую вот этот цикл статей - сети для самых маленьких. Так же, если вы не очень хорошо знакомы с микротиками, рекомендую мою статью на тему настройки микротика с нуля.
Варианты vpn сервера в микротике
С вариантами vpn сервера в микротике все сложно :) В том плане, что есть много реализаций vpn, которую не так просто выбрать, если не разбираешься детально в сетевых технологиях. Я не сильно в них разбираюсь, но как мне кажется, немного улавливаю суть. Постараюсь вам объяснить своими словами, в чем отличия.
Существуют 2 принципиально разных решения для организации соединений между двумя микротиками и внешними абонентами:
- Создание l2 туннеля типа site-to-site с помощью EOIP Tunnel. Самый простой и быстрый способ объединить два микротика. Если не будет использовано шифрование, то получатся самые быстрые vpn подключения. Необходимы выделенные белые ip адреса на обоих устройствах. Такие соединения используют для объединения офисов или филиалов по vpn. В общем случае не работает через NAT. Сюда так же добавлю GRE Tunnel, хотя он работает в l3 и использует маршрутизацию, но работает так же по принципу site-to-site.
- VPN соединения уровня l3 на технологии Клиент-Сервер, типа PPTP, L2TP, SSTP, OpenVPN. Такие соединения используются как для объединения офисов, так и для подключения удаленных сотрудников. Достаточно только одного белого ip адреса на стороне сервера для создания vpn соединений. Работает через NAT.
Расскажу немного подробнее о каждом из типов vpn соединений отдельно.
- GRE Tunnel - использует простой протокол gre для построения базового незащищенного site-to-site VPN. Разработан компанией CISCO. Позволяет инкапсулировать пакеты различного типа внутри ip туннелей. Простыми словами вот что он делает. Берет ваши данные со всеми заголовками, упаковывает в пакет, передает по интернету на другой конец, где этот пакет обратно разбирается на исходные данные. Для конечных пользователей сети все это выглядит, как-будто они общаются через локальную сеть.
- EOIP Tunnel - Ethernet over IP - это проприетарный протокол MikroTik RouterOS, который создает туннель Ethernet между двумя маршрутизаторами поверх IP-соединения. Для передачи данных использует GRE протокол. Принципиальное отличие eoip tunnnel в том, что он работает в l2 и передает напрямую фреймы, тогда как gre tunnel оперирует пакетами и использует маршрутизацию. Надеюсь правильно объяснил и не соврал. Для чего mikrotik решили создать свою реализацию туннеля через gre протокол, не знаю. Возможно, похожих решений просто нет, вот они и придумали свою реализацию.
- PPTP - туннельный протокол типа точка-точка (Point-to-Point Tunneling Protocol). Для работы использует GRE протокол, поддерживает шифрование. В свое время pptp обрел большую популярность из-за того, что его из коробки поддерживала Windows начиная с версии 95. На сегодняшний день pptp использовать не рекомендуется, так как он очень легко взламывается. Из дампа трафика за короткое время (несколько часов) достается ключ шифрования и расшифровывается весь трафик. Возможно, с этим как-то можно бороться, используя разные протоколы шифрования, но я не разбирался подробно с этой темой. Для себя решил, что pptp можно использовать как самое простое решение там, где нет повышенных требований к безопасности и расшифровка трафика, если таковая и случится, не принесет никаких проблем. PPTP поддерживает из коробки не только Windows но и Android, что очень удобно. Настраивается очень просто.
- L2TP - Layer 2 Tunneling Protocol. Несмотря на то, что в названии указано l2, реально в ip сети он работает на сеансовом уровне, то есть l3. Использует в работе udp порт 1701. Может работать не только в IP сетях. Из коробки, как и pptp, поддерживает аутентификацию пользователей. Сам по себе не обеспечивает шифрование. Для шифрования трафика может использовать ipsec, который считается очень безопасным и не имеет серьезных уязвимостей. В настоящее время поддерживается практически всеми устройствами и системами из коробки, как и pptp. Настраивать не сильно сложнее. В общем случае, для организации vpn рекомендую использовать именно этот тип шифрованного тоннеля.
- OpenVPN - это очень популярная реализация шифрованных соединений. Главное достоинство - гибкость настроек. К примеру, очень крутая возможность openvnp - пушить маршруты напрямую клиенту при подключении. Я долгое время использовал openvpn серверы. Когда первый раз понадобилось передать клиенту pptp маршрут, никак не мог понять, как это настроить. Оказалось, что никак, он это просто не умеет. Пришлось настраивать сторонними инструментами. К сожалению, по непонятным причинам, в mikrotik openvpn не поддерживает протокол udp, что очень сужает возможности использования этого vpn сервера. По tcp он работает гораздо медленнее, чем по udp. Так же не работает сжатие заголовков пакетов. Так что в общем случае использовать openvpn сервер в микротик не имеет смысла, если только он не нужен вам по каким-то конкретным причинам.
- SSTP - Протокол безопасного туннелирования сокетов (Secure Socket Tunneling Protocol) – был представлен Microsoft в Windows Vista SP1. Основной плюс в том, что он интегрирован в Windows, может использовать 443 порт, что иногда помогает обходить фаерволы. Считается очень безопасным, использует SSL 3.0. Из минусов, насколько я знаю, в микротике очень требователен к ресурсам процессора. На слабеньких железках будет выдавать самую низкую скорость по сравнению со всеми остальными соединениями по vpn. По этой причине я его не буду рассматривать в своем обзоре совсем.
Из всего написанного можно сделать такой вывод. В общем случае лучше всего в микротике использовать vpn на базе l2tp + ipsec. Основные причины:
- Простота и удобство настройки.
- Надежное шифрование.
- Поддержка l2tp соединений практически всеми современными устройствами и системами. Нет необходимости ставить дополнительное программное обеспечение.
- Подходит как для объединения офисов, так и для удаленных сотрудников - site-to-site и client-to-site подключения.
Если вам нужно максимальное быстродействие без шифрования, то стройте соединения между сетями или офисами с помощью EOIP Tunnel - фирменной разработки компании Mikrotik.
Дальше я покажу, как настроить все описанные туннели, кроме SSTP и произведу замеры скорости для сравнения. Мой тестовый стенд из двух Mikrotik RB951G-2hnD будет иметь следующие настройки.
m-server | имя микротика, выступающего в роли сервера |
m-remote | имя микротика, выступающего в роли удаленного маршрутизатора |
192.168.13.1 | WAN ip адрес на m-server |
192.168.13.197 | WAN ip адрес на m-remote |
10.20.1.0/24 | локальная сеть за m-server |
10.30.1.0/24 | локальная сеть за m-remote |
10.10.5.1-10.10.5.100 | vpn сеть |
Приступим к настройке и тестированию vpn соединений в mikrotik.
Настройка l2tp туннеля в mikrotik
Для начала настроим простой l2tp туннель без шифрования и замерим скорость. Для настройки l2tp vpn в mikrotik выполните следующую последовательность действий.
Идем в раздел IP -> Pool и добавляем пул ip адресов для vpn туннеля.
Создаем профиль для туннеля в PPP -> Profiles.
На остальных вкладках настройки дефолтные. Далее создаем пользователя в PPP -> Secrets.
Теперь запускаем l2tp сервер. Идем в PPP и жмем в кнопку L2TP Server.
Устанавливаем настройки для l2tp сервера. ipsec пока не включаем.
VPN сервер настроен. Теперь создадим для него постоянный интерфейс, чтобы на его основе создавать статические маршруты. Идем в Interfaces и создаем L2tp Server Binding.
Последний штрих. Создаем статический маршрут, с помощью которого абоненты локальной сети сервера смогут подключаться к абонентом локальной сети за удаленным роутером через vpn. Идем в IP -> Routes и добавляем маршрут.
Я не рассмотрел вопрос настройки firewall, так как не хочется раздувать и так объемную статью. Напрямую это не относится к указанной теме. Подробнее читайте о настройке фаервола отдельно по приведенной ссылке. Здесь же только укажу, что необходимо открыть на firewall для корректной настройки l2tp.
На сервере необходимо создать следующие правила для фаерволла, чтобы мы могли достучаться до нашего L2TP сервера. IP -> Firewall -> Filter Rules. Необходимо создать разрешающее правило в цепочке input для следующих портов и протоколов:
- Протокол: UDP
- Разрешаем порты: 1701,500,4500
- В качестве In.Interface указываем тот, через который происходит l2tp подключение.
Отдельно добавляем еще одно правило, разрешающее протокол ipsec-esc.
На сервере все готово. Идем настраивать l2pt клиент на удаленном микротике.
L2tp клиент
Здесь все достаточно просто. Идем в PPP и добавляем L2TP Client. Указываем настройки, которые задавали ранее на сервере.
Добавляем статический маршрут, чтобы клиенты этого роутера знали, куда обращаться к абонентам удаленной локальной сети за vpn.
На этом все. Мы настроили l2tp на удаленном микротике и таким образом объединили 2 локальных сети с помощью vpn. В списке ip адресов при активном l2tp соединении на сервере и клиенте вы должны увидеть ip адреса из заданного на сервере диапазона для vpn сети - 10.10.5.1-10.10.5.100. Теперь можно пропинговать с обоих сетей противоположные.
У меня для теста к обоим микротикам подключены ноутбуки. Сейчас я измерю скорость соединения с помощью iperf3. За роутером m-remote на ноутбуке 10.30.1.254 запускаю сервер, а на 10.20.1.3 агента. Запускаем тест скорости vpn соединения:
Средняя скорость 194 мбит/сек. Откровенно говоря, я не понял, почему такая низкая скорость. Мой тестовый стенд собран на двух роутерах микротиках и гигабитного микротик свитча между ними. Ожидал увидеть что-то в районе 500 мбит/сек. Напомню, что туннель пока без шифрования. При этом загрузка процессоров на роутерах была в районе 90-95%. То есть фактически потолок этих железок.
Попробуем теперь включить шифрование ipsec и замерить скорость с ним.
Настраиваем ipsec
С настройкой ipsec для l2tp я залип на некоторое время. В сети много инструкций, но все они устарели. Как оказалось, в последних версиях прошивок, запустить ipsec в дефолтных настройках не просто, а очень просто. Для этого надо всего лишь в свойствах l2tp сервера указать Use IPsec - yes и задать пароль.
Все необходимые настройки ipsec будут созданы автоматически. На агенте сделать то же самое - включить ipsec шифрование и указать пароль.
После подключения l2tp клиента увидите в логе похожие строки:
19:17:00 l2tp,ppp,info l2tp-out1: initializing... 19:17:00 l2tp,ppp,info l2tp-out1: connecting... 19:17:03 ipsec,info initiate new phase 1 (Identity Protection): 192.168.13.197[500]<=>192.168.13.1[500] 19:17:04 ipsec,info ISAKMP-SA established 192.168.13.197[500]-192.168.13.1[500] spi:407844c0ceb5d2ab:46ce7ffb25495efd 19:17:07 l2tp,ppp,info l2tp-out1: authenticated 19:17:07 l2tp,ppp,info l2tp-out1: connected
Для того, чтобы убедиться, что шифрование ipsec работает, можно зайти в раздел IP -> Ipsec -> Installed SAs и посмотреть на счетчик зашифрованных пакетов. Если он растет, значит все в порядке, трафик шифруется.
Там же в разделе Remote Peers можно посмотреть список удаленных клиентов, для которых работает ipsec шифрование, посмотреть используемые алгоритмы. Все дефолтные настройки ipsec живут в этом разделе. Вы можете посмотреть их, изменить или добавить новые профили. По-умолчанию используется алгоритм авторизации sha1 и шифрование AES. Можете изменить эти параметры, если разбираетесь в теме. Я умничать не буду, тему шифрования не копал. Какие алгоритмы максимально быстры и защищены - не знаю.
Проведем тесты скорость vpn соединения l2tp + ipsec.
У меня получилось вот так - 26 мбит/сек в среднем. При этом загрузка процессора 100%. Не густо. Данные железки для шифрованных каналов пригодны очень слабо. В данных тестах они ничем, кроме непосредственно теста не нагружены. В реальных условиях скорость будет еще ниже.
С настройками vpn на базе l2tp + ipsec закончили. Продолжим настройку остальных vpn туннелей и сравним их скорость.
Настройка 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 соединений.
Настройка openvpn server в микротик
В настройке openvpn сервера на mikrotik нет ничего сложного, кроме нюанса с сертификатами. Тому, кто с ними никогда не работал, может показаться все слишком замороченным. К тому же в самом микротике нет никаких средств для создания сертификатов сервера и клиента. Необходимо использовать сторонние утилиты. Если у вас есть linux машина, можете воспользоваться моей инструкцией по созданию сертификатов для openvpn на linux.
Если у вас нет linux машины, но вы все же настроены поднять vpn туннель с помощью openvpn в микротике, то давайте разбираться с настройкой дальше. Прежде всего нам понадобится дистрибутив openvpn для windows. Скачать его можно по ссылке - https://openvpn.net/community-downloads/. Нас будет интересовать Windows Installer.
Выполняем установку от имени администратора и указываем в процессе компонент под названием 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.
Настройка EOIP Tunnel + Ipsec
Настроим vpn сеть на базе EOIP в Mikrotik. Тут нужно понимать одно важное отличие от всех предыдущих настроек, которые мы делали ранее. EOIP туннель работает на уровне l2, то есть оба сегмента сети будут считать, что находятся в одной физической сети. Адресное пространство для обоих будет одно и то же. В моем примере это 10.20.1.0/24. DHCP сервер должен остаться только один для обоих сетей. В моем случае он останется на m-server.
Создаем EOIP туннель на m-server. Идем в Interface list -> EoIP Tunnel и добавляем новый.
Из настроек достаточно указать только удаленный адрес второго микротика. Новый EoIP интерфейс необходимо добавить в локальный бридж вместе с физическими интерфейсами.
Идем на удаленный микротик и там делаем все то же самое, только Remote Address указываем другой.
Этого достаточно, чтобы EoIP туннель сразу же заработал. Его состояние будет RS.
На втором микротике EoIP интерфейс так же нужно добавить в локальный бридж с остальными интерфейсами.
Проще всего проверить, что все в порядке, это запросить по dhcp на m-slave ip адрес для интерфейса bridge. Он должен получить ip адрес от dhcp сервера на m-server, при условии, что в сети больше нет других dhcp серверов. То же самое будет и с локальными машинами в сети за m-slave. Они будут получать ip адреса от dhcp сервера на m-server.
Проверим теперь быстродействие такого vpn туннеля на основе EoIP.
Показываю максимальный результат, который у меня получился - 836 мбит/сек. По какой-то причине в разных тестах скорость плавала в интервале между 600-850 мбит/сек. Для того, чтобы скорость изменилась, необходимо было отключить и заново включить EoIP интерфейс. Скорость впечатляет. При этом, процессор не загружен на 100%. То есть узкое место не он. Похоже я уперся в производительность сети. Напомню, что тут нет никакого шифрования и маршрутизации трафика. Прямой l2 канал между двумя микротиками через EoIP vpn.
Добавим в EoIP туннель шифрование Ipsec и посмотрим на скорость. Для этого меняем настройки каналов на обоих микротиках. Добавляем пароль Ipsec и локальные адреса, отключаем Fast Path.
Измеряем скорость соединения.
У меня получилась скорость vpn при использовании EoIP + Ipsec в среднем 27 мбит/сек. Скорость сопоставима с шифрованными туннелями L2tp и Openvpn. В этом плане никаких приятных сюрпризов не получилось. Шифрование очень тяжело дается этой железке. Можно сказать она для него не предназначена практически совсем.
GRE туннель + Ipsec в mikrotik, создание и настройка
Для настройки GRE туннеля в Mikrotik идем в раздел Interfaces -> GRE Tunnel и добавляем новый со следующими настройками:
Назначаем GRE туннелю ip адрес в IP -> Adresses.
Сразу же создаем статический маршрут для доступа к ресурсам удаленной сети.
Для организации vpn соединения через GRE tunnel то же самое проделываем на удаленном микротике, только меняем соответствующие адреса.
Создаем GRE Tunnel.
Назначаем ip адрес.
Добавляем маршрут в удаленную локальную сеть.
После этого маршрутизация трафика между локальными сетями должна заработать. Не забудьте на firewall разрешить gre протокол.
Проверим теперь скорость соединения по GRE туннелю.
У меня получилось 247 мбит/сек. Напомню, что это нешифрованный маршрутизируемый vpn туннель. Отличие от l2 туннеля EoIP примерно в 3 раза по скорости в меньшую сторону. Выводы делайте сами какие туннели использовать. Если не нужна маршрутизация, то однозначно EoIP.
Теперь проверим то же самое, только настроив в GRE шифрование Ipsec. Добавляем соответствующие настройки в GRE туннели на обоих микротиках.
Измеряю скорость GRE + Ipsec, алгоритм шифрования aes-128 cbc.
Получилось в среднем 29,7 мбит/сек, что примерно соответствует всем результатам с ipsec. Не удивительно, ведь алгоритм шифрования во всех случаях один и тот же. Но тем не менее, в GRE Tunnel скорость немного выше всех остальных участников. Из этого можно сделать вывод, что исключительно для l3 site-to-site подключений GRE 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 подключения в mikrotik. Не дошли руки только до SSTP, но я точно знаю, что он будет очень медленно работать на RB951G-2hnD и в целом на микротиках медленнее всех остальных решений. Не думаю, что его использование будет оправданно.
Статью писал несколько дней, мог что-то напутать, опечататься или ошибиться. Все замечания принимаю в комментариях. Надеюсь, мой материал исследование на тему настройки vpn соединений в микротиках был вам интересен и полезен. Единственное, о чем жалею, что не затронул тему настройки pptp, l2tp и openvpn подключений на клиентских устройствах сотрудников. Без них материал на тему настройки vpn получился не полноценным, ведь это важная часть работы vpn тоннелей. Их используют не только для объединения офисов, но и для подключения удаленных сотрудников.
Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Настроил L2TP по вашей статье, все работало и VPN подключался. Теперь перестал подключаться, пишет ошибку с ipsec
Логи на клиенте
19:32:03 ipsec,error phase1 negotiation failed due to time up 192.168.137.127[4500]87.145.112.228[4500] 71d4879e78b5751a:00053ff286537b51
19:32:03 ipsec,info initiate new phase 1 (Identity Protection): 192.168.137.127[500]87.145.112.228[500]
19:32:15 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:32:15 l2tp,ppp,info l2tp-out1: disconnected
19:32:15 l2tp,ppp,info l2tp-out1: initializing...
19:32:15 l2tp,ppp,info l2tp-out1: connecting...
19:32:39 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:32:39 l2tp,ppp,info l2tp-out1: disconnected
19:32:40 ipsec,info ISAKMP-SA deleted 192.168.137.127[4500]-87.145.112.228[4500] spi:744fc9df0919f397:ff174b7102b34979 rekey:1
19:32:41 l2tp,ppp,info l2tp-out1: initializing...
19:32:41 l2tp,ppp,info l2tp-out1: connecting...
19:32:44 ipsec,info initiate new phase 1 (Identity Protection): 192.168.137.127[500]87.145.112.228[500]
19:33:08 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:33:08 l2tp,ppp,info l2tp-out1: disconnected
19:33:09 ipsec,info ISAKMP-SA deleted 192.168.137.127[4500]-87.145.112.228[4500] spi:20c9d8707791ba0b:a057a4f5a0e95daa rekey:1
19:33:11 l2tp,ppp,info l2tp-out1: initializing...
19:33:11 l2tp,ppp,info l2tp-out1: connecting...
19:33:14 ipsec,info initiate new phase 1 (Identity Protection): 192.168.137.127[500]87.145.112.228[500]
19:33:38 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:33:38 l2tp,ppp,info l2tp-out1: disconnected
19:33:39 ipsec,info ISAKMP-SA deleted 192.168.137.127[4500]-87.145.112.228[4500] spi:d51c49c47fd048f1:2db07386e7c5f673 rekey:1
19:33:45 l2tp,ppp,info l2tp-out1: initializing...
19:33:45 l2tp,ppp,info l2tp-out1: connecting...
19:33:48 ipsec,info initiate new phase 1 (Identity Protection): 192.168.137.127[500]87.145.112.228[500]
19:34:12 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:34:12 l2tp,ppp,info l2tp-out1: disconnected
19:34:13 ipsec,info ISAKMP-SA deleted 192.168.137.127[4500]-87.145.112.228[4500] spi:8954d134e323f3d3:3b54e54163db06ba rekey:1
19:34:22 l2tp,ppp,info l2tp-out1: initializing...
19:34:22 l2tp,ppp,info l2tp-out1: connecting...
19:34:25 ipsec,info initiate new phase 1 (Identity Protection): 192.168.137.127[500]87.145.112.228[500]
19:34:49 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:34:49 l2tp,ppp,info l2tp-out1: disconnected
19:34:50 ipsec,info ISAKMP-SA deleted 192.168.137.127[4500]-87.145.112.228[4500] spi:d2b571e394988dde:6a1e77d7dac1944a rekey:1
19:34:59 l2tp,ppp,info l2tp-out1: initializing...
19:34:59 l2tp,ppp,info l2tp-out1: connecting...
19:35:02 ipsec,info initiate new phase 1 (Identity Protection): 192.168.137.127[500]87.145.112.228[500]
19:35:26 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:35:26 l2tp,ppp,info l2tp-out1: disconnected
19:35:27 ipsec,info ISAKMP-SA deleted 192.168.137.127[4500]-87.145.112.228[4500] spi:583e3b751b03e625:46603e8c86a7acf6 rekey:1
19:35:36 l2tp,ppp,info l2tp-out1: initializing...
19:35:36 l2tp,ppp,info l2tp-out1: connecting...
19:35:39 ipsec,info initiate new phase 1 (Identity Protection): 192.168.137.127[500]87.145.112.228[500]
19:36:03 l2tp,ppp,info l2tp-out1: terminating... - session closed
19:36:03 l2tp,ppp,info l2tp-out1: disconnected
Логи на сервере
19:32:02 ipsec,info respond new phase 1 (Identity Protection): 192.168.2.140[500]46.114.162.34[2499]
19:32:03 ipsec,info ISAKMP-SA established 192.168.2.140[4500]-46.114.162.34[32077] spi:20c9d8707791ba0b:a057a4f5a0e95daa
19:32:13 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:32:23 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:32:32 ipsec,info respond new phase 1 (Identity Protection): 192.168.2.140[500]46.114.162.34[2499]
19:32:33 ipsec,info ISAKMP-SA established 192.168.2.140[4500]-46.114.162.34[32077] spi:d51c49c47fd048f1:2db07386e7c5f673
19:32:43 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:32:46 ipsec,info purging ISAKMP-SA 192.168.2.140[4500]46.114.162.34[32077] spi=71d4879e78b5751a:00053ff286537b51.
19:32:46 ipsec,info ISAKMP-SA deleted 192.168.2.140[4500]-46.114.162.34[32077] spi:71d4879e78b5751a:00053ff286537b51 rekey:1
19:32:53 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:33:06 ipsec,info respond new phase 1 (Identity Protection): 192.168.2.140[500]46.114.162.34[2499]
19:33:07 ipsec,info ISAKMP-SA established 192.168.2.140[4500]-46.114.162.34[32077] spi:8954d134e323f3d3:3b54e54163db06ba
19:33:17 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:33:27 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:33:43 ipsec,info respond new phase 1 (Identity Protection): 192.168.2.140[500]46.114.162.34[2499]
19:33:44 ipsec,info ISAKMP-SA established 192.168.2.140[4500]-46.114.162.34[32077] spi:d2b571e394988dde:6a1e77d7dac1944a
19:33:47 ipsec,info purging ISAKMP-SA 192.168.2.140[4500]46.114.162.34[32077] spi=744fc9df0919f397:ff174b7102b34979.
19:33:47 ipsec,info ISAKMP-SA deleted 192.168.2.140[4500]-46.114.162.34[32077] spi:744fc9df0919f397:ff174b7102b34979 rekey:1
19:33:54 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:34:04 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:34:20 ipsec,info respond new phase 1 (Identity Protection): 192.168.2.140[500]46.114.162.34[2499]
19:34:21 ipsec,info ISAKMP-SA established 192.168.2.140[4500]-46.114.162.34[32077] spi:583e3b751b03e625:46603e8c86a7acf6
19:34:28 ipsec,info purging ISAKMP-SA 192.168.2.140[4500]46.114.162.34[32077] spi=20c9d8707791ba0b:a057a4f5a0e95daa.
19:34:28 ipsec,info ISAKMP-SA deleted 192.168.2.140[4500]-46.114.162.34[32077] spi:20c9d8707791ba0b:a057a4f5a0e95daa rekey:1
19:34:31 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:34:41 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:34:57 ipsec,info respond new phase 1 (Identity Protection): 192.168.2.140[500]46.114.162.34[2499]
19:34:58 ipsec,info ISAKMP-SA established 192.168.2.140[4500]-46.114.162.34[32077] spi:f4e886d15062f34d:ce882dcb37cd7466
19:34:58 ipsec,info purging ISAKMP-SA 192.168.2.140[4500]46.114.162.34[32077] spi=d51c49c47fd048f1:2db07386e7c5f673.
19:34:58 ipsec,info ISAKMP-SA deleted 192.168.2.140[4500]-46.114.162.34[32077] spi:d51c49c47fd048f1:2db07386e7c5f673 rekey:1
19:35:08 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:35:18 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:35:32 ipsec,info purging ISAKMP-SA 192.168.2.140[4500]46.114.162.34[32077] spi=8954d134e323f3d3:3b54e54163db06ba.
19:35:32 ipsec,info ISAKMP-SA deleted 192.168.2.140[4500]-46.114.162.34[32077] spi:8954d134e323f3d3:3b54e54163db06ba rekey:1
19:35:34 ipsec,info respond new phase 1 (Identity Protection): 192.168.2.140[500]46.114.162.34[2499]
19:35:35 ipsec,info ISAKMP-SA established 192.168.2.140[4500]-46.114.162.34[32077] spi:91aeca64fdaf6d22:dd6dc6c0351cf579
19:35:45 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:35:55 ipsec,info the packet is retransmitted by 46.114.162.34[32077].
19:36:09 ipsec,info purging ISAKMP-SA 192.168.2.140[4500]46.114.162.34[32077] spi=d2b571e394988dde:6a1e77d7dac1944a.
19:36:09 ipsec,info ISAKMP-SA deleted 192.168.2.140[4500]-46.114.162.34[32077] spi:d2b571e394988dde:6a1e77d7dac1944a rekey:1
В чем может быть причина и как это починить?
Добрый вечер, спасибо за статью, после настройки l2tp/ipsec site-to-site столкнулся с проблемой, не пингуется с клиентского микротика хост который находится за главным микротиком, с главного микротика все путем, подскажите пожалуйста где я натупил
Традиционно, если трафик не идёт, надо проверять маршруты на всём пути следования пакетов и настройки firewall. Больше там некуда смотреть. Причина где-то в этих двух местах.
Настроил по вашей статье L2TP VPN на северном microtic и на клиенском microtic. На клиенском еще сделал Mikrotik в качестве Wi-Fi клиента, то есть к Mikrotik подключаюсь по lan, а Mikrotik подключается к мобильному телефону по wifi. Серверный vpn работает, создавал клиенский впн на компьютере подключается без проблем и меняет IP. Клиенский microtic тоже подключается без ошибок, но трафик через VPN на нем не идет, в чем может быть причина и что нужно проверять?
Традиционно, если трафик не идёт, надо проверять маршруты на всём пути следования пакетов и настройки firewall. Больше там некуда смотреть. Причина где-то в этих двух местах.
В firewall я пробовал отключать все правила и на сервере и на клиенте - это не помогло. Я не гуру в сетях и в настройках микротиков, можно поподробнее где и как проверять маршруты на всём пути следования пакетов?
Нашел причину, все таки нужно идти в клиенский фаервол и согласно этой статье https://hariesef.medium.com/setting-up-l2tp-vpn-client-in-mikrotik-wifi-router-b3068093014d делать изменения на вкладке NAT и добавлять Mangle. Тогда все будет работать, в вашей статье это не описано.
Скриншеты не соответствуют реальным либо устарели
при создании маршрута
(Последний штрих. Создаем статический маршрут, с помощью которого абоненты локальной сети сервера смогут подключаться к абонентом локальной сети за удаленным роутером через vpn. Идем в IP -> Routes и добавляем маршрут.)
у Вас gateway выпадающее меню и можно выбрать "l2tp-in1"
по факту там поле не выпадающее... руками если вбить значение не работает...
толи лыжи не едут... толи я е****тый
Версия RouterOS какая на устройстве?
Есть такой нюанс в RouterOS 7, решения пока не нашел
Как вы решили вопрос?
Нужно пере "l2tp-in1" добавить %, так, чтобы было "%l2tp-in1"
Подскажите плз поменяются ли настройки VPN для серверного микротика если он подлючается к интернет через маршрутизатор, который уже подключается к интернету через провайдера?
По идее нет. Не принципиально, как приходит интернет в Микротик.
Здравствуйте. Скажите, пожалуйста, если есть четыре сети, четрые белых IP, то правильнее будет на каждом Микротике поднять два L2TP-сервера к соседям и 2 L2TP-клиента для более быстрого обмена данными между ними и выхода из строя любой одной из сети (для продолжения работы связки двух оставшихся)? Или в этом случае маршрутизацию корректно настроить не получится и это нерабочий вариант: двенадцать туннелей теоретически получится? И тогда надо сделать минимум связей между четырьмя точками (вроде выходит шесть) с соответствующей маршрутизацией в каждом туннеле?
Тут я затрудняюсь сказать, как лучше сделать. Я бы наверное настроил один сервер, остальных сделал клиентами. И использовал динамическую маршрутизацию на OSPF. В Микротик она настраивается просто и быстро, не нужны глубокие знания. Это стабильное, классическое решение. Для быстрого обмена данными каждый с каждым нужно строить peer-to-peer сеть. Я не знаю, как это правильно организовать в Микротик. На обычном Linux есть различные реализации, а в микроте хз.
Здравствуйте, я начинающий самоучка))) Такая проблема, искал инфу нигде толковую инфу найти не могу, только у вас нашел. Но есть вопросы. Впервые столкнулся с микротиком и вообще. У меня есть физическая сеть с маршрутизатором Микротик (устанавливали задолго до меня и как обычно никто ничего не знает). И некоторые сотрудники работают удаленно, у них VPN соединение с нашей сетью, что бы работать с 1С. Все было неплохо, пока не потребовалось запустить новых сотрудников. О_О я начал рыть, и вроде нашел.
Но в PPP Secrets у меня выбрано any, как быть?.
И главный вопрос, на стороне клиента настраиваю соединение и тут возник вопрос, где мне взять "имя или адрес сервера"? Я так и не осилил. Остальные профили сотрудников я просто скопировал, но при настройке со стороны клиента не могу соединится. Не ругайтесь, я вообще нуб.
У вас нет нет никакой базы для текущей работы. Как можно в рамках ответа на комментарий научить сразу всему? Статья подробно написана, а разбираться в любом случае вам придётся самостоятельно со своими задачами. Как минимум, скопируйте все настройки с уже настроенного компа. Там будет имя или адрес сервера. Обычно это внешний IP адрес самого микротика, если он напрямую смотрит в интернет.
Добрый день, а можно ли как то настроить микротик так что бы при подключение через ВПН он давал свой внешйний айпи адрес другому пк который находиться в другой сети ? (в голове всплывает сделать как-то через прохи но я далек от этого) Дело в том что в сети №1 есть защитное соединение которое позволяет заходить на сайт СЭДА без программы "Контитента АП" НО в сети №2 нет этого защитного соединение и поэтому приходиться пользоваться континентом.
К слову мне удалось только установить ВПН соединение между этими двумя сетями, они пингуются , ходят через RDP и так же доступны через проводники (\\192.168.88.100) помогите пожалуйста что можно сделать ?:)
Это элементарно делается. Обычный функционал VPN. После установки соединения по VPN на ПК, сделайте шлюзом по умолчанию VPN соединение и весь трафик пойдёт через него. Это можно сделать через консоль и команду route. В итоге ПК будет выходить в интернет через VPN сервер и внешний адрес будет использоваться именно его.
Как это можно сделать ? есть статья какая-то ? я только начинаю разбираться в этом)
по пути "Панель управления\Сеть и Интернет\Сетевые подключения" там моего VPN соединение нет
Оно находиться отдельно во вкладке VPN "Сеть и интернет" Win 10
Таким вещам по комментариям не научишь. Ищите информацию по управлению маршрутами в Windows. Ваша задача отправить весь трафик в VPN туннель.
Все-ровно большое спасибо за отклик по моему вопросу и за статью! благодаря вам нашел инфу, скину здесь может кому пригодиться.
Предположим что VPN туннель уже создан и мы хотим выходить в интернет через VPN сервер . Тогда идем: Панель управления (просмотр: Категория) - Сеть и интернет Центр управления сетями и общим доступом - Изменение параметров адаптера. Откроется страница с адаптерами на локальном компьютере. Ищем там наш VPN, нажимаем на нём правой кнопкой, выбираем Свойства Переходим на закладку Сеть - IP версии 4 (TCP/IPv4) - Свойства Там нажимаем кнопку Дополнительно. Открывается новое окошко Там же и ставим галочку "Использовать шлюз в удалённой сети"
Кстати говоря, если я не ошибаюсь, это настройка включена по умолчанию. Её обычно выключают, если не нужно весь трафик направлять в туннель. Эта настройка как раз добавляет маршрут по умолчанию через vpn.
Добрый день, приобрел я себе MikroTik, настроил соединение L2TP но уже не site to client а site to site все вроде бы работает RDP, через проводник ходит , пингуться локальные пк между домашним. И вопрос у меня похожий что я задавал выше но теперь нужно это же реализовать через MikroTik. Подскажите как это сделать ? Что бы мой домашний MikroTik использовал шлюз MikroTikа который находиться в офисе тем самым на моем домашнем пк был внешний айпи адрес MikroTikа офисного.
Добавьте в свой микротик маршрут по умолчанию через l2tp соединение с офисом. Или просто галочку поставьте в настройках соединения l2tp на своём микротике Add Default Route, которая на вкладке Dial Out.
Интернет пропадает тогда =/
Дистанция у маршрута с vpn должна быть ниже, чем у основного маршрута. Я уже точно не помню, как настраивать надо со всеми деталями, но особо проблем никогда не было, когда подобные настройки делал. Вот пример, когда весь трафик идёт через vpn: https://serveradmin.ru/nastroyka-openvpn-client-na-mikrotik-s-zamenoy-shlyuza/
Похоже это все индивидуально, нужна отдельная статья по маршрутизации и Firewall .
Спасибо, прочитаю и попробую.
В интерфейсе l2tp клиента нужно было в строке Use peer DNS поставить Yes и в DHCP client понизить приоритет "Distance" например выставить цифру 2. Тем самым l2tp будет по умолчанию использовать шлюз микротока со стороны офиса. Долго я искал эту информацию)) может кому поможет.
Да хранят тебя компьютерные боги за ответы на тобой же поставленные вопросы
Здравствуйте.
L2tp+IPsec канал между двумя микротами. Поднимается на ура, маршруты прописаны, все пингуется в обе стороны.
Но подключиться могу только к компам на стороне микротика выступающего в качестве сервера в другую сторону не получается. создал правила forward accept и включил лог на обоих микротах, пакеты уходят и возвращаются, все четко видно запрос/ответ и пинг и RDP, но вот только подключение RDP не устанавливается.
И еще одна странность при подключении vpn теряется доступ к части сайтов (к примеру hh.ru)
Сам себе отвечу, может кому поможет.
Проблема с сайтами была из-за размера MTU для bridge (actual MTU -1408), он просел из-за поднятого EOIP и MTU для PPPOE. RDP так же работал в одну сторону из-за MTU (со стороны клиента MTU<1400).
Обычно проблемы с МТУ приводят к снижению производительности, но не к полному отсутствию связи. Если есть несовпадение по МТУ, то просто происходит лишнее дробление пакетов на части. Но они при этом не должны теряться.
Здравствуйте, настроил l2tp по вашей статье, подключение есть, но доступны не всё адреса в сети, какие то компы доступны (пинг) какие то нет, в чем может быть причина?
Пинг может не проходить по многим причинам. Например, запрещено на Firewall, или антивирус блокирует. Также на хостах, что не отвечают на пинг, может быть другой шлюз по умолчанию, а на нём нет маршрутов до vpn сети.
Добрый день, единственно есть 3389 доступ, через андроид vpn поднимаеться но нет доступа к 3389 и папкам, доработайте статью по l2tp!
Здравствуйте. Извиняюсь, если этот вопрос уже задавался.
Как сделать так, чтобы при подключении из операционной системы к Mikrotik L2TP/IPSec VPN в сам VPN туннель заворачивался не весь трафик, а только трафик до нужных мне узлов или подсетей?
Вот в OpenVPN можно при подключении автоматически прописывать маршруты.
А вот с Mikrotik получается либо по умолчанию гнать весь трафик в VPN, либо убирать галочку использования основного шлюза VPN и руками прописывать маршрут до узлов или подсетей, которые находится за VPN'ом.
Простых способов нет. Либо вручную (скрипты) маршруты прописывать, либо настраивать dhcp сервер для l2tp клиентов и через него раздавать маршруты. Вот тут есть теория по раздаче маршрутов через dhcp на примере сервера debian: https://serveradmin.ru/nastroyka-pptp-servera-na-debian/#_dhcp
Здравствуйте!
Настроил vpn l2tp server на Микротике.
На роутере есть подключенный диск, на нем общая папка.
Из локальной сети к ним доступ по самбе есть, а по vpn нет, хотя пинг идёт. Что делать?
Не понял, куда подключен диск? Напрямую в микротик?
Здравствуйте, настроил GRE туннель на 2 микротиках, 1 и 12 подсеть, с первой подсети 12 пингуется, с 12 первая нет, в чем может быть проблема?
Разобрался, спасибо
Доброго времени суток. l2tp+ipsec на нем поднял впн между офисами, скорость загрузки файлов очень маленькая, подскажите пожалуйста на что обратить внимание. Спасибо за статью.
На загрузку роутера. Бюджетные модели не тянут высокие скорости по VPN с шифрованием.
Да нет, максимально загрузка cpu доходит до 25%, аппарат RB2011.
Какая максимальная скорость туннеля получается?
4КБ/с
Не понял, это ошибка? 4КБ/с это почти что 0 по современным меркам. С туннелем явно какие-то проблемы. Он по сути не работает, а бегают только какие-то служебные пакеты.
400КБ ошибся, извините.
Это больше похоже на правду и какие-то явные проблемы. Мне заочно трудно что-то советовать. Я бы проверил для начала работу с другим шифрованием или совсем без него. Попробовал менять MTU, протестировать другой туннель для сравнения. Этот роутер должен 50-70 мегабит уверенно давать в vpn, а может и больше.
Подскажите пожалуйста, настройка l2tp туннеля таким способом как в статье можно объединить 4 удаленных офиса между собой ?
Да, можно. Это хорошее типовое решение будет.
Владимир доброго дня, подскажите как профи, спрашивал разных знающих админов и все отвечают по разному. На микротике поднят Vpn сервер, пул впн вынесен в подсеть 172.31.122.2-7, локалка в сети 192.168.1.1. При подключении по впн пингую только адреса впн пула, локалку не вижу, так как не использую удалённый шлюз сети. Вопрос в том можно ли настроить маршруты между сетями без прописывания локальных маршрутов за микротиком (с ПК откуда происходит подключение по впн), ну и соответственно без использования в винде удалённого шлюза сети. Одни админы утверждают что можно, другие что никак)
Все необходимые маршруты должны быть прописаны на шлюзах и компьютерах с обоих сторон. Вы просто мысленно или на схеме представьте, как идёт пакет из одной сети в другую, с одного компьютера на другой. Сначала он попадает на первый шлюз, на этом шлюзе должен быть маршрут дальше. Пакет идёт дальше, попадает в итоге на нужный комп. Дальше этот комп должен знать полный маршрут обратно до компа, откуда прилетел пакет. Он отправляет пакет на свой шлюз, этот шлюз должен иметь маршрут, чтобы отправить пакет дальше и т.д.
И тогда станет понятно, где и как надо настроить маршруты. Варианты могут быть разные. Главное, чтобы устройства всегда знали, куда должен отправиться пакет, чтобы попасть к адресату с конкретным ip. Как только в цепочке кто-то один появится, кто маршрут не знает, пакет застрянет.
Ребят помогите разобраться.
Имеется настроенный vpn l2tp сервер с пулом адресов 172.49.1.2-172.49.1.100
Настроил выделенный пул для vpn 172.49.2.100-172.49.2.105
Добавил правило в файрволл для vpn
Все, подключение проходит нормально, пакеты улетают на роутер.
Мне нужно подключиться в локальной машине в офисе 172.49.1.99 (к обычной сетевой папке "obmen")
Но пропинговать ее не получается, пакеты летят только до адреса 172.49.1.1, другие адреса тишина.
Как я догадываюсь дело в маршрутизации, но пока победить эту ситуацию не получилось. Конечно разуметься пробовал настроить маршруты по статье и поиграться со значениями, но ни к чему не привело.
Ребят помогите победить микротик))) Ломаю голову по вечерам после работы 3 день.
Добавлю немного, причем настроил маршрутизацию что пакеты иду по адресам 172.49.1.XX, но не идут на 172.49.1.99. Может проблема не в маршрутах а в фаерволе, либо в самой локальной машине что то не то, имею ввиду в рабочей?
Здравствуйте!. Я настроил vpn по типу pptp, и возникла проблема. Когда я подключаюсь на созданный профиль в разделе secrets то сразу через 3 секунды или 2 секунды отключается, повторно подключаюсь, снова такая проблема. Можете объяснить в чём проблема, пожалуйста
У меня такая проблема была из-за того, что Beeline рубил пакеты GRE когда находишься за его NAT. Причем он рубит их как-то выборочно, т.е. соединение может отвалиться через 2 секунды, а может через 5-10. Вариантов у меня оказалось 2: настроить SSTP - он проходит успешно, либо покупать у Билайн внешний статический IP. Удаленным сотрудникам у кого вылазит такая проблема я дал выбор: либо бесплатно SSTP, либо за их деньги, но будет ходить PPTP.
Долбил я техподдержку Beeline по этому поводу долго - больше 2 месяцев, пока не нарвался на инженера который честно сказал что они в принципе подобные заявки сливают в унитаз и мне ловить нечего. Ютуб, почта и ВК работает? Работает. Остальное их не колышет.
Себе я купил внешний IP-адрес, т.к. нужна высокая скорость хождения трафика. Шифрование включил, но это больше как перестраховка, т.к. клиенты цепляются к серверам по SMB V3 и там свое шифрование приличное.
интересный случай. Fortigate - Mikrotik (gre+ipsec) доменные подразделения. При включении в GPO домена ipsec политику по icmp (с подписыванием заголовков AH) перестает проходить трафик между доменными ПК подразделений, трафик между ПК не в домене проходит. Получается GRE + ipsec на маршрутизаторах не может пропустить трафик доменного ipsec-icmp. Кто-нибудь сталкивался, куда копать?
Как настроить Win7 для подключения к впн серверу по SSTP ? Пишет ошибку "цепочка сертификатов обработана но обработка прервана на корневом сертификате sstp"
Для Win7 скорее всего уже давно нет обновлений корневых сертификатов. А в настроенном sstp используется один из тех, что подписан неподдерживаемым CA. Отсюда и ошибка.
CA сертификат с маршрутизатора выгрузите и установите в доверенные корневые центры сертификации на клиентском ПК (лучше в системное хранилище).
Здравствуйте, настраивал L2TP по данному мануалу, но есть одна проблема, которую никак не удается решить: клиенты по обе стороны роутера не могут пинговать друг друга, зато RDP работает. Добавлял маршруты, включал Proxy-ARP на bridge, всё без толку.
И ещё вопрос... возможно глупый, но... После попытки паралельно с l2tp поднять pptp соединение в фаерволе появилась надпись l2pt-in 1 not ready. Соответственно подключение больше не возможно осуществить. В чём может быть причина?
Доброго времени суток. Спасибо за статью. Всё настроил соединение стабильное, но к удалённому серверу подключится не получается и на локальном компе падает интернет. полез в состояние и увидел что маска подсети 255.255.255.255. А должна быть 255.255.255.0 Как исправить маску или задать её принудительно?
Нужно отключить в свойствах l2tp соединения в винде параметр "Использовать основной шлюз в удалённой сети". Тогда интернет не будет отваливаться на локальном компе. А маршруты в сеть за vpn сервером нужно будет прописать вручную.
Спасибо автору за классную статью, понятно и без лишней воды, сохраню как памятку для себя)
Здравствуйте, вероятно сейчас задам глупый вопрос.
Зачем в PP\Secrets в строке Profile задавать имя профиля, на что он влияет? (в данном примере это профиль l2tp), ведь этот профиль мы указываем в настройках PP\Interface\l2TP Server строка Defoult Profile.
Я к тому, что если в настройках пользователя PP\Secrets указать профиль с другим пулом адресов, то при авторизации он всеравно вроде как работает в пуле который указан по умолчанию в настройках L2TP Server.
в общем на этом моменте я немного подвисаю..
Возникла идея, что в PP\Secrets из профиля берется не настройка пула адресов, а наверное что-то другое... только я не знаю что )
Имеется головной офис, настроен сервер VIN (L2pt с IPSec ) так же есть некоторое количество пользователей которые подключаются из дома и 2 офиса. в 1 м офисе настроен 2 роутер там все нормально, во 2м офисе 2 рабочих места интернет раздается роутером провайдера, при настройке VPN на этих 2х местах получается следующая ситуация, если один пользователь подключился к VPN то, при подключении 2го либо отключается 1й клиент, либо 2й клиент висит. как сделать настройки что бы с одного IP адреса могло подключаться несколько клиентов?
у сервера VIN (L2pt с IPSec ) на микротике есть ограничение на подключение удаленных клиентов с одного ip-адреса. и к сожалению там разрешено только одно подключение
Может не в тему, как сделать что бы виндовый клиент VPN всегда автоматом подключался при старте Windows
и делал реконект при отсутствии пинга
Чтобы openvpn автоматически подключался, надо его установить как службу. А за перезапуск при отсутствии связи отвечает параметр в клиенте:
keepalive 10 20
Пинговать каждые 10 секунд сервер и если в течении 20 секунд не будет ответа, перезапустить подключение. Секунды можно выставить по своему усмотрению.
а если PPTP или L2TP соединение?
Про них не знаю. Наверно какой-то скрипт надо сделать и добавить в автозагрузку.
Короче Микротик фигня но интересная! Скажите а почему может быть низкая скорость l2tp server ipsec? 100 мбит у сервера и 50 мбит у потребителя, а тунель в килобитах. Где я что упустил?
Так какая скорость туннеля получилась? Тут все зависит от шифров, производительности процессора, наличия платы аппаратного шифрования и т.д.
Короче в хорошем раскладе 5 мбит, потребителей всего 3 потребителя. А роутер hex RB750 Gr3. Процессор вообще не нагружен от слова совсем. Этот роутер имеет аппаратную поддержку шифрования IPsec. Что можно поменять, куда копать?
Можете в сравнение добавить IKEv2
Аналогичный вопрос. 2 RB4011, у обоих белый ip. Один сервер, второй клиент. L2TP + ipsec. Btest между самими микротиками выдает до 80+ mbit/sec (tcp/udp, в любую сторону, разные варианты в общем) , а если проверять с клиента (в локальной сети микротика в роли l2tp клиента) - максимум 10mbit/sec. . В какую сторону смотреть?
Здравствуйте! Помогите решить проблему. есть 3 сети : 192.168.10.х и 192.168.20.х это vpn клиенты подключаются к третей сети 192.168.30х там стоит l2tp сервер на микротике (у клиентов тоже микротики), у всех белые ip. Проблема в том, что из 192.168.30.x я вижу все сети (ip адреса) и все сети видят 30ю сеть, а вот из 192.168.10.х не видно 192.168.20.х и наоборот. Каждая сетка подключается под своей учеткой. Я уже пробовал указать маршруты ручками :
route add 192.168.20.0 mask 255.255.255.0 192.168.30.1
где 192.168.30.1 это vpn сервер на микротике. Не помогло. Возможно мешают настройки фаэрвола ? настраивал по Вашей статье. Помогите пожалуйста :)
Вам никто не поможет заочно, так как разобраться в своей сети можете только Вы сами. Недоступность vpn сетей между собой это 100% проблема либо Firewall, либо Маршрутизации. Просто внимательно всё проверьте. Убедитесь, что пакеты ходят в обе стороны корректно. Можете даже схему нарисовать на бумаге и посмотреть, как с учётом всех указанных шлюзов пойдёт пакет и ответ на него. И не забывайте, что если проверяете пингом какие-то компьютеры, ответы на ping могут блокироваться фаерволами самих компов. Удачи в настройках!
Эх. Спасибо. Видимо надо серьезней разобраться с правилами фаэрвола )
Решаю проблему заочно. Вариант первый, что мешает вам соединить 192.168.10.х и 192.168.20.х между собой тунелем точно также как вы подключаетесь к 30.х. Во первых ping будет короче (потому как ping из 10 сети в 20 через 30 будет равtн сумме двух pingов 10->30 и 30->20. Соответственно обратный будет длиннее). Второе. Нет лишней нагрузки при маршрутизации пакетов из сети 10 в сеть 20 на роутере, что поддерживает сеть 30. Это имеет смысл учитывать при работе с слабыми моделями микротика.
Спасибо за идею !)
Здравствуйте.
Вопрос по EoIP. Обязательно ли обоим микротикам иметь белые IP и может ли второй микротик находится за NAT?
Точно не знаю. Где-то видел информацию, что eoip работает на протоколе gre, а значит через nat не пройдет. Но на крайний случай можно настроить l2tp, а поверх него пустить eoip между адресами, полученными через l2tp. Он через nat без проблем проходит.
eoip поверх l2tp прекрасно работает, только если отключить правило add action=drop chain=input, каким правилом его разрешить?
Обязательно. Тк. серый IP, который вы получаете, будучи за NAtoм, не маршрутизируется ни одним провайдером. Для построения туннеля такого типа нужны 2 белых, чесных IP
2 белых - роскошь, тем более клиент на 3G. Вобщем то в пределах L2TP все работает, надо чуть только подкорректировать файервол.
Здравствуйте.
Микротик клиент находится за NAT, периодически канал отваливается и сыплет "phase1 negotiation failed due to time up" потом востанавливается, есть подозрение, что кто-то параллельно с ним (не за микротиком) пытается поднять VPN и они мешают друг другу (где то читал про такую проблему). Может ли такое быть и зависит ли это от типа VPN? что в качестве шлюза не знаю, провайдер ростелеком, канал L2TP, версия клиента 6.47.1
При построении L2TP канала вы скорее всего включили IPSec для большей защиты данных. Но в описании к работе IPSec сказано, что есть такое понятие как время жизни ключа шифрования. Оно периодически меняется самим микротиком. И если в параметрах L2TP сервер у вас не стоит чекбокс L2TP One Session per host, то вполне возможно, что кто-то пытается пробиться к вам в туннель. Оборудованию это не нравится и оно инициирует перезапуск туннеля. Либо второй вариант, что больше похоже на правду, провайдер по тем или иным причинам потерял достаточно большое кол-во ваших IPSec пакетов и тогда тоже происходит перезапуск туннеля.
Последний месяц работает, так что позднее, ради интереса, гляну, но менять настройки пока не буду, до него 500 км :). Спасибо.
День добрый! Спасибо за статью! Не подскажете можно ли объединить два офиса по l2tp ipsec в одной сети? В этой статье используются сети 10.20.1.0/24 и 10.30.1.0/24. Я попробовал соединить два офиса по одной сети, конечно, с разным пулом адресов, но не фига не вышло. Это вообще возможно? Можете как-то прокомментировать?
Это скорее всего возможно, но слишком сложно и в целом неправильно. Получается вам на каждый ip адрес нужно будет писать отдельный маршрут, чтобы было понятно, в вашей сети он находится или в удаленной. Если подсеть одна и та же, то как компьютеры должны понимать, обращаться надо локально или в удаленную сеть? Для каждого удаленного ip на микротике придется прописывать маршрут через l2tp. Тут надо либо подсети разделить, либо использовать не l2tp, а eoip.
Спасибо! )
Здравствуйте. Запустил связку из двух микротиков по l2tp все работает, но после обрыва связи приходится в ручную поднимать марщрут: в ip => route указывать в качестве gateway l2tp канал. Где я ошибся?
Хм, даже не знаю. Если один раз указать вручную маршрут, то даже в случае отвала интерфейса, он там остается и его не приходится еще раз вручную вводить. Когда интерфейс возвращается, маршрут поднимается. Я не понимаю, почему у вас он исчезает. Сам с таким не сталкивался.
https://disk.yandex.ru/i/lldbAbGLMn4-jA
Скрин для понимания ситуации. сам маршрут для канала вновь создается, а в маршруте для доступа в удаленную сеть нужно указывать шлюз.
Может поздно уже пишу, но ...
На стороне L2TP Server в PPP/Secrets - необходимо прописать Routes в формате 192.168.1.0/24, где 192.168.120.0/24 - ваша сеть, теряемая в маршрутах.
И еще, в определенной ситуации, если к Микроту- серверу предполагается подключать много клиентов, то в Микроте-сервере в разделе PPP Profiles - Local Address лучше прописать конкретный IP из пула к примеру 10.10.5.1, а в пуле уже указать диапазон 10.10.5.2-10.10.5.254 - Будет более наглядно.
Не поздно, все отлично! Пять баллов. Спасибо.
Спасибо, помогло.
1) Вы не создали L2TP Server bind в интерфейсах
2) Пере подключение происходит настолько быстро, что сервер не успевает понять, что туннель разорван. И тогда в интервейсах появляется новый l2tp интерфейс начинающийся с L2TP-наименованием на который у вас естественно нет ссылки в route table. В таком случае помогает только рестарт туннеля, либо вручную удаление нового неправильного туннеля.
Давно использую микротики, при выборе оборудования для организации тоннелей, берите модели с поддержкой аппаратного шифрования ipsec, я для дома взял hap ac2 там ipsec аппаратный, при скорости в 11мегабайт/с загрузка cpu- 16%
Здравствуйте!
Подскажите, пожалуйста, такой момент:
Между 2 офисами с микротиками проброшен VPN. Есть файловый сервер и общие папки доступны в обоих офисах. На файловом сервере было нужно переустановить ОС, перенесли все на подменный ПК (у него стало такое же имя, сетевые настройки и МАС). В основном офисе для пользователей ничего не изменилось, а в другом общие папки стали недоступны (комп перестал пинговаться по имени и адресу, при этом сервер 1с был доступен). После переустановки ОС и настройки сервера его вернули на место и во втором офисе все стало работать.
Есть какие-то идентификаторы сетевой карты, по которым роутер определил, что это не тот ПК, или это просто непонятный глюк?
Нет никаких идентификаторов. Скорее всего какие-то проблемы с виндой были. Частенько бывает, что на шару не получается зайти. Причин может быть много.
Здравствуйте!
Интересная и полезная статья. Как я понял все тесты сделаны на популярных 951G. Но есть один момент, который очень интересно так же досконально проверить. У Микротика есть устройства с поддержкой аппаратного шифрования, например популярный 750G3 или мощный 4011. Как и в каких вариантах VPN заработает эта аппаратная поддержка шифрования? Подозреваю, что не на всём оборудовании и далеко не во всех случаях. Есть ли у Вас наработки на эту тему?
А вот про стенд можно подробнее, я собирал два HEX S интерфейсами WAN в коммутатор, LAN интерфейсы к ПК и ноутбуку, попытался L2TP настроить, пинги только от сервера к клиенту пошли, а потом пропали, да так и не нашлись. Может в стенде чего не хватает, типа LAN третьего маршрутизатора требуется в коммутатор завести?
Я уже не помню точно, как все собирал. У меня дома два гипервизоа, сетевые устройства разные, микротики. Можно воспроизвести реальные условия.
Ну ясно, вариантов много возможных. Как выяснилось, у меня ноутбук не хотел на пинги отвечать.
>> К тому же в самом микротике нет никаких средств для создания сертификатов сервера и клиента. Необходимо использовать сторонние утилиты.
----------------------------------------------------------------
Вот это сейчас что было? Откуда такие брутальные утверждения?
Уважаемый автор, исправьте статью.
"L2TP -....... Сам по себе не обеспечивает шифрование."
Матчасть: https://wiki.mikrotik.com/wiki/Manual:Interface/L2TP
Ваша, надеюсь не преднамеренная, ошибка начинает плодить клонов. Что приводит к безграмотности. ПРУФ: https://zen.yandex.ru/media/id/5fc25fbb2dc11818a0c0d513/nastroika-vpn-l2tpipsec-openvpn-i-dr-servera-v-mikrotike-5fc27934d57ee92752e220d5
Mikrotik - прекрасное оборудование, но к сожалению из-за некомпетентности многих авторов. интернет забит откровенно мусорными советами.
Можно пример откровенно мусорного совета в статье? Зачем цепляться к словам?
Сам по себе Layer 2 Tunneling Protocol (L2TP) не обеспечивает шифрование передаваемых данных, только свои управляющие сообщения - https://en.wikipedia.org/wiki/Layer_2_Tunneling_Protocol
In computer networking, Layer 2 Tunneling Protocol (L2TP) is a tunneling protocol used to support virtual private networks (VPNs) or as part of the delivery of services by ISPs. It uses encryption ('hiding') only for its own control messages (using an optional pre-shared secret), and does not provide any encryption or confidentiality of content by itself. Rather, it provides a tunnel for Layer 2 (which may be encrypted), and the tunnel itself may be passed over a Layer 3 encryption protocol such as IPsec.
Мне кажется в данной статье вы обозреваете конкретное оборудование а не абстрактный протокол. На Wiki микротика написано: MPPE 128bit RC4 encryption is supported.
ПРУФ: https://wiki.mikrotik.com/wiki/Manual:Interface/L2TP
Более того, на экзаменах для получении сертификата Mikrotik есть такой вопрос. Опять-же вы-же включили в рейтинг eoip, его как-бы никто кроме микротика не поддерживает.
Мусорных советов я в вашей статье не нашёл, хотя если честно искать особо и стремился. В принципе то статья неплохая, может кто нибудь почерпнёт полезную информацию.
К чему я вообще завел эту тему? Не вводите начинающих в заблуждение. Кто-то решит что L2tp - без IPSEC не жизнеспособен, а это неправда. Чудесный, быстрый протокол с шифрованием, и нативным клиентом почти во всех ОС.
Добрый день.
Спасибо за ваши статьи.
Есть ремарка по статье: ROS уже умеет сама создавать и подписывать сертификаты абсолютно без использования каких-либо сторонних средств и утилит, очень удобно. Возможно кто-то уже это отмечал из комментаторов.
Описано например здесь: https://interface31.ru/tech_it/2020/01/nastroyka-openvpn-servera-na-routerah-mikrotik.html
В разделе "Создание ключей и сертификатов".
Спасибо за информацию. Знаю об этом. Привык использовать easy-rsa на linux, поэтому и тут пошел по этому привычному пути.
Спасибо, дружище! Твёрдая инструкция, всё сделал по пунктам и заработало!)
Странное дело. У меня pptp туннель поднялся сразу, а вот сообствено доступ меж локалками появился только после того, как я в графическом интерфейсе на сервере сделал трассировку до хоста в удалённом офисе. До этого пинговались только сами роутеры. Теперь надо понять как резолвить оборудование по именам.
Резолв оборудования по именам задача DNS сервера. В микротике есть очень ограниченный функуционал на эту тему. Можно только статические записи добавить соответствия имени и ip адресу.
L2TP - Layer 2 Tunneling Protocol. Несмотря на то, что в названии указано l2, реально в ip сети он работает на сеансовом уровне, то есть l3.
Поправьте, пожалуйста, л3 - это сетевой, а не сеансовый.
Тут я немного запутался и на самом деле написать правильно не так просто. Если открыть ту же википедию, то там сказано, что l2tp действует наподобие l2 канального уровня, но реально работает в сеансовом, то есть пятом. Я когда писал, в голове держал разницу между физической адресацией на l2 и уже логический на l3. Тут как ни крути, но уровень уже логический получается.
Очень помог с ipsec сервером на микротик !
Далее сам проверял так же может и на 7 версии работать
Для centos 8 действующий конфиг как настроить клиента
https://github.com/hwdsl2/setup-ipsec-vpn/blob/f838fcfe12144835177563b54e97c1b9d7cfa032/docs/clients.md#linux-vpn-clients
Для centos 8 действующий сервер
http://www.admblog.ru/centos-vpn-server-setup-quick/
Спасибо за инфу 🤝
Здравствуйте, подскажите плиз кто знает ответ на такой вопрос:
Есть два микротика с разными подсетями (192.168.88.0/24 и 192.168.77.0/24) выходы в мир у них тоже свои. Они находятся в единой локальной сети, объеденные между собой по локальным бриджам витухой. Сети и клиенты этих сетей друг друга видят.
На 1-м микротике поднят PPtP сервер с подключающимися на него клиентами на микротиках со своими подсетями (192.162.33.0/24 и т.д.).
Суть в том, что на первом микротике который является сервером PPtP с локальной сетью 192/168.88.0/24 компьютеры этой сети видят VPN клиентов и работают с ними, а компы второй сети и сам второй микротик VPN клиентов первого микротика не видят. Маршруты VPN сетей на втором микротике прописаны но ни шлюзы ни клиенты VPN недоступны.
Правила фаерволов вообще отключал - но толку ноль. Может на 1-м микротике надо в нате что-то прописать? Подскажите кто сталкивался с таким вопросом.
Это проблема 100% настройки маршрутов. Надо аккуратно проверять, что маршруты есть в обе стороны. Убедитесь, что у самих клиентов vpn первого микротика 88, есть маршуты в сеть 77. Может так получиться, что их ответы просто не доходят до адресатов из 77.
Добрый день.
Есть тунель site to site L2TP+IPsec между офисами. Случается что клиенты подключаются к VPN serverу из офиса а основной VPN тунель site to site отвалтвается. Сталкивались с таким, куда копать?
Отваливается по какой причине? Какие-то ошибки должны быть.
В том то и дело что нету ошибок в логах. Есть только клиент подключен и главный тунель отключен.
Если так явно происходит, значит точно где-то ошибка в конфигах. Может ip адреса как-то пересекаются или учетки одни и те же используются. Так заочно трудно что-то посоветовать. Надо весь конфиг устройства выгружать и анализировать. Но у меня нет возможности этим заниматься.
PPP-Profiles в настройках профиля какой прописан Remote Address ?
На VPN сервере
/ppp profile
add change-tcp-mss=yes dns-server=192.168.88.9,10.0.10.103 local-address=\
10.0.9.1 name=profile_l2tp remote-address=vpn_pool use-encryption=yes
на VPN клиенте
default - тоесть пусто.
Я что то пропустил?
PPP - L2TP Server - галочки One Session Per Host не стоит случайно ??
Нет, галочки отсутствуют.
Если у ваших клиентов подключение с винды по протоколу L2TP+IPSec из-за NAT, то так и будет. Проблема в IPSec
Не использовать IPSec или настроить другой тип VPN
Крутая статья ! На все случаи жизни VPN, так сказать ! Отличная работа. Я заметил, что не указана настройка Ipsec - Proposals. По дефолту там в
Encr. Algorithms ключены aes-128 и aes-192. Галки должны стоять на aes-256cbc и aes-256ctr. В Auth Algorithms оставляем только sha1. Если подрубаем клиентом второй микрот, то Ipsec Profile оставляем 3des, aes-256 и mod 1024. Не забудте поставить галку NAT Traversal.
Настройки Ipsec-Profile производятся на Микроте, который является клиентом в связке l2tp+ipsec
Добрый день. Кто-то постоянно стучится на L2TP сервер, т.к. идут сообщения на 500 порт. Можно его в блок-лист добавить?
https://prnt.sc/u3dt8b
Добавьте, почему нет?
Можете настроить fail-to-ban для автоматической блокировки адресов с которых идет попытка взлома l2tp. Есть мнение, что при брутфорсе может отвалится память устройства, но сам я с таким не сталкивался. Правила ставте вверх списка.
L2TP Brootforce
/ip firewall filter add action=drop chain=input comment="Bruteforce l2tp prevention" dst-port=1701,500,4500 protocol=tcp src-address-list=l2tp_BlackList
/ip firewall filter add action=add-src-to-address-list address-list= l2tp_BlackList address-list-timeout=15d chain=input comment="Bruteforce l2tp prevention (l2tp: stage3 to l2tp_BlackList)" connection-state=new dst-port=1701,500,4500 protocol=tcp src-address-list=l2tp_stage_3
/ip firewall filter add action=add-src-to-address-list address-list= l2tp_stage_3 address-list-timeout=1m chain=input comment="Bruteforce l2tp prevention (l2tp: stage2 to stage3)" connection-state=new dst-port=1701,500,4500 protocol=tcp src-address-list=l2tp_stage_2
/ip firewall filter add action=add-src-to-address-list address-list= l2tp_stage_2 address-list-timeout=6h chain=input comment="Bruteforce l2tp prevention (l2tp: stage1 to stage2)" connection-state=new dst-port=1701,500,4500 protocol=tcp src-address-list=l2tp_stage_1
/ip firewall filter add action=add-src-to-address-list address-list= l2tp_stage_1 address-list-timeout=12h chain=input comment="Bruteforce l2tp prevention (l2tp: stage1)" connection-state=new dst-port=1701,500,4500 protocol=tcp
Добрый день! Задача стоит подключаться сотрудникам с домашних ПК (Windows) к рабочей сети. По вашей статье удалось настроить l2tp+IPsec всё работает, спасибо! Но сотрудники с домашнего ПК получается используют для выхода в интернет канал офисного интернет провайдера. Как сделать так, чтобы у пользователей был доступ только к рабочей сети, а в интернет использовался домашний канал.
Простого способа нет. Чтобы пользователи не использовали офисный интернет, в свойствах l2tp подключения нужно убрать галку "Использовать основной шлюз в удаленной сети" (гуглится по названию). Но после этого, чтобы они попадали в сеть офиса, им нужно передать маршруты до него. Каким образом это сделать - вопрос открытый. Можно им батник давать, который будет прописывать маршруты. Есть более удобные, но сложные в настройке способы. В рамках комментария не могу раскрыть эту тему. Есть хорошее видео по данной проблеме - https://www.youtube.com/watch?v=JgsN_qPnEBw
Что бы не прописывать маршруты, не устанавливайте в рабочие сети адреса класса с. Используйте адреса класса а, и все будет работать. Кстати есть вебинар по Микротик на эту тему.
Собственно вот уже пару недель перевел всех удаленщиков на l2tp+ipsec+radius (для авторизации под AD учеткой) полет отличный, маршруты передаю через RIP для Windows клиентов (все остальные конечно default route) Видео которое автор привел ниже очень помогло.
Да, видео крутое по данной теме. Разобрана всесторонне. Мне в свое время такого не хватало. Решал через dhcp эти вопросы. Но там погружаться надо и инфы не очень много.
Добрый день.
Не могу что-то разобраться в чем может быть загвоздка.
микротик клиент имеет сеть 192.168.134.1/24
настроил подключение с микротика на микротик по l2tp
у клиента адрес 192.168.135.105 у сервера 192.168.135.5
с самого микротика клиента пингуется 192.168.135.5
захожу на комп в сети клиента микротика, адрес его 192.168.134.250
пинг на 192.168.135.105 проходит
пинг на 192.168.135.5 не проходит
делаю трассировку для 192.168.135.5 чтобы проверить куда пакет идет
1 <1 мс <1 мс <1 мс 192.168.134.1
идет куда надо
в фаерволе клиента создал правило принимать все icmp пакеты отовсюду, чтобы проверить - пусто, ничего туда не приходит.
и еще непонятка, при подключении по l2tp микроти создает динамические адреса 192.168.199.202/24 и использует их/его IPSEC policies и пирах. Похоже на какую-то подсеть дополнительную, так и должно быть или нет? :)
Настроил на основе советов статьи VPN l2tp-ipsec
Скорость копирования очень больших файлов по l2tp-ipsec туннелю из Крыма в СПб стала 1,56мб/с, а по sstp скорость была 250 кб/с. То есть скорость выросла в 6 раз! Такая скорость в принципе достаточна для отправки ночами накопленной за день информации, а также для доступа и просмотра видео с видеорегистраторов.
Спасибо за довольно подробную статью. Для новичков будет полезно вставить в статью ссылку на правильную статью по настройке файрвола, чтобы ничего не напутали.
Еще небольшое дополнение:
решил сравнить скорость по l2tp-ipsec и по pptp из Крыма до Питера.
Попробовал подключиться с Windows 7 компьютера до сервера PPTP поднятого на питерском микротике.
ВНИМАНИЕ! Не смог установить соединение!
Виндос выдал ошибку 807 Сетевое подключение компьютера к виртуальной частной сети прервано ...
и указал что пытался установить связь с незнакомым мне ip: "185.63.189.44"
(проверил этот узел - hostname: "hwdedic.ru city: "Moscow")
Такое ощущение, что один из промежуточных узлов между Крымом и Питером рубит pptp.
Это я веду к тому, что sstp пролезает через любую дыру, а в pptp провайдеры рубят как хотят.
Плюс интересное наблюдение: Мегафон на Северо-Западе вдали от крупных городов практикует длинные перерывы передачи пакетов, таким образом сокращает фактическую скорость. Провел несколько десятков тестов ночью, когда сеть Мегафона менее всего нагружена:
без VPN режут скорость моментально!
UDP проходит 10 мбит/с (базовая станция поблизости только 3G) и тут же режут интернет так, что все проги тестовые прекращают работу с сообщением, что интернет-соединение завершилось
PTPT режут путем увеличения времени между передачей пакетов и ограничением сверку примерно 3,7 мбит/с
а SSTP не режут если его нагружать "мягко". Примерно 3,7 мбит/с выходит.
Но когда включаю btest и заставляю канал нагрузить жестко, то Мегафон даже у SSTP соединения временами увеличивает время между передачей пакетов. В итоге средняя скорость получается РОВНО 2,7/3,5 - однозначно у них настроено DPI оборудование, т.к. без такого нагрузочного тестирования цифры скорости соединения скачут и ровными не бывают.
Вообщем SSTP - палочка-выручалочка в ситуациях, когда операторы мобильной связи жёстко режут скорость трафика.
А l2tp - ipsec хорошо подходит для "проводной" связи по utp-кабелю или оптике, чтобы добиться более-менее приемлемой скорости передачи файлов между удаленными на тысячи километров микротиками.
Благодарю за столь подробую статью по настройке L2TP+IPSec
Решил настроить такой туннель по причине крайне медленной работы SSTP-туннеля, при канале 50 мбит мои роутеры Mikrotik смогли обеспечить между Крымом и Питером соединение со скоростью перекачивания файлов 250 кб/с.
Между теми же регионами PPTP дал скорость 580 кб/с на одинаковых файлах (более 1Гб).
Как настрою L2TP+IPSec то постараюсь отписаться о скорости копирования файлов, которую удастся достичь.
Как сделать, чтобы без ключа IPSec не подключался к микротику? Без ключа все равно происходит подключение но с шифрованием как PPTP.
Господа,
на микротике всё сделал как описано, а на клиенте в win 10 так и не понял, что набирать.
1. Имя подключения - понятно, любое
2. Имя и адрес сервера - понятно, мой домашний статический IP
3. Тип VPN - L2TP/IPsec с общим ключом
4. Общий ключ - НЕ ПОНЯЛ, какой? мой пароль?
5. Тип данных для входа - имя пользователя и пароль
6. Имя пользователя - для нашего примера remote01
7. Пароль - понятно, пароль оттуда, где набирали и пользователя remote01
Без набора Общий ключ - не соединяется, выдаёт, что ошибка в безопасности/
Может кто что подскажет, что делать? Две недели уже бьюсь, не могу сделать. И через OPEN VPN пробовал, думаk l2tp прощу будет...
Общий ключ это пароль ipsec.
Благодарю!
У меня в настройка firewall отсутствует протокол ipsec-esc, а есть только похожий ipsec-esp. это он?
Zerox,
При подключенном ноутбуке с win 10 к роутеру mikrotik подключение по vpn происходит положительно, а при подключении к 4G сети - при подключении к vpn выдаётся ошибка: "Не удаётся подключение к VPN. Попытка L2TP-подключения не удалась из-за ошибки, произошедшей на уровне безопасности во время согласований с удалённым компьютером"
Можете помочь?
Статья отличная, спасибо! Но - "в самом микротике нет никаких средств для создания сертификатов сервера и клиента" - все-таки есть.
А там нет с этим проблем? Он выпускает сам сертификаты для openvpn?
Да, без проблем. Можно выпустить ca, сертификаты сервера и клиентов. Но мне более по душе способ, описанный в Вашей статье.
Здравствуйте! Отличный гайд, даже местами слишком подробный. Спасибо вам.
Но тем не мение видать я всё же где то смог накасячить.
Настраиваю l2tp+Ipsec. и сейчас сложилась странная ситуация, соединение client-to-site работает нормально. А вот с удалённого микротика к микротикусерверу, не хочет. Вернее соединение то устанавливается. Но пакеты туды сюды не бегают. Да что пакеты. Пингов то нет, request time out....
Да, автору ещё раз спасибо!
У меня похожая ситуация: после старта работает, а после какого-то события не работает, хотя пути в IP->Routes числятся как reachable. Видимо, нужны ещё правила файервола и [обновляемые по необходимости] маршруты.
Здравствуйте!
Большая... нет... ОГРОМНАЯ вам благодарность за эту статью! Сразу заработала конфигурация L2TP+IPsec, причём через интернет, у сервера белый IP. Прекрасная и очень нужная статья, в том числе и сравнение скоростей.
Если сможете, помогите, пожалуйста, разобраться...
0) Шифрованные пакеты по l2tp+IPsec идут по каким портам? Они видны промежуточному оборудованию просто как UDP между этими портами?
1) Внутренние узлы за микротиками не пингуются. Какое правило следует добавить в файервол, чтобы исправить это?
2) Если просто изменить адресацию сетей на 192.168.. или 172..., то сохранится ли работоспособность сети?
3) Может быть, Вы могли бы подсказать, что ещё нужно,чтобы между сетями стали видны IP-камеры?
б.н.)Я заметил одну опечатку в тексте "ipsec esc" -> "ipsec esp".
0. Точно не помню, но вроде 1701 udp. Для l2tp точно он, а вот в месте ipsec возможно добавляется еще один. Надо уточнять. Посторонние видят, что идут шифрованные пакеты по этим портам.
1. Дело не только в правилах firewall. Для работы vpn необходимо правильно настроить маршрутизацию. Мне трудно объяснить это в рамках комментария к статье.
2. Да, сохранится. Она принципиально на на что не влияет.
3. Нужно настроить маршрутизацию.
Как нам расширить рамки для объяснения? :)
Вы видите мой электронный адрес?
L2TP UDP1701; IPSEC UDP500, UDP4500
Здравствуйте.
Нужен доступ по VPN. Как будет выглядеть маршрутизация. В локальной сети есть несколько устройств вобще без шлюза (только локальный IP) либо с другим шлюзом (не микротик.)
Если устройства вообще без шлюза, у вас вариантов не много. Нужно настраивать vpn в едином широковещательном домене с основной сеткой. Из описанных в статье способов, вам подойдет только EOIP.
Вопрос возник, почему используется вариант с доп интерфейсом а не proxy-arp флаг для интерфейса смотрящего в локалку?
Не понял, о каком случае идет речь?
Каждый пример который вы настраиваете. В оконцове поднимаете допинтерфейс и маршрут чтобы через него был доступ к клиентам за впн сервером.
Почему просто не прописать в свойствах интерфейса смотрящего в локалку proxy-arp?
Или я не понял сути?
Вы что-то путаете. Я не понял при чем тут proxy-arp. Эта технология позволяет передавать arp запросы, проходящие через этот интерфейс.
Добрый день.
Хотелось бы увидеть статью по реализации вот такой связки:
mikrotik ikev2 radius
Mikrotik SOHO будь хоть трижды гигабитный все одно не будет давать гигабит, при использовании fasttrack скорость возрастет в два раза, но все одно не будет гигабита и появится гемморой с VPN
Отличная статья. Вроде обзорная, но по факту, углубленная в тему. Для полноты картины, есть ещё совсем простой ip-ip. В который уже можно заворачивать ipsec для секурности. Микротик, как и любой линукс - поддерживают.
Мне лично кажется, что l2tp + ipsec закрывает почти все потребности. Особо не вижу смысла настраивать что-то другое.
Зравствуйте, подскажите настроил на микротике pptp сервер клиенты подключаются из ОС Windows. На микротике прописан маршрут до клиентской сети. Вот в чём вопрос клиентская машина находиться за домашним роутером и у неё есть доступ к ресурсам pptp сервера в частности по RDP клиент подключается а вот наоборот не получается достучатся до конечного клиента на винде.
Что значит наоборот? Вы хотите подключаться по vpn соединению к компьютеру клиента? По какому адресу пытаетесь достучаться в обратную сторону? По идее, по адресу vpn туннеля должны попасть на клиента.
Сеть за pptp сервером 10.12.0.0/20, сеть за роутером клиента 192.168.0.0/24. Сеть vpn 10.12.20.0/24, На pptp сервере прописан маршрут к сети клиента 192.168.0.0/24 через интерфейс pptp-in1. Так вот клиент имеет возможность пинговать сеть сервера 10.12.0.0/20 а вот из сети 10.12.0.0/20 не получается пинговать сеть 192.168.0.0/24
Так требуются настройки в маршрутизаторе, который обслуживает сеть 192.168.0.0/24, чтобы трафик ходил из вне в его локальную сеть. Как минимум, нужен NAT на этом шлюзе для pptp подключения. Так же надо не забыть про firewall. Может еще какие-то ограничения есть, которые надо учесть.
Что то я вообще запутался, подключения по PPTP к серверу происходит в ОС Windows на роутере TP-Link на wan интерфейсе динамический IP от провайдера. Может в firewall роутера нужно пробросить порт 1723 для ip адреса нужной машины?
Вы куда хотите подключиться в обратную сторону? К какому устройству? К компу ОС Windows, на котором настроено pptp подключение?
Да
RB 750igs у них шифрование IPsec идет на аппаратном уровне, в итоге у меня загрузка проца не превышает 25% при шифровании aes-256 и пропускная способность 86Мб/с, для информации.
Вы не рассмотрели IPsec в туннельном режиме site2site.
Все верно. Если нужно шифрование, то надо обязательно обращать внимание на модель устройства и возможности аппаратного шифрования.
Владимир, поясните, пожалуйста, в каких ситуациях требуется l2tp или pptp, а в каких ipsec? В чем ключевые отличия не в плане настройки устройства а в плане предлагаемого функционала того или иного протокола vpn?
Спасибо.
Так статья же как раз об этом. Я в общих чертах и рассказываю отличия.
не совсем понял, в каких ситуациях подойдет pptp а в каких ipsec?
Например, для ipsec требуется чтобы оба пира были с белыми адресами, правильно? В плане безопасности ipsec превосходит p2tp и pptp, следовательно если есть возможно использовать белые адреса то предпочтение отдается ipsec? Или например важно, чтобы клиент мог из дома совершать подключения по vpn каналу и в таком случае подойдет только vpn клиент-серверного типа, правильно?так как публичный адрес, который требуется для ipsec отсутсвует (с малой вероятностью клиенты будут оплачивать для такого подключения внешние адреса-затратно) Но если дома белый адрес, то можно в принципе и ipsec использовать настроив соединение из под windows? В таком случае на роутере компании нужно организовывать несколько туннелей, под каждого клиента? Какие еще можно рассмотреть сценарии и какие приоритеты отдаются в выборе протокола vpn?
Не хочется на все отвечать по пунктам. Очень много вопросов. Отвечу кратко. Из ваших вопросов я понял, что вам полностью подойдет l2tp + ipsec. Он закрывает потребности большинства пользователей. Подходит как для объединения офисов, так и подключения удаленных клиентов. То есть решение универсальное, как для site-to-site, так и для client-to-site.
Спасибо, Владимир. В самих вопросах у меня нет грубых неточностей и неверных формулировок?
Последовал по стопам вашей замечательной статьи, всё работает всё отлично! Спасибо за труды! Хотел вот спросить почему только скорость маленькая между филиалами получается? Две железки одинаковые RB2011UiAS-2HnD у клиента канал интернет 80мбит\с и на стороне сервера 25мбит\с так вот по реальным тестам копирование файла 250мб происходит со скоростью 1мегабайт в секунду. По замерам в железке утилитой Bandwidth Test между шлюзами показывает общее значение 25-26Мбит\с. По Вашим тестам скорость вообще должна быть ого го. Шифрование выключено и нагрузка процессора обеих железок при копировании файла в районе 25%
Не знаю, заочно трудно сказать. Единственное, не путайте копирование файлов, оно измеряется в мегабайтах в секунду, со скоростью канала, которая мерится мегабитами в секунду. Это разные величины.
Настроил на двух Mikrotik l2tp vpn с компьютера клиента нет пингов до отдалённого офиса, но в терминале mikrotik удалённый офис пингуется. В чём может быть проблема?
Либо разрешений на фаерволе нет для трафика от клиента до офиса, либо у клиента нет маршрутов до удаленного офиса.
Добрый день!
Спасибо за статью! Соединил два офиса. Но есть вопрос: Подключаюсь к Микротику-серверу по VPN L2TP с компьютера (НЕ из этих офисов) и получаю доступ к сети за этим Микротиком-сервером. Но не могу подключиться к сети за Микротиком-клиентом.
Какие правила надо добавить, чтобы получить доступ и ко второй сети?
Спасибо!
Зависит от вашей маршрутизации. Подозреваю, у вас на клиенте нет маршрутов для того, чтобы пройти во второй офис. Проверяйте маршруты на компьютере.
Добрый день, подскажите почему между двумя офисами не идут пинги по dns имени, только по IP адресу.
Возможно dns имена резолвятся не в те ip.
Да и ещё: MTU 1450 для IPSecа с VPN всё-таки многоват, я бы посмотрел в сторону уменьшения, может не пролезть. Тут есть калькулятор: https://baturin.org/tools/encapcalc/
Не является хорошей практикой в качестве шлюза указывать интерфейс, а не ип-адрес, если это не является L2 сегментом.
Настроил l2tp+ipsec по вашей статье, всё заработало. В файерволе разрешил UDP(1701,500,4500) и ipsec-esp.
Но как я понял для работы необходимо только 1701 и 500. Зачем остальные правила?
4500 - для того, чтобы IPSec через NAT пролез
Спасибо за информацию. У меня такой вопрос, есть необходимость периодически скидывать рабочие файлы (фотографии) для бекапа на компьютер тёщи. И у меня и у неё роутеры mikrotik hap lite. Если я буду использовать незашифрованное соединение EOIP чем я рискую?То есть кто посторонний может взломать мою локальную сеть или файлы которые будут передаваться будут видны посторонним лицам (что для меня не критично). Скорее всего вопрос глупый, но ответа в интернете я не нашел.
Да ничем не рискуете. Еще лет 10 назад почти весь трафик в интернете был не шифрованный и это никого особо не волновало. Никто не будет ваш трафик сидеть и анализировать, чтобы что-то там увидеть среди фотографий. Это хлопотно и затратно. Шифрование трафика среди обычных людей активно форсируют крупные корпорации, потому что им это выгодно. Не видно, какую инфу они сливают себе о вас.
Спасибо за ответ. Как вы думаете, можно ли для создания туннеля использовать билайновскую серую сеть, а не интернет? Это не нарушает какие нибудь права, потому что, у них на сайте есть услуги для бизнеса по объединению офисов или компьютеров в vpn как я понял в серой сети до 10 гигабит?
Я не уверен, что через серую сеть можно связность настроить между клиентами. Там же нет прямых коннектов между ними. Думаю, ничего не получится.
Ну я бы не отбивал у человека охоту экспериментировать. Мне, например, вполне удалось пробросить канал через серую сеть провайдера с одного конца города на другой. Правда это был не билайн. ) Дерзайте - это не так уж сложно выяснить.
Посмотрите syncthing - объединяете несколько машин,
и оно синхронизирует ваши файлы, как торрент.
для заявленной задачи будет хорошо. Удобнее впна.
Бонус - на андроиде работает, фотки итп сливает само.
Кому сливает? :)
Себе любимому и сливает в архив, куда настроено.
Классная штука. Применимо не везде, но топикстартер заявил задачу несколько не впн-ную, а там оно хорошо будет.
Если не сталкивались - посмотреть стоит.
у "домашней" версии hAP ac² хардварная поддержка ipsec'а в тоннеле 100mb/s, когда с обоих сторон 100mb/s
Добрый день.
CCR1016.
У меня вопрос про Ovpn. Задача такая, подключать удаленных сотрудников, а также мобильных. Всего 10 - 12 единиц.
Какую длину сертификата порекомендуете? 1С, почта, файловый сервер.
И не понимаю вопроса с клиентскими сертификатами, как их отзывать? Как Микротик будет понимать, что этот сертификат не действителен?
Я бы не советовал поднимать openvpn сервер на микротике. По-моему, он вообще не понимает список отозванных сертификатов. Не видел там настройку на эту тему. Лучше l2tp делать.