L2TP Mikrotik: настройка. Оборудование Mikrotik

Иногда мне кажется, что создатели Mikrotik намеренно лишают себя прибыли, не создавая однозначных пошаговых руководств по настройке своих детищ. Почти 100% потребителей этих роутеров пытаются настроить VPN, использовать два или более WAN одновременно или в качестве резервных. Именно это ищут по всей сети (и часто вне рунета) счастливые владельцы этих замечательных устройств. Представьте, на сколько бы увеличилась армия владельцев, если бы для настройки этих функций было два-три визарда в веб-интерфейсе. А сейчас.. сейчас именно благодаря сложности настройки (и, соотв., меньшему количеству желающих купить) мы имеем недорогое, малокапризное для несложных задач устройство, которое надо заставить работать 24х7х365. Например, в качестве VPN-сервера. Поехали!

Протокол L2TP обеспечивает канал передачи данных, туннель.

IPSec обеспечивает защиту данных от просмотра.

Настраивать мы будем тоже по частям - сначала туннель, потом - защита данных.

Примечание 1: я не очень люблю текстовые команды с кучей ключей при настройке вещей, которые достаточно много где описаны, но описаны каждый раз с незаметными опечатками, где-то что-то не скопировалось при написании (или при копировании с другого сайта, что случается чаще всего) или просто съелось текстовым редактором CMS сайта. Настройка VPN как раз такой случай. Поэтому я специально каждый шаг прописал для GUI Mikrotik - Winbox, тем более что не так уж тут и много всего надо сделать.

Примечание 2: до версии 6.18 в прошивке есть баг, из-за которого всегда применяется default policy template, поэтому обновите прошивку до последней стабильной. Не обновляйте прошивку до самой последней, но нестабильной версии, если вы настраиваете VPN.

Итак, имеем роутер Mikrotik с прошивкой 6.30 (июль 2015) c LAN 192.168.88.0/24 (сеть по-умолчанию). WAN не важен, например, 1.2.3.4.

Настройка туннелирования (L2TP)

1. IP - Pool / Определям диапазон адресов VPN-пользователей


Name: vpn_pool
Addresses: 192.168.112.1-192.168.112.10
Next pool: none

Лучше для клиентов vpn использовать отдельную адресацию. Так проще отделять одних от других. И вообще, бест практис.

2. PPP - Profiles / Профиль для нашего конкретного туннеля


General:
Name: l2tp_profile
Local address: vpn_pool (а можно указать 192.168.88.1 , сами смотрите, как вам больше нравится)
Remote address: vpn_pool
Change TCP MSS: yes

Protocols:
all to default:
Use MPLS: default
Use compression: default
Use Encription: default

Limits:
Only one: default

3. PPP - Secrets / Готовим пользователя VPN


Name: vpn_user1
Password: bla-bla-bla
Service: l2tp
Profile: l2tp_profile

4. PPP - Interface - клик на L2TP Server / Включаем сервер L2TP


Enabled - yes
MTU / MRU - 1450
Keepalive Timeout - 30
Default profile - l2tp_profile
Authentication - mschap2
Use IPSec - yes
IPSec Secret: tumba-yumba-setebryaki (это не пароль пользователя, а предварительный ключ, который надо будет указывать на клиентах в дополнение к логину/паролю)

Настройка шифрования данных в "туннеле" (IPSec)

На предыдущем этапе мы создали туннель для передачи данных и включили IPSec. В этом разделе мы настроим параметры IPSec.

5. IP - IPSec - Groups

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

6. IP - IPSec - Peers

Address: 0.0.0.0/0
Port: 500
Auth method: pre shared key
Passive: yes (set)
Secret: tumba-yumba-setebryaki (это не пароль пользователя!)

Policy template group: policy_group1
Exchange mode: main l2tp
Send Initial Contact: yes (set)
NAT Traversal: yes (set)
My id: auto
Proposal check: obey
Hash algorithm: sha1
Encryption Algorithm: 3des aes-128 aes-256

DH Group: modp 1024
Generate policy: port override
Lifitime: 1d 00:00:00
DPD Interval: 120
DPD Maximum failures: 5

7. IP - IPSec - Proposals / "Предложения".

Что-то вроде "что мы можем вам предложить". Другими словами, задаем опции подключения, которые смогут пытаться использовать удаленные клиенты.

