Разворачиваем OpenVPN Server на Mikrotik с использованием сертификатов
Не так давно, в домашней сети обосновался NAS сервер для хранения кино, фотографий, а также различных документов. После сборки сервера, встал вопрос о доступе из интернета, через OpenVPN.
Схема сети выглядит следующим образом:
Параметры сети:
- роутер смотрит в интернет адресом –
95.140.58.61
(адрес должен быть обязательно публичным) - локальная сеть –
192.168.20.0 / 28
, ip роутера –192.168.20.1
, ip NAS Server –192.168.20.2
- сеть внутри VPN туннеля –
10.0.0.0 / 29
, ip ovpn сервера –10.0.0.1
, ip ovpn клиента –10.0.0.2
Задача – организовать доступ с телефона (ovpn клиента) на NAS Server, через ovpn сервер, развернутый на Mikrotik.
1) Создание корневого сертификата
Заходим в System -> Certifictes
жмем добавить сертификат:
- Name – ca2 (если у вас это первый сертификат, укажите ca)
- Country – RU (обязательно указывать в сокращенном виде)
- State – Saint – Petersburg (укажите свое)
- Locality – Saint-Petersburg (укажите свое)
- Organization – Home (укажите свое)
- Common Name – ca2 (такой же как Name)
- Days valid – 3650 (период (в днях), в течении которого сертификат считается валидным)
Отмечаем ключи:
жмем Apply, затем Sign:
в CA CRL Host
– прописываем 127.0.0.1, жмем Start и ждем пока Mikrotik создаст сертификат
2) Создание сертификата сервера
Добавляем еще один сертификат и заполянем поля:
Отмечаем ключи:
Жмем Apply, затем Sign:
В Certificate
указываем сертификат сервера, в CA
– корневой сертификат, сгенерированный ранее. Жмем Start и ждем пока сертификат сервера подпишется
3) Создание сертификата клиента
Добавляем сертификат и заполняем поля:
Отмечаем ключи:
Жмем Apply, затем Sign:
В Certificate
указываем сертификат клиента, в CA
– корневой сертификат, сгенерированный ранее. Жмем Start и ждем пока сертификат клиента подпишется
4) Экспорт сертификатов на ПК
Поочередно выгружаем корневой сертификат и сертификат клиента. Для экспорта кликаем правой кнопкой мыши по сертификату и нажимаем Export
.
Важный момент! При экспорте выбираем Type - PEM
и обязательно указываем Export Passphrase
(любой, min 8 символов)
После экспорта переходим в раздел Files
и видим нечто похожее:
file.crt – это сертификат, file.key – это ключ. Далее простым перетаскиванием на рабочий стол переносим наши файлы в отдельную папку.
5) Настройка пользователей и адресации пользователей внутри VPN туннеля
Некоторые рекомендуют создать пул для выдачи ip адресов, у меня 2-3 клиента для подключения, поэтому пропишем настройки ручками. Заходим в PPP -> Secrets
, создаем нового пользователя:
- Name – user_1 (можно указать любое)
- Password – пароль (будет спрашиваться при подключении к серверу)
- Service – ovpn
- Profile – default
- Local Address – 10.0.0.1 (смотри схему сети) – адрес OVPN сервера внутри туннеля
- Remote Address – 10.0.0.2 (смотри схему сети) – адрес клиента внутри туннеля
6) Создание и конфигурирование OVPN Server
Переходим в PPP -> OVPN Server
и конифгурируем сам сервер:
- Port – 1194 (в моем случае – 7985)
- Mode – ip (L3 VPN) или ethernet (L2 VPN). Рекомендуется первый, т.к приложение OVPN Сonnect под мобилку, работает только в режиме L3
- Protocol – UDP (если Router OS 7) и TCP (если Router OS 6)
- Netmask – 29 (смотри схему сети – сеть внутри тунеля
10.0.0.0/29
) - Certificate – указываем сертификат сервера, созданный на 2 шаге, отмечаем пункт –
Require Client Sertificates
- Auth – sha1
- Cipher – aes 256 cbc
- Redirect Gateway – disabled
7) Добавляем правила в Firewall
после этого поднимаем правило, выше запрещающих правил. На этом настройка сервера но роутере Mikrotik закончена.