Network

Разворачиваем 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, создаем нового пользователя:

создание и настройка ovpn пользователя
  • 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

и конифгурируем сам сервер:

Конфигурирование OVPN сервера
конфигурация ovpn сервера
  • 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

добавление правила в firewall
добавление правила в firewall

после этого поднимаем правило, выше запрещающих правил. На этом настройка сервера но роутере Mikrotik закончена.