Name: default
Auth algorithms: sha1
Enrc. algorithms: 3des, aes-256 cbc, aes-256 ctr
Life time: 00:30:00
PFS Group: mod 1024

Вы наверняка заметили, что пункты 6 и 7 похожи, а если еще добавить, что один и тот же Secret мы добавляли и пункте 4 и пункте 6, то возникает вопрос: почему одни и те же опции повторно настраиваются? Ответ у меня такой: чисто из практики вышло, что Windows 7 требовал одного, а iPhone - другого. Как так работает, не знаю. Но факт чисто из практики. Например, изменяю в Proposal PFS Group на 2048 - Windows нормально коннектиться, а iPhone перестает. Делаю наоборот (в proposal ставлю 1024, а в ip-ipsec-peers ставлю 2048) - iPhone коннектиться, а Windows - нет:) Т.е. при подключении разных клиентов используются разные части конфигов. Бред? Может быть, это следствие постепенных изменений в конфигурацию VPN сервера, не могу сказать, т.к. может иметь место даже влияние старых прошивок, конфигов и др. Я не исключаю, что что-то здесь избыточно, но что именно, не знаю.

Firewall

Давайте уж к консоли, что-ли для разнообразия:

/ip firewall filter
add chain=input action=accept protocol=udp port=1701,500,4500
add chain=input action=accept protocol=ipsec-esp

Если у вас по-умолчанию политика forward установлена в drop (последнее правило для forward "chain=forward action=drop"), вам может быть необходимым разрешить forward с ip-адресов vpn_pool в локальную сеть:

add chain=forward action=accept src-address=192.168.112.0/24 in-interface=!ether1 out-interface=bridge-local comment="allow vpn to lan" log=no log-prefix=""

Вот теперь с сервером все.

Подключение удаленного клиента

Пробуем подключить Windows 7:

Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом:
Настройка нового подключения или сети
Подключение к рабочему месту
Создать новое подключение
Использовать мое подключение к интернету (VPN)
Интернет-адрес: ip или имя роутера в сети
Пользователь и пароль из PPP->Secrets. В нашем случае это vpn_user1 и его пароль.

Пытаемся подключиться.

Если не выходит, или просто надо настроить созданное подключение:

Вкладка Безопасность:

Тип VPN: L2TP IPSec VPN

Дополнительные параметры: для проверки подлинности использовать предварительный ключ. В нашем случае это "tumba-yumba-setebryaki" (IP - IPSec - Peers):

Здесь же, в группе "Проверка подлинности", оставляем только CHAP v2:

Жмем ОК и пытаемся подключиться. Должно получиться. Если нет, загляните на страницу ошибок при настройке VPN .

Update 1: часто люди интересуются, как несколько (больше одного) клиентов из одной локальной сети (за nat) могут подключаться к одному удаленному vpn-серверу микротик. Не знаю, как в L2TP/IPSec связке это обеспечить. Можно назвать это багом реализации. Я не нашел простого объяснения и решения проблемы.

18.07.2016 19:29 Птррр

09.08.2016 10:00 Mapc

19.08.2016 17:35 Vertall

10.09.2016 23:29 Nikpo

02.10.2016 15:28 Anatoly

18.10.2016 12:39 Daimos

19.10.2016 01:02 Бумер

19.10.2016 01:05 Бумер

19.10.2016 01:16 Бумер

19.10.2016 09:34 Daimos

Иногда мне кажется, что создатели Mikrotik намеренно лишают себя прибыли, не создавая однозначных пошаговых руководств по настройке своих детищ. Почти 100% потребителей этих роутеров пытаются настроить VPN, использовать два или более WAN одновременно или в качестве резервных. Именно это ищут по всей сети (и часто вне рунета) счастливые владельцы этих замечательных устройств. Представьте, на сколько бы увеличилась армия владельцев, если бы для настройки этих функций было два-три визарда в веб-интерфейсе. А сейчас.. сейчас именно благодаря сложности настройки (и, соотв., меньшему количеству желающих купить) мы имеем недорогое, малокапризное для несложных задач устройство, которое надо заставить работать 24х7х365. Например, в качестве VPN-сервера. Поехали!

Протокол L2TP обеспечивает канал передачи данных, туннель.

IPSec обеспечивает защиту данных от просмотра.

