Андрей Смирнов
Время чтения: ~31 мин.
Просмотров: 22

Настраиваем сеть VPN на роутерах Mikrotik

mikrotik-vpn-server-01.png

Создаем профиль для туннеля в PPP -> Profiles.

mikrotik-vpn-server-02.png

На остальных вкладках настройки дефолтные. Далее создаем пользователя в PPP -> Secrets.

mikrotik-vpn-server-03.png

Теперь запускаем l2tp сервер. Идем в PPP и жмем в кнопку L2TP Server.

mikrotik-vpn-server-04.png

Устанавливаем настройки для l2tp сервера. ipsec пока не включаем.

mikrotik-vpn-server-05.png

VPN сервер настроен. Теперь создадим для него постоянный интерфейс, чтобы на его основе создавать статические маршруты. Идем в Interfaces и создаем L2tp Server Binding.

mikrotik-vpn-server-06.png

Последний штрих. Создаем статический маршрут, с помощью которого абоненты локальной сети сервера смогут подключаться к абонентом локальной сети за удаленным роутером через vpn. Идем в IP -> Routes и добавляем маршрут.

mikrotik-vpn-server-07.png

Я не рассмотрел вопрос настройки firewall, так как не хочется раздувать и так объемную статью. Напрямую это не относится к указанной теме. Подробнее читайте о настройке фаервола отдельно по приведенной ссылке. Здесь же только укажу, что необходимо открыть на firewall для корректной настройки l2tp.

На сервере необходимо создать следующие правила для фаерволла, чтобы мы могли достучаться до нашего L2TP сервера. IP -> Firewall -> Filter Rules. Необходимо создать разрешающее правило в цепочке input для следующих портов и протоколов:

  • Протокол: UDP
  • Разрешаем порты: 1701,500,4500
  • В качестве In.Interface указываем тот, через который происходит l2tp подключение.

Отдельно добавляем еще одно правило, разрешающее протокол ipsec-esc.

На сервере все готово. Идем настраивать l2pt клиент на удаленном микротике.

L2tp клиент

Здесь все достаточно просто. Идем в PPP и добавляем L2TP Client. Указываем настройки, которые задавали ранее на сервере.

mikrotik-vpn-server-08.png

Добавляем статический маршрут, чтобы клиенты этого роутера знали, куда обращаться к абонентам удаленной локальной сети за vpn.

mikrotik-vpn-server-09.png

На этом все. Мы настроили 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 соединения:

mikrotik-vpn-server-10.png

Средняя скорость 194 мбит/сек. Откровенно говоря, я не понял, почему такая низкая скорость. Мой тестовый стенд собран на двух роутерах микротиках и гигабитного микротик свитча между ними. Ожидал увидеть что-то в районе 500 мбит/сек. Напомню, что туннель пока без шифрования. При этом загрузка процессоров на роутерах была в районе 90-95%. То есть фактически потолок этих железок.

Попробуем теперь включить шифрование ipsec и замерить скорость с ним.

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

С настройкой ipsec для l2tp я залип на некоторое время. В сети много инструкций, но все они устарели. Как оказалось, в последних версиях прошивок, запустить ipsec в дефолтных настройках не просто, а очень просто. Для этого надо всего лишь в свойствах l2tp сервера указать Use IPsec — yes и задать пароль.

mikrotik-vpn-server-12.png

Все необходимые настройки ipsec будут созданы автоматически. На агенте сделать то же самое — включить ipsec шифрование и указать пароль.

mikrotik-vpn-server-13.png

После подключения 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 и посмотреть на счетчик зашифрованных пакетов. Если он растет, значит все в порядке, трафик шифруется.

mikrotik-vpn-server-14.png

Там же в разделе Remote Peers можно посмотреть список удаленных клиентов, для которых работает ipsec шифрование, посмотреть используемые алгоритмы. Все дефолтные настройки ipsec живут в этом разделе. Вы можете посмотреть их, изменить или добавить новые профили. По-умолчанию используется алгоритм авторизации sha1 и шифрование AES. Можете изменить эти параметры, если разбираетесь в теме. Я умничать не буду, тему шифрования не копал. Какие алгоритмы максимально быстры и защищены — не знаю.

Проведем тесты скорость vpn соединения l2tp + ipsec.

mikrotik-vpn-server-15.png

У меня получилось вот так — 26 мбит/сек в среднем. При этом загрузка процессора 100%. Не густо. Данные железки для шифрованных каналов пригодны очень слабо. В данных тестах они ничем, кроме непосредственно теста не нагружены. В реальных условиях скорость будет еще ниже.

