Настройка OpenVPN на маршрутизаторе MikroTik для связи с удаленными офисами

Многие из нас испытывают необходимость соединения удаленных офисов, сделаем это по средствам MikroTik настраивая на нем OpenVPN. На самом деле, в моем случае я настраиваю впервые OpenVPN так как мои филиалы работают на терминалке, но, я теперь думаю что стоит попытаться с некоторыми филиалами поработать через OpenVPN. В качестве клиента для соединения я буду использовать Windows 8.1, позже, будет статья про настройку клиента на машине Debian. Для начала, сгенерируем сертификаты для OpenVPN на Debian 7.6 (в моем случае), для этого, подключаемся putty к нашему серверу и устанавливаем необходимые пакеты:
apt-get install openvpn
Далее пакет устанавливается и нам нужно скопировать начальные настройки easy-rsa

cp -prv /usr/share/doc/openvpn/examples/easy-rsa/2.0 /root/easy-rsa
cd /root/easy-rsa
cp vars{,.orig}

Далее, отредактируем файл генерации сертификатов

mcedit vars

Ищем пункт и меняем следующие параметры примерно таким образом (остальные параметры не трогаем):

export KEY_SIZE=2048
export KEY_COUNTRY="RU"
export KEY_PROVINCE="RU"
export KEY_CITY="Kazan"
export KEY_ORG="My Company"
export KEY_EMAIL="mymail@mydomain.ru"
export KEY_EMAIL=mymail@domain.com
export KEY_CN=MyCompany-CA
export KEY_NAME=MyCompany-CA
export KEY_OU=""
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234

в итоге у нас низ файла получиться примерно таким

1

После чего, вводим в консоле:

source ./vars

./clear-all

Далее, нам надо сгенерировать CA сертфикат:

./build-ca

В процессе генерации сертификата все настройки подтянутся с файла vars, поэтому, мы их не меняем и просто жмем Enter на каждом пункте

2

После этого, сгенерируем серверный и приватный ключи:

./build-key-server mikrotik-office

Тут по аналогии с CA сертификатом просто жмем Enter, пароль в пункте «A challenge password» лучше указать свой, далее соглашаемся подписать сертификат (нажимаем ‘y’):

3

После этого, скопируем наши созданные ключи на MikroTik, нам понадобится 3 файла — ca.crt, mikrotik-office.crt, mikrotik-office.key , для этого, подключимся к нашему серверу с помощью WinSCP и скопируем их с папки /root/easy-rsa/keys/ :

4

Далее просто перетаскиваем сертификаты в пункт «Files» нашего MikroTik’а по средствам winbox:

5

После этого заходим в управление сертификатами System -> Certificates:

6

Импортируем наши сертификаты, нажимаем кнопку Import и выбираем сначала ca.crt:

7

Далее импортируем наш mikrotik-office.crt , если указывали пароль то пишем его снизу:

8

И тоже самое делаем с mikrotik-office.key , в итоге у нас получиться что то такое:

9

Теперь, создадим пул адресов —

10

После, нажимаем красный плюс, вводим имя нашего пула, в адресе вводим к примеру 192.168.89.1-192.168.89.2 :

11

По сути, я делаю все это для 1 клиента, если нужно 2 и более, создаем пул условно с адресов 192.168.89.3-192.168.89.4 и в первом пуле (openvpnpool в моем случае) в пункте Next Pool указываем пул которому принадлежит адреса 192.168.89.3-192.168.89.4, то есть примерно выглядеть будет так:

12

и так далее по аналогии. Теперь перейдем к настройке профилей PPP, для этого в winbox нажимаем на PPP, затем, вкладку Profiles, и красный плюс для создания новой записи, в которой указываем — Name — имя профиля, в моем случае openvpn, local address и remote address — выбираем наш выше созданный openvpnpool:

13

Теперь перейдем к настройке OpenVPN сервера, для этого, в том же пункте PPP в вкладке Interfaces нажимаем на кнопку OVPN Server, теперь смотрим на зеленые стрелки, где ставим галку Enabled, затем в Default Profile выбираем openvpn, в Certificate выбираем наш cert2 (можно было заранее обозвать по нормальному, но этот момент я упустил), затем ставим галку Require Client Certificate, и в Cipher ставим все галки, как на картинке:

14

Затем, последний штрих — назначим логин и пароль для соединения, для этого переходим в PPP -> Secrets -> нажимаем кнопку + , пишем имя пользователя, пароль (сложный), Service — ovpn, профиль — openvpn:

17

На этом настройка серверной части закончена, перейдем к клиентской, пусть это будет на этот раз не машина с Debian для соединения (если будет желание у читателя  — я напишу об этом позже, в принципе аналогия та же), в моем случае настройку клиентской части я буду производить на Windows 8.1, скачиваем OpenVPN клиент, перейдем по ссылке:

https://openvpn.net/index.php/open-source/downloads.html

Скачиваем нужный нам клиент, в моем случае я использую версию 64 бит:

15

Установка крайне проста — везде жмем кнопку Далее, а после, нам нужно сгенерировать клиентский сертфикат, это мы сделаем на нашем открытом сервере debian:

cd /root/easy-rsa/
source vars
./build-key my-client-key

Тут тоже самое, данные все уже заполнены, пароль вводить не обязательно — но лишним не будет :)

После этого скопируем файлы ca.crt, my-client-key.crt и my-client-key.key в папку config нашего OpenVPN клиента (в моем случае папка по умолчанию C:\Program Files\OpenVPN\config):

16

 

После этого создадим файл к примеру test.ovpn в той же папки config (находящийся в пути по-умолчанию «C:\Program Files\OpenVPN\config»:

proto tcp-client
#наш ip микротика
remote УКАЗЫВАЕМ_IP_НАШЕГО_МИКРОТИКА 1194
dev tun
nobind
persist-key
persist-tun
tls-client
#наши ключи лежащие в папке config
ca ca.crt
cert my-client-key.crt
key my-client-key.key
ping 10
verb 3
route-method exe
# роутинг до локальной сети нашего MikroTik'а, либо просто локальная сеть в которую нам надо попасть в формате route адрес_сети_куда_хотим_попасть маска_сети шлюз_через_который_пойдет_соединение (в моем случае, 192.168.89.1)
route 192.168.1.0 255.255.255.0 192.168.89.1
cipher AES-256-CBC
auth SHA1
pull
auth-user-pass auth.cfg

теперь в указанный в конфиге файл auth.cfg внесем наши логин и пароль (указанный выше в микротике) формат файла будет такой:

login
password

и сохраняем его (всего 2 строки идущие подряд), сохраняем конфигурацию, и затем запускаем OpenVPN GUI и пытаемся соединиться, правой кнопкой мыши на значок OpenVPN и «Подсоединиться»)

18

После этого все должно соединиться, если Вы допустили в настройке ошибки, то соответственно соединения не появиться

19

Пингуем нашу локальную сеть и понимаем что все ок. На этом все, если что-то упустил — прошу написать в комментариях, дополню документацию ниже.

Summary
Article Name
Настройка OpenVPN на маршрутизаторе MikroTik
Description
Полная скриншотов и подробностей установка, изготовление сертификатов на Debian 7.6 для последующего использования в OpenVPN настроенного на маршрутизаторе MikroTik
Author
comments powered by HyperComments