Настраивать мы будем тоже по частям - сначала туннель, потом - защита данных.

Примечание 1: я не очень люблю текстовые команды с кучей ключей при настройке вещей, которые достаточно много где описаны, но описаны каждый раз с незаметными опечатками, где-то что-то не скопировалось при написании (или при копировании с другого сайта, что случается чаще всего) или просто съелось текстовым редактором CMS сайта. Настройка VPN как раз такой случай. Поэтому я специально каждый шаг прописал для GUI Mikrotik - Winbox, тем более что не так уж тут и много всего надо сделать.

Примечание 2: к моему огромному сожалению, нет возможности оставлять комментарии. Поэтому, особенно если вы видите явные ошибки, неправильное толкование терминов и др. - прошу вас писать по почте [email protected]. Обещаю все разумные доводы отражать в статье(-ях) и указывать авторов (по вашему желанию).

Примечание 3: до версии 6.18 в прошивке есть баг, из-за которого всегда применяется default policy template, поэтому обновите прошивку до последней стабильной. Не обновляйте прошивку до самой последней, но нестабильной версии, если вы настраиваете VPN.

Итак, имеем роутер Mikrotik с прошивкой 6.30 (июль 2015) c LAN 192.168.88.0/24 (сеть по-умолчанию). WAN не важен, например, 1.2.3.4.

Настройка туннелирования (L2TP)

1. IP - Pool / Определям диапазон адресов VPN-пользователей

Name: vpn_pool
Addresses: 192.168.112.1-192.168.112.10
Next pool: none

Лучше для клиентов vpn использовать отдельную адресацию. Так проще отделять одних от других. И вообще, бест практис.

2. PPP - Profiles / Профиль для нашего конкретного туннеля


General:
Name: l2tp_profile
Local address: vpn_pool (а можно указать 192.168.88.1 , сами смотрите, как вам больше нравится)
Remote address: vpn_pool
Change TCP MSS: yes

Protocols:
all to default:
Use MPLS: default
Use compression: default
Use Encription: default

Limits:
Only one: default

3. PPP - Secrets / Готовим пользователя VPN


Name: vpn_user1
Password: bla-bla-bla
Service: l2tp
Profile: l2tp_profile

4. PPP - Interface - клик на L2TP Server / Включаем сервер L2TP


Enabled - yes
MTU / MRU - 1450
Keepalive Timeout - 30
Default profile - l2tp_profile
Authentication - mschap2
Use IPSec - yes
IPSec Secret: tumba-yumba-setebryaki (это не пароль пользователя, а предварительный ключ, который надо будет указывать на клиентах в дополнение к логину/паролю)

Настройка шифрования данных в "туннеле" (IPSec)

На предыдущем этапе мы создали туннель для передачи данных и включили IPSec. В этом разделе мы настроим параметры IPSec.

5. IP - IPSec - Groups

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

6. IP - IPSec - Peers

Address: 0.0.0.0/0
Port: 500
Auth method: pre shared key
Passive: yes (set)
Secret: tumba-yumba-setebryaki (это не пароль пользователя!)

Policy template group: policy_group1
Exchange mode: main l2tp
Send Initial Contact: yes (set)
NAT Traversal: yes (set)
My id: auto
Proposal check: obey
Hash algorithm: sha1
Encryption Algorithm: 3des aes-128 aes-256

DH Group: modp 1024
Generate policy: port override
Lifitime: 1d 00:00:00
DPD Interval: 120
DPD Maximum failures: 5

7. IP - IPSec - Proposals / "Предложения".

Что-то вроде "что мы можем вам предложить". Другими словами, задаем опции подключения, которые смогут пытаться использовать удаленные клиенты.

Name: default
Auth algorithms: sha1
Enrc. algorithms: 3des, aes-256 cbc, aes-256 ctr
Life time: 00:30:00
PFS Group: mod 1024