С настройками vpn на базе l2tp + ipsec закончили. Продолжим настройку остальных vpn туннелей и сравним их скорость.

Настройка pptp сервера в mikrotik

Настройка pptp сервера не отличается принципиально от l2tp. Логика и последовательность действий та же самая. Сначала создаем pool адресов в IP -> Pool для vpn сети. Я буду использовать тот же пул, что мы создали ранее.

Далее создаем профиль для pptp туннеля в разделе PPP -> Profiles.

mikrotik-vpn-server-17.png

В этом профиле указаны дефолтные настройки шифрования, при которых оно отключено. Проверим сначала скорость 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 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.

Настройка 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 каналов в 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

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте . Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:

  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Помогла статья? Есть возможность отблагодарить автора

—> Главная → Статьи → Подключаем и настраиваем оборудование → Настройка VPN через MikroTik — PPtP и PPPoE

VPN-туннели — распространенный вид связи типа «точка-точка» на основе стандартного интернет-соединения через роутеры MikroTik. Они представляют собой, по сути «канал внутри канала» — выделенную линию внутри основной.

Необходимость настройки туннельного VPN-соединения на MikroTik возникает в случаях, когда:

  • Требуется предоставить доступ к корпоративной сети сотрудникам предприятия, которые работают из дома, или находясь в командировке, в том числе с мобильных устройств.
  • Требуется предоставить доступ в интернет абонентам провайдера (в последнее время такая реализация доступа клиентов становится все более популярной).
  • Необходимо соединить два удаленных подразделения предприятия защищенным каналом связи с минимальными затратами.

В отличие от обычной сети, где данные передаются открыто и в незашифрованном виде, VPN является защищенным каналом связи. Уровень защиты зависит от типа туннельного протокола, выбранного для соединения. Так, наименее защищенным считается протокол PPtP, даже его «верхний» алгоритм аутентификации mschap2 имеет ряд проблем безопасности и легко взламывается. Наиболее безопасным считается набор протоколов IPsec.

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

Выбор протокола для VPN на MikroTik

Для настройки соединения по VPN через MikroTik чаще всего используются следующие протоколы:

  • PPtP,

  • PPPoE,

  • OpenVPN,

  • L2TP,

  • IPSec.

В сегодняшней статье мы рассмотрим настройку подключения VPN с помощью двух из них, как наиболее часто встречающихся в работе провайдера и системного администратора: PPtP и PPPoE. О настройке VPN на MikroTik с помощью OpenVPN у нас есть отдельная статья.

VPN через PPtP на MikroTik

PPtP — самый распространенный протокол VPN. Представляет собой связку протокола TCP, который используется для передачи данных, и GRE — для инкапсуляции пакетов. Чаще всего применяется для удаленного доступа пользователей к корпоративной сети. В принципе, может использоваться для многих задач VPN, однако следует учитывать его изъяны в безопасности.

Прост в настройке. Для организации туннеля требуется:

  • создать на роутере MikroTik, через который пользователи будут подключаться к корпоративной сети, PPtP-сервер,

  • создать профили пользователей с логинами/паролями для идентификации на стороне сервера,

  • создать правила-исключения Firewall маршрутизатора, для того, чтобы подключения беспрепятственно проходили через брандмауер.

Включаем PPtP сервер.

Для этого идем в раздел меню PPP, заходим на вкладку Interface, вверху в перечне вкладок находим PPTP сервер и ставим галочку в пункте Enabled.

Снимаем галочки с наименее безопасных алгоритмов идентификации — pap и chap.

 Создаем пользователей.

В разделе PPP переходим в меню Secrets и с помощью кнопки «+» добавляем нового пользователя.

В полях Name и Password прописываем, соответственно логин и пароль, который будет использовать пользователь для подключения к туннелю.

В поле Service выбираем тип нашего протокола — pptp, в поле Local Address пишем IP-адрес роутера MikroTik, который будет выступать в роли VPN-сервера, а в поле Remote Address — IP-адрес пользователя

 

Прописываем правила для Firewall. 

Нам нужно открыть 1723 порт для трафика по TCP-протоколу для работы VPN-туннеля MikroTik, а также разрешить протокол GRE. Для этого идем в раздел IP, потом — в Firewall, потом на вкладку Filter Rules, где с помощью кнопки «+» добавляем новое правило. В поле Chain указываем входящий трафик — input, в поле Protocol выбираем протокол tcp, а в поле Dst. Port — указываем порт для VPN туннеля 1723.

