Open VPN – это один из протоколов технологии Виртуальных частных сетей или Virtual Private Network (VPN), предназначенный для создания зашифрованных каналов связи между компьютерами или сервером и клиентами. Преимущество, Open VPN давно известен многим системным администраторам и, не удивительно, что данный протокол имеет высокую популярность, позволяя устанавливать соединения между двумя и более компьютерами, находящимися за NAT (Firewall), без необходимости изменения основных настроек.
В этой статье, мы рассмотрим вариант поднятия Open VPN сервера на маршрутизаторе Mikrotik. К сожалению, сразу хочу оговориться, что в отличие от Linux серверов, Open VPN на Mikrotik, не поддерживает UDP транспорт и компрессию lzo. Но, тем не менее, все остальные функции, включая TCP транспорт, L2/L3 туннели и т.д., полностью работают.
Начнем мы с того, что для работы любого Open VPN сервера, нужен защищенный сертификат. Но это может быть как SSL сертификат, выданный авторизованным центом сертификации, так и самостоятельно созданный и подписанный сертификат. Как получить данный сертификат, смотрите в наших статьях, по ссылкам здесь и здесь.
Итак, у нас уже есть сертификат (в нашем случае, это будет самостоятельно подписанный сертификат), и, первым делом, мы должны его импортировать в систему. Делается это следующим образом: копируем файлы сертификатов и ключей в окно меню Files утилиты Winbox. Сделать это можно простым перетаскиванием (Drug&Drop).
Должно быть три файла:
- ca.crt – сертификат центра сертификации (Certification Authority или CA).
- server.crt – сертификат вашего OpenVPN сервера.
- server.pem – ключ вашего OpenVPN сервера.
После чего, открываем меню System Certificates и при помощи кнопки Import, импортируем все три файла, начиная с ca.crt.
Затем, таким же образом, импортируем сертификат сервера и ключ. В итоге, у нас должно получиться две записи.
Затем, в меню IP Pool зададим диапазон IP-адресов, которые будут выдаваться подключенным клиентам. В зависимости от числа предполагаемых клиентов, это можно сделать в виде целой подсети, типа 192.168.10.0/24 или же диапазоном адресов 192.168.10.100-192.168.10.150. При этом, необходимо указать уникальное имя для данного пула. Например, VPN-Pool.
Теперь в меню PPP раздела Profiles создадим новый профиль, которому дадим уникальное имя Name, укажем Local Address. В качестве Remote Address выберем наш Pool.
Далее, в разделе Interfaces меню PPP, мы должны настроить Open VPN сервер, нажав на кнопку OVPN Server.
Включаем его, поставив галочку возле Enabled, в Default Profile выбираем наш профиль, а в Certificate – наш сертификат. И, на всякий случай, ставим все галочки в шифровании Cipher.
Теперь, добавим пользователя в разделе Secrets.
Зададим ему Name (Имя пользователя) и Password, а в Profile выберем профиль Open VPN, созданный ранее.
Учтите, что для каждого отдельного пользователя, должна быть создана своя запись с уникальной парой login/password.
И ещё одна немаловажная деталь - настройка Firewall. В меню IP Firewall раздела Filter Rules, нужно добавить разрешающее правило. Где выбрать цепочку Chain – input, протокол Protocol – tcp, Dst. Port – 1194 (если вы не меняли порт в настройках Open VPN сервера).
И выбрать Action – accept.
При этом нужно не забывать о том, что все разрешающие правила, должны быть в списке выше запрещающих.
После успешного подключения клиента(ов) в меню PPP в разделе Interfaces будут появляться динамические записи (D), как показано ниже.