Вы наверняка заметили, что пункты 6 и 7 похожи, а если еще добавить, что один и тот же Secret мы добавляли и пункте 4 и пункте 6, то возникает вопрос: почему одни и те же опции повторно настраиваются? Ответ у меня такой: чисто из практики вышло, что Windows 7 требовал одного, а iPhone - другого. Как так работает, не знаю. Но факт чисто из практики. Например, изменяю в Proposal PFS Group на 2048 - Windows нормально коннектиться, а iPhone перестает. Делаю наоборот (в proposal ставлю 1024, а в ip-ipsec-peers ставлю 2048) - iPhone коннектиться, а Windows - нет:) Т.е. при подключении разных клиентов используются разные части конфигов. Бред? Может быть, это следствие постепенных изменений в конфигурацию VPN сервера, не могу сказать, т.к. может иметь место даже влияние старых прошивок, конфигов и др. Я не исключаю, что что-то здесь избыточно, но что именно, не знаю.

Firewall

Давайте уж к консоли, что-ли для разнообразия:

/ip firewall filter
add chain=input action=accept protocol=udp port=1701,500,4500
add chain=input action=accept protocol=ipsec-esp

Это правило надо поднять выше финальных запрещающих правил, если у вас они есть. У вас же они есть??? Если нет, прошу сюда .

Вот теперь с сервером все.

Подключение удаленного клиента

Пробуем подключить Windows 7:

Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом:
Настройка нового подключения или сети
Подключение к рабочему месту
Создать новое подключение
Использовать мое подключение к интернету (VPN)
Интернет-адрес: ip или имя роутера в сети
Пользователь и пароль из PPP->Secrets. В нашем случае это vpn_user1 и его пароль.

Пытаемся подключиться.

Если не выходит, или просто надо настроить созданное подключение:

Вкладка Безопасность:

Тип VPN: L2TP IPSec VPN

Дополнительные параметры: для проверки подлинности использовать предварительный ключ. В нашем случае это "tumba-yumba-setebryaki" (IP - IPSec - Peers):

Здесь же, в группе "Проверка подлинности", оставляем только CHAP v2:

Жмем ОК и пытаемся подключиться. Должно получиться. Если нет, загляните на

Сейчас все больше компаний и их филиалов стремятся объединиться в одну информационную сеть, поэтому данный вопрос довольно актуален. Также часто требуется возможность предоставления сети для сотрудников из любой точки земного шара. То, как правильно нужно объединять сети, в данной статье будет объяснено на примере изменения параметров L2TP. Mikrotik, настройка которого описана далее, считается хорошим вариантом для работы как дома, так и в офисе. За счет функции hAP lite можно с небольшими усилиями работать с удаленным доступом каждого сотрудника. Производительность роутера позволит работать в небольших офисах, где перед собой компания не ставит слишком больших требований.

Довольно часто в одной локальной сети располагаются офис и его филиалы. Работают они с одним и тем же провайдером, поэтому процесс соединения сигналов довольно прост. Нужно заметить, что довольно часто филиалы расположены на большом расстоянии от главного центра и друг от друга. Наиболее востребована и актуальна на данный момент технология под названием Ее реализовать можно многими способами. Не рекомендуется использовать PPTP, так как эта технология устаревшая, и OpenVPN. Последняя сможет взаимодействовать не со всеми устройствами.

Протокол L2TP

За счет относительной доступности протокол L2TP Mikrotik, настройка которого будет описана далее, способен работать на многих операционных системах. Он считается наиболее известным. Проблемы с ним могут возникать лишь тогда, когда клиент будет находиться за NAT. В таком случае специальное обеспечение будет блокировать его пакеты. Имеются способы по устранению этой проблемы. У этого протокола есть и свои недостатки.


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

Главный сервер должен иметь IP-адрес статического типа. Имеется его пример: 192.168.106.246. Этот нюанс довольно важен, так как адрес ни в коем случае не должен изменяться. Иначе владельцу и другим пользователям придется использовать DNS-имя и утруждать себя лишними действиями.

Создание профилей

Для того чтобы создать профиль, нужно зайти в раздел PPP. Там будет меню «Профайлы». Далее нужно сформировать тот профиль, который будет применяться к подключениям типа VPN, то есть единой сети. Необходимо отметить и включить следующие опции: «Изменить TCP MSS», «Использовать сжатие», «Применять шифрование». Что касается последнего параметра, то он примет значение по умолчанию. Продолжаем работать с роутером Mikrotik. L2TP и Server настройку имеют довольно сложную, поэтому нужно следить за каждым своим шагом.