Переходим здесь же на вкладку Action и выбираем accept — разрешать (трафик).

Точно также добавляем правило для GRE. На вкладке General аналогично предыдущему прописываем input, а в поле Protocol выбираем gre. 

На вкладке Action как и в предыдущем правиле выбираем accept.

Не забываем поднять эти правила в общем списке наверх, поставив ПЕРЕД запрещающими правилами, иначе они не будут работать. В RouterOS Mikrotik это можно сделать перетаскиванием правил в окне FireWall.

Все, PPtP сервер для VPN на MikroTik поднят.

 Небольшое уточнение.

В некоторых случаях, когда при подключении необходимо видеть локальную сеть за маршрутизатором, нужно включить proxy-arp в настройках локальной сети. Для этого идем в раздел интерфейсов (Interface), находим интерфейс, соответствующий локальной сети и на вкладке General в поле ARP выбираем proxy-arp.

Если вы подняли VPN между двумя роутерами MikroTik и вам необходимо разрешить передачу broadcast, можно попробовать добавить существующий профиль подключения (PPP — Profiles) удаленного роутера в бридж главного:

UPD из комментария: Если вам дополнительно нужно получить доступ к расшаренным папкам на компьютерах локальной сети, понадобится также открыть порт 445 для проходящего трафика SMB-протокола, который отвечает за Windows Shared. (Правило forward в брандмауере).

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

На стороне VPN-клиента настройки состоят только в том, чтобы создать подключение по VPN, указать IP-адрес VPN (PPtP) сервера, логин и пароль пользователя.

VPN через PPPoE на MikroTik

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

  • Доступностью и простотой настройки.

  • Поддержкой большинством маршрутизаторов MikroTik.

  • Стабильностью.

  • Масштабируемостью.

  • Устойчивостью зашифрованного трафика к ARP-спуфингу (сетевой атаке, использующей уязвимости протокола ARP).

  • Меньшей ресурсоемкостью и нагрузкой на сервер, чем PPtP.

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

Настройка VPN-сервера PPPoE MikroTik

Настраиваем профили сервера.

Несколько профилей PPPoE-сервера могут понадобиться, если вы провайдер и раздаете интернет по нескольким тарифным пакетам. Соответственно, в каждом профиле можно настроить разные ограничения по скорости.

Идем в раздел PPP, открываем пункт Profiles  и с помощью кнопки «+» создаем новый профиль. Даем ему понятное нам название, прописываем локальный адрес сервера (роутера), отмечаем опцию Change TCP MSS (корректировку MSS), для того, чтобы все сайты нормально открывались.

Кстати, в некоторых случаях, когда возникают проблемы с открытием некоторых сайтов, при том, что пинги на них проходят, можно сделать по-другому. Корректировку MSS отключаем, а через терминал прописываем на роутере следующее правило:

«ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360  disabled=no». В большинстве случаев это решает проблему.

Далее на вкладке Protocols все отключаем, для улучшения производительности. Если защищенность соединения для вас важна и производительность маршрутизатора позволяет, то опцию Use Encryption (использовать шифрование) не отключайте.

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

Ставим Yes в пункте Only One, это значит, что два и более абонентов с одним и тем же набором логин/пароль не смогут подключиться к  PPPoE-серверу, только один.

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

Создаем учетные записи пользователей.

В том же разделе PPP находим пункт меню Secrets. В нем с помощью кнопки «+» создаем нового пользователя, который будет подключаться к нам по VPN-туннелю.

Заполняем поля Name и Password (логин и пароль, который будет вводить пользователь со своей стороны, чтобы подключиться).

В поле Service выбираем pppoe, в Profile — соответствующий профиль, в данном случае — тарифный пакет, которым пользуется абонент. Присваиваем пользователю IP-адрес, который при подключении сервер раздаст абоненту.

Если подключаем несколько пользователей, создаем для каждого из них отдельную учетную запись, меняя имя/пароль и IP-адрес.

Привязываем PPPoE сервер к определенному интерфейсу MikroTik.

Теперь нам необходимо сообщить маршрутизатору, на каком интерфейсе он должен «слушать» входящие подключения от VPN PPPoE клиентов. Для этого в разделе PPP мы выбираем пункт PPPoE Servers. Здесь мы меняем:

Поле Interface — выбираем тот интерфейс, к которому будут подключаться клиенты,

  • Keepalive Timeout — 30 секунд (время ожидания ответа от клиента до разрыва соединения)
  • Default Profile — профиль, который будет присваиваться подключаемым абонентам по умолчанию,
  • Ставим галку в One Session Per Host, тем самым разрешая подключение только одного туннеля с маршрутизатора клиента или компьютера.
  • Галочки в разделе аутентификации оставляем/снимаем по усмотрению.

Настраиваем NAT для доступа клиентов в интернет.

Мы подняли PPPoE сервер и теперь к нему могут подключаться авторизованные пользователи. Если нам нужно, чтобы подсоединившиеся по VPN туннелю пользователи имели доступ в интернет, нужно настроить NAT (маскарадинг), или преобразование локальных сетевых адресов.

В разделе IP выбираем пункт Firewall и с помощью кнопки «+» добавляем новое правило.

В поле Chain должно стоять srcnat, что означает, что маршрутизатор будет применять это правило к трафику, направленному «изнутри наружу».

В поле Src. Address (исходный адрес) прописываем диапазон адресов 10.1.0.0/16. Это означает, что все клиенты с адресами 10.1. (0.0-255.255) будут выходить в сеть через NAT, т. е. мы перечисляем здесь всех возможных абонентов.

В поле Dst. Address (адрес назначения) указываем !10.0.0.0/8 — диапазон адресов, означающий собственное адресное пространство для частных сетей, с восклицательным знаком впереди. Это указывает роутеру на исключение — если кто-то из локальной сети обращается на адрес в нашей же сети, то NAT не применяется, соединение происходит напрямую.

А на вкладке Action прописываем, собственно, действие маскарадинга — подмены локального адреса устройства на внешний адрес роутера.

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

Если на той стороне VPN туннеля подключение будет происходить с компьютера или ноутбука, то просто нужно будет создать высокоскоростное подключение через PPPoE в Центре управления сетями и общим доступом (для Win 7, Win 8). Если на второй стороне — тоже роутер Mikrotik, то подключаем следующим образом.

Добавляем PPPoE интерфейс.

На вкладке Interface выбираем PPPoE Client  и с помощью кнопки «+» добавляем новый интерфейс.

Здесь в поле Interface мы выбираем тот интерфейс роутера Mikrotik, на котором мы организуем VPN-туннель.

 Прописываем настройки подключения.

Далее переходим на вкладку Dial Out и вписываем логин и пароль для подключения к VPN туннелю PPPoE.

Ставим галочку в поле Use Peer DNS — для того, чтобы адрес DNS сервера мы получали с сервера VPN (от провайдера), а не прописывали вручную.

Настройки аутентификации (галочки в pap, chap, mschap1, mschap2) должны быть согласованы с сервером.

Lantorg.comОцените, пожалуйста, полезность/интересность статьи. Нам важно ваше мнение! Дата публикации: 18.03.2015 —>

← Проброс портов на MikroTik 5 типичных ошибок при установке WiFi оборудования →

Также советуем почитать:

Пожалуй самой востребованной функцией после Wi-Fi в MikroTik’ах является VPN. Вообще данный сервис набирает особые обороты в последнее время для построения частных защищённых сетей или для получения доступа к ресурсам Интернет с другого IP адреса. К примеру определённые Интернет ресурсы в некоторых странах блокируют доступ с IP адресов из других стран, или из за того, что провайдер использует общий IP адрес, некоторые ресурсы блокируют доступ, по причине большого количества запросов с одного IP, воспринимая это как атаку. В решении всех этих проблем нам поможет VPN. Для начала разберёмся что это, как работает и какие виды VPN существуют.

Предидущие статьи:MikroTik настройка для начинающих. Часть 1 — Настройка интернет в MikroTikMikroTik настройка для начинающих. Часть 2 — Настройка Wi-Fi в MikroTik

Следующие статьи:

Настройка VPN в MikroTik (PPTP, L2TP, OpenVPN)

Существует три наиболее часто используемых протокола VPN — это PPTP, L2TP и OpenVPN. Не углубляясь в технические особенности каждого (всё есть на Вики и повторяться не имеет смысла), нам для понимания принципа нужно знать одну простую вещь. VPN — это тоннель точка-точка. Т.е. это то, что позволяет соединить одно устройство с другим через сеть Интернет, создав при этом прямой изолированный тоннель между данными устройствами. Настроить VPN в MikroTik достаточно просто. Всё что нам потребуется для этого знать — это данные для подключения к удалённому VPN серверу и используемый протокол. Как всегда три простых шага.

  • Настройка профиля;
  • Настройка сервера;
  • Настройка клиента.

Русскоязычный онлайн-курс по MikroTik от нашего коллеги Дмитрия Скромнова. Здесь можно изучить MikroTik и RouterOS самостоятельно по курсу «Настройка оборудования MikroTik». Курс основан на официальной программе MTCNA, но содержит больше информации. Это 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.

Настройка профиля

Конечно, можно использовать предустановленный профиль, но тогда не будет полного понимания конфигурации, да и не все протоколы смогут работать с профилем по умолчанию. В независимости от типа VPN, сконфигурированный профиль понадобится и на сервере и на клиенте, за исключением того, что на клиенте поля Local Address и Remote Address не заполняются, соответственно пул создавать не нужно. Никаких специфических настроек мы вносить не будем, единственное что я рекомендую делать — это создавать адрес лист и интерфейс лист для VPN, изменять TCP MSS (бывает очень полезно если у вас PPPoE) и использовать UPnP. Эти нехитрые опции в дальнейшем могут пригодиться.

Для начала создадим список интерфейсов с именем My-VPN-IFs, и пул адресов (на сервере) с именем VPN-pool1 как это сделать, можно прочитать в первой и второй части. Теперь переходим к настройке профиля. Здесь мы указываем имя профиля, имя пула адресов, имя списка адресов, выбираем ранее созданный список интерфейсов и указываем DNS серверы. В качестве DNS можно указать локальный адрес вашего MikroTik’а если у вас присутствуют локальные доменные имена или иные статические записи DNS.

mikrotik-ppp-profile.png
Настройка PPP профиля в MikroTik

Теперь сохраняем профиль и переходим к настройке сервера. Естественно, подразумевается что сервером VPN выступает один MikroTik, а клиентом другой.

Важно!!! Для OpenVPN, в профиле, поле Local Address не должно быть пустым! Здесь необходимо указать IP из той же сети что и указанный пул, но при этом этот адрес не должен входить в указанный пул. Проще говоря, если мы используем сеть 10.0.3.0/24, из которой используется пул 10.0.3.10-10.0.3.100, то локальный адрес должен быть в промежутке между 10.0.3.1-10.0.3.9 или 10.0.3.101-10.0.3.254.

Настройка сервера

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

mikrotik-create-ppp-user.png
Настройка PPP пользователя в MikroTik

В дальнейшем именно эти данные будут использованны для аутентификации на нашем VPN сервере. Помимо логина и пароля, здесь для каждого пользователя можно указать к какому сервису данный пользователь будет иметь доступ (Service), указать локальный и клиентский IP адрес (Local/Remote address), добавить маршрут (Routes) и установить ограничения (Limit *).

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

mikrotik-pptp-server.png
Настройка PPTP сервера в MikroTik

L2TP — промышленный стандарт среди VPN. В связке с IPsec используется повсеместно всевозможными банками, ритейл сетями и прочими крупными компаниями. Требует дополнительных ресурсов за счёт шифрования, однако считается одним из наиболее защищённых. Из минусов здесь только один IPsec пароль. Это значит, что все пользователи этого VPN сервера будут использовать один IPsec пароль при разных паролях аутентификации. Из рекомендаций пожалуй самые очевидные — включить IPsec и отключить chap и pap, чтобы пароли не летали в открытом или плохо шифрованном виде.

mikrotik-l2tp-server.png
Настройка L2TP сервера в MikroTik

OpenVPN — на мой взгляд это самый достойный протокол, который обеспечит идеальный баланс скорости, защиты данных и надежности. Собственно говоря, именно этот протокол стоит использовать и именно он используется в качестве основного всевозможными VPN-сервисами. Для работы этого протокола, на обеих сторонах (клиент-сервер) используются (опционально) SSL сертификаты, которые нам необходимо сгенерировать. Для начала генерируем корневой сертификат (УЦ).

mikrotik-create-ssl-1.png
Создание SSL сертификата в MikroTik
mikrotik-create-ssl-2.png
Создание CA SSL сертификата в MikroTik

Рекомендуется указывать 127.0.0.1 для корневого сертификата, однако любой действующий IP адрес на данном MikroTik’е тоже подойдёт. По завершению процесса в поле Progress появится надпись done. После её появления, закрываем все окошки. Вообще, стоит заполнять все реквизиты SSL сертификата, но мы здесь чуток поленимся ? . Теперь переходим к созданию сертификата OpenVPN сервера и клиента. Процесс аналогичен предыдущему, за исключением пары пунктов. Здесь мы указываем не IP хоста, а корневой сертификат УЦ (CA) и естественно другое (уникальное) имя создаваемого сертификата.

mikrotik-create-ssl-3.png
Создание OVPN SSL сертификата в MikroTik
mikrotik-create-ssl-4.png
Создание клиентского OVPN SSL сертификата в MikroTik

После того как все сертификаты созданы, нужно экспортировать корневой сертификат и сертификат+ключ всех клиентов. Важно! Корневой сертификат в отличие от клиентских экспортируется без закрытого ключа, поэтому поле Export Passphrase оставляем пустым. В то же время, все пароли у ключей клиентских сертификатов должны быть разными (уникальными) и не совпадать с паролями этих клиентов. Эти пароли необходимо запомнить/записать!!! Экспортированные сертификаты можно найти в файлах на локальном диске.

mikrotik-export-ssl-1.png
Экспорт CA SSL сертификата в MikroTik
mikrotik-export-ssl-2.png
Экспорт SSL сертификата в MikroTik
mikrotik-export-ssl-3.png
Экспортированные SSL сертификаты в MikroTik

Справившись с сертификатами, переходим к настройке OpenVPN сервера. Здесь выбираем сертификат OpenVPN сервера, указываем на необходимость клиентского сертификата и выбираем способы шифрования.

mikrotik-ovpn-server.png
Настройка OVPN сервера в MikroTik

Так выглядит конфигурация VPN сервера в MikroTik для наиболее популярных протоколов. Естественно, чтобы не углубляться в подробности, здесь опущено много параметров, поэтому если возникают вопросы по какому-то из них, не стесняемся, оставляем комментарии, задаём вопросы.

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

Теперь рассмотрим настройки клиентов применительно к каждому протоколу. Аналогично серверу, начнём по мере возрастания сложности. Напомню, что на клиенте так же как и на сервере необходимо создать профиль VPN, в котором в отличие от сервера поля Local Address и Remote Address не заполняются, а пул не создаётся.

PPTP — в поле Connect To вводим IP адрес или доменное имя нашего сервера. Далее логин, пароль, профиль и тип шифрования пароля. Жмём Apply, получаем результат. Как только увидели в нижней части окна running и Status: connected, можем переходить к использованию.

mikrotik-pptp-client.png
Настройка PPTP клиента в MikroTik

L2TP — от предыдущего отличается только опциями IPsec, поэтому действуем по аналогии.

mikrotik-l2tp-client.png
Настройка L2TP клиента в MikroTik

OpenVPN — как и сервер, требует в нашей конфигурации SSL, поэтому импортируем экспортированные с сервера сертификаты и ключ. Для начала загружаем их в систему.

mikrotik-import-ssl-1.png
Импорт SSL сертификатов в MikroTik

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

mikrotik-import-ssl-2.png
Импорт корневого SSL сертификата в MikroTik
mikrotik-import-ssl-3.png
Импорт клиентского SSL сертификата в MikroTik
mikrotik-import-ssl-4.png
Импорт закрытого ключа сертификата в MikroTik

Выполнив эти нехитрые действия, можем переходить к настройке OpenVPN клиента. Аналогично предыдущим, за исключением поля выбора сертификата и типа аутентификации. Если вдруг не получилось с первого раза, напомню про поле Local Address в профиле на сервере.

mikrotik-ovpn-client.png
Настройка OpenVPN клиента в MikroTik

Вот собственно и всё, теперь можно использовать VPN как душе угодно! Если вдруг возникли сложности, вопросы или предложения, пишем в форме для комментариев ниже, именно благодаря вашим комментариям я выбираю наиболее актуальные для вас темы, ну а пока, буду делать следующий рецепт как «готовить» MikroTik.

Друзья, для тех, кто хочет стать настоящим профи, я рекомендую пройти Онлайн-курс по MikroTik на русском от нашего коллеги Дмитрия Скромнова. Здесь можно изучить MikroTik и RouterOS самостоятельно по курсу «Настройка оборудования MikroTik». Курс основан на официальной программе MTCNA, но содержит больше информации. Это 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.

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

  • https://serveradmin.ru/nastrojka-vpn-openvpn-l2tp-ipsec-server-v-mikrotik/
  • https://lantorg.com/article/nastrojka-vpn-cherez-mikrotik-pptp-i-pppoe
  • https://blog.set-pro.net/mikrotik-настройка-для-начинающих-часть-3-vpn/

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