avatar Прямые руки Настраиваем VPN сервер L2TP и IPsec на Mikrotik RouterOS

В этот раз я расскажу как настроить VPN L2TP сервер, т.к. он обеспечивает более высокий уровень безопасности но и более требователен к ресурсам системы, а также поддерживается не всем оборудованием, например, только самыми последними версиями Andriod на 100%, по крайней мере, мне не попадались современные телефоны которые его не поддерживают. Основной плюс данной стемы это:
а) Использование тоннеля передачи данных (тунелирование).
б) Защита передаваемых данных с помощью IPsec.

Чтобы было понятнее, мы создадим отдельную подсеть для клиентов подключающихся через L2TP, а оттуда уже настроим маршрутизацию туда куда нам нужно.
Для начала создадим диапазон IP адресов для подключающихся клиентов, мы не будем выдавать каждому пользователю персональный IP адрес, а автоматизируем этот процесс и будем выдавать из пула свободных адресов.
Переходим в IP -> Pool мы создадим пул на 20 IP адресов. Назовем его l2tp_pool чтобы было понятно за что он отвечает.



В результате у нас есть 2 пула адресов, первый используется, у меня, для локальной сети, а второй для L2TP клиентов.



Создаем профиль нашего L2TP сервера
переходим в PPP -> Profiles
В настройках профиля указываем:

Имя профиля: L2TP-server ( чтобы было понятно за что он отвечает)
Local adrdress: 192.168.10.1 начало диапазона IP адресов
Remote Address: l2tp_pool указываем название пула адресов который мы создали ранее
Change TCP MSS: yes
(Все что менялось выделено синим!)

Переходим в вкладку Protocols
Use MPLS: yes
Use Compressiaon: no
Use VJ Compressiaon: no
Use Encription: yes

(Все что менялось выделено синим!)


Переходим во вкладку Limits
Там все оставляем по умолчанию и в строке Only one оставляем default


Создаем пользователя, переходим в PPP -> Secrets

Где указываем имя пользователя, пароль, указываем сервис к которому этот пользователь будет применен L2TP, а также профиль с которым будет работать наш L2TP сервер, мы его создали ранее (L2TP-server)

нам остается включить L2TP сервер, переходим в PPP -> Interface нажимаем кнопку L2TP server


Все сто менялось выделено красным!
Где:
Включаем сам сервер L2TP (ставим галку)
Включаем профиль, который мы создали ранее L2TP-server
Убираем все протоколы, оставляем mschap2 (остальные протоколы уже давно и успешно взломаны!)
Ставим галку Use IPsec
Придумываем IPsec Secret: по сути это парольная фраза, которая едина для всех.

Нам с остается создать правила для фаерволла, чтобы мы могли достучаться до нашего L2TP сервера.
Переходим в IP -> Firewall -> Filter Rules
необходимо создать разрешающее правило для следующих портов и протоколов:
Протокол: UDP
Разрешаем порты: 1701,500,4500
В качестве In.Interface указываем тот что подключен к интернет


Также добавляем правило разрешающее ipcec
протокол: ipsec-esp
В качестве In.Interface указываем тот что подключен к интернет



Почти все готово, но если мы подключимся к нашему L2TP серверу, то не сможем выйти в интернет т.к. не создано разрешающее правило, переходим во вкладку NAT
Создаем новое правило
Chain: snat (т.к. NAT это у нас источник пакетов)
Src. Address: 192.168.10.0/24 (указываем подсеть которая у нас используется для выдачи IP адресов клиентам L2TP сервера)
Out.Inerface указываем интерфейс который у нас подключен к интернет.

переходим во вкладку Action и в строке Action указываем маскарадинг


Вот теперь все готово, нам осталось настроить VPN подключение, в Windows оно делается штатными средствами,
но есть нюанс.

Настраиваем соединение с vpn сервером

Создаем стандартное VPN подключение, в нем указываем протокол L2TP/IPsec, чтобы система не переберала все доступные протоколы, а подключалась сразу по нужному.
Указываем, разрешить следующие протоколы, ставим галку MS-CHAP v2