Далее пользователю нужно перейти на вкладку «Интерфейс». Там следует обратить внимание на L2TP-сервер. Появится информационное меню, в котором следует нажать на кнопку «Включить». Профиль будет выбран по умолчанию, так как он единственный и создан немного ранее. Если хочется, можно сменить тип аутентификации. Но если пользователь в этом ничего не понимает, лучше оставить стандартное значение. Опция IPsec должна остаться неактивированной.

После этого пользователю нужно перейти в «Секреты» и создать пользователя сети. В графе «Сервер» нужно указать L2TP. При желании здесь же указывается профиль, который будет использоваться в Mikrotik. Настройка L2TP и Server практически закончена. Локальный и удаленный адреса серверов должны быть одинаковыми, разница у них лишь в двух последних цифрах. Это значение 10.50.0.10/11 соответственно. Если необходимо, нужно создать дополнительных пользователей. Локальный адрес при этом остается неизменным, а вот удаленный нужно постепенно увеличивать на одно значение.

Настройка файрволла

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

Добавление маршрута

При проведении всех настроек была создана удаленная подсеть. Именно в ней должен быть прописан маршрут. Конечное значение подсети должно быть 192.168.2.0/24. Шлюзом же при этом выступает адрес клиента в самой сети. Целевой объем должен равняться единице. На этом все настройки сервера заканчиваются, осталось лишь провести клиентские изменения параметров.

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

Проводя дальнейшие настройки технологии L2TP в «Микротик», настройке клиента нужно уделить большое внимание. Необходимо зайти в раздел «Интерфейс» и создать нового клиента типа L2TP. Следует указать адрес сервера и учетные данные. Шифрование остается выбранным по умолчанию, возле опции дефолтного маршрута необходимо снять галочку активации. Если все сделано правильно, то после сохранения должно появиться соединение в сети L2TP. Mikrotik, настройка которого почти завершена, является отличным вариантом для работы с VPN.

Проверяем работоспособность узлов в созданной сетке. Вводим значение 192.168.1.1. Соединение должно сброситься. Именно поэтому необходимо создать новый маршрут статического типа. Он представляет собой подсеть типа 192.168.1.0/24. Шлюз - адрес сервера виртуальной сети. В «Источнике» нужно указать адрес пользовательской сети. После повторной проверки работоспособности узлов так называемого пинга можно заметить, что соединение появилось. Однако компьютеры в сетке еще не должны видеть его. Для того чтобы они могли подключиться, нужно создать маскарадинг. Он должен быть полностью аналогичным тому, что уже был создан на сервере. Выходной интерфейс при этом имеет значение подключения VPN-типа. Если пинг осуществился, то все должно работать. Туннель создан, компьютеры могут подключаться и работать в сетке. При хорошем тарифном пакете с легкостью получается скорость более 50 Мбит в секунду. Такого показателя можно добиться только при отказе от технологии (при использовании L2TP) IPSec в Mikrotik.


На этом стандартная завершается. Если будет добавляться новый пользователь, то следует на его устройстве добавить еще маршрут. Тогда устройства будут видеть друг друга. Если совершается проброс маршрута с Client1 и Client2, то никаких настроек на сервере менять не нужно. Можно просто создать маршруты, а шлюзом задать адрес сети оппонента.

Настройка L2TP и IPSec в Mikrotik

Если необходимо позаботится о безопасности, то следует использовать IPSec. Для этого не нужно создавать новую сеть, можно использовать старую. Обратите внимание, что создавать данный протокол необходимо между адресами типа 10.50.0. Это позволит технологии работать вне зависимости от того, какой адрес клиента.

Если есть желание создать туннель IPSec в Mikrotik между сервером и клиентом WAN, то нужно позаботиться, чтобы у последнего был внешний адрес. Если же он будет динамичным, то придется менять политику протокола, используя скрипты. Если будет задействован IPSec между внешними адресами, то в целом и надобность в L2TP будет снижена до минимума.

Проверка производительности

Обязательно в конце настроек нужно проверить производительность. Это связано с тем, что при работе с L2TP/IPSec происходит инкапсуляция по двойному типу, а значит, центральный процессор сильно нагружается. Часто при создании сети можно заметить, что падает скорость соединения. Увеличить ее можно, создав около 10 потоков. Процессор при этом будет загружен практически на сто процентов. Именно это является главным недостатком технологии L2TP IPSec в Mikrotik. Она в ущерб производительности гарантирует максимальную безопасность.


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