Нам необходимо нажать кнопку: Дополнительные параметры и там указываем парольную фразу, которую мы придумали при создании в строке IPsec Secret

Вот теперь точно все, подключаемся и пользуемся.

Дополнение

Если есть необходимость изменить настройки шифрования, то нам необходимо перейти в IP -> IPsec во вкладку Proposals и там выставить необходимые виды шифрования

Также в этом разделе можно добавлять свои ключи или сгенерировать, хотя я не готов гарантировать что роутер сможет обеспечить высокий уровень энтропии при генерации ключей, так что генерировать лучше на чем-то другом, а сюда их уже импортировать
В общем данный роутер, позволяет настроить систему довольно гибко исходя из ваших задач.

В процессе использования также выплыл один баг. Если вы подключены по L2TP то при попытке подключиться к маршрутизатору через Winbox система пишет что не правильный логин/пароль, а вот при подключении через PPTP такой проблемы не наблюдается. Как эту тему побороть, я пока не выяснил, если разберусь обязательно отпишусь.
О том что еще можно настроить на MikroTik
  • 0
  • avatar     

15 комментариев

avatar
Было бы прекрасно, если еще была «консольная» версия настройки.
Так как не у всех есть Windows, для настройки через WinBox
avatar
А действительно!
нужно будет подумать, на худой конец, можно зайти через WEB интерфейс…
avatar
Хорошая статья.
Для консольщиков можно в конце приводить настройки, экспортировав конфигурацию следующим образом:

Сохранить конфигурацию в файл:

/export compact file=myconfig

При этом конфигурация микротика сохраняется в понятном текстовом виде.
По такой же аналогии используем команды import
/export file=[filename] — экспорт конфигурации роутера в файл
/import file-name=[filename] — импорт конфигурации роутера из файла
avatar
Показать конфиг в терминале:

/export compact
avatar
Mikrotik был настроен по этому мануалу, но… при подключении в логах выдается:
ipsec, error key length mismatched, mine:256 peer:128
При отключении шифрования коннектится отлично. Понимаю что проблема в ipsec, но перерыл настройки, но так и не нашел в чем затык, поможете?
avatar
Здравствуйте.
А IPsec Secret вы одинаковый на сервере и на клиенте указали?
avatar
Да, иначе бы он выдал ошибку авторизации
avatar
Возможно вы указали слишком короткий ключ, проверьте настройки:
mine:256 peer:128
avatar
Спасибо за детальную статью со скриншотами.
Как победить отвал VPN если клиенты клиенты находятся за NAT-ом? Например подключатся к роуоутеру из гостиницы, где у всех у всех один внешний IP адрес.
avatar
Здравствуйте.
Как для L2TP победить я не знаю, возможно имеет смысл посмотреть в сторону openvpn
avatar
Здравствуйте. Настроил соединение по данной инструкции, проблем с подключением как внутри сети так и снаружи нет, НО я замахался дропать непрошенных гостей по 500 порту. Есть ли смысл открывать порты к маршрутизатору, когда и без этого соединение работает?
Microtic RouterBoard 1100 AHx2 v.6.39.1
avatar
вы не путайте маршрутизацию и блокировку портов, если лишние люди не должны подключаться к порту, то он должен блокироваться, а доступ к нему разрешают с определенного диапазона IP адресов или запрещают совсем
avatar
Попытался настройить по данному гайду. Винда 10 выдает ошибку: Попытка L2TP-соединения не удалась из-за ошибки, произошедшей на уровне безопасности во время согласования с сервером.

В логах микротика: 172.16.172.48 failed to preprocess ph2 packet.

Как побороть?
avatar
после того как винда перестанёт пытаться в логах появляется запись: phase1 negotiation failed due to timeup 172.16.172.1[500] <=> 172.16.172.48[500]
avatar
я не сталкивался с такой ошибкой
Есть что добавить? Регистрируйся и оставляй комментарии!