Заказать обратный звонок
(044) 33-109-33
(066) (067) (097)
100-46-46

Настройка защищенного OpenVPN туннеля между двумя маршрутизаторами Mikrotik

19.02.2014
Поделиться в:

Содержание:

  1. Генерация сертификата для работы протокола OpenVPN
  2. Настройка сервера для создания L2 туннеля
  3. Настройка клиента для создания L2 туннеля
Достаточно часто, возникает задача по объединению двух различных сетей. Например, когда два разных подразделения одного предприятия, находятся в разных зданиях. Но их компьютеры, должны быть объединены в одну сеть. Тут, конечно же, поможет один из протоколов VPN (Виртуальная частная сеть), что бы создать L2 туннель и решить эту задачу. 

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

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

1. Генерация сертификата

Для работы данного протокола, нам понадобится сертификат. Проще всего, сгенерировать его самостоятельно, но для этого нам понадобится компьютер с установленной операционной системой Linux. В моем случае, я воспользовался удаленным сервером. 

Первым делом, обновляем список доступных пакетов 

~# apt-get update  

Обновление списка доступных пакетов

И устанавливаем, необходимый для генерации сертификата и ключей, пакет OpenVPN 

~# apt-get install openvpn  

установка пакета OpenVPN

Когда пакет установлен, можем приступать к созданию сертификата. При необходимости, в папке /usr/share/doc/openvpn/examples/easy-rsa/2.0/, можем отредактировать файл vars, указав там наши данные в переменных типа export KEY_ххххх. Например, в переменной export KEY-SIZE, можно увеличить размер ключа, заменив 1024 на 2048.  

создание сертификата

Переходим в папку /usr/share/doc/openvpn/examples/easy-rsa/2.0/ 

~# cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/ 

Инициализируем переменные и на на всякий случай, очищаем существующие ключи и сертификаты. 

~# source vars

~# ./clean-all  

pics 4

Инициализируем создание сертификата и ключа собственного центра сертификации 

~# ./pkitool --initca  

pics 5

Создаем ключ и сертификат для OpenVPN сервера (имя файлов сертификата и ключей, будет таким, которое вы указали в файле vars, переменной KEY_NAME) 

~# ./pkitool --pass --server

pics 6

И теперь, в папке /usr/share/doc/openvpn/examples/easy-rsa/2.0/, у нас появился новый каталог keys, в котором и хранятся, все сертификаты и ключи. Для центра сертификации, это файлы ca.crt и ca.key, и для сервера, в нашем случае, это Cert.crt и Cert.key.  

pics 7

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

~# openssl rsa -in keys/Cert.key -out keys/Cert.pem 

В итоге, получив еще один файл в папке keys.  

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

Нам нужно, любым доступным способом, например по FTP, получить к себе на компьютер, файлы ca.crt, Cert.crt и Cert.pem. Именно они нам понадобятся для настройки OpenVPN туннеля. Подключаемся к маршрутизатору, который будет выступать сервером, при помощи фирменной утилиты Winbox и переносим все файлы туда.  

pics 8

После чего, импортируем их в систему, в разделе меню System - Certificates, при помощи кнопки Import, где в новом окне выбираем:

Only File - имя файла сертификата или ключа;

Passphrase - пароль для импорта ключа, если необходимо.

pics 9

При этом, стараемся соблюдать последовательность - сперва, сертификат CA, затем сертификат сервера OpenVPN и в конце, ключ.

В итоге, у нас появятся вот такие записи в разделе сертификатов. Причем, возле сертификата OpenVPN сервера, должны быть 2 буквы - KR, обозначающие K:

Decrypted-Private-Key R: RSA.  

pics 10

И теперь, мы можем приступить к непосредственной настройке OpenVPN сервера. Для этого, открываем меню PPP и первым делом, переходим на вкладку Profiles, где кнопкой “+”, добавляем новый профиль. 

В открывшемся окне, в поле Name - присваиваем имя профилю, а в полях Local Address и Remote address, вписываем IP адреса. Где Local, это адрес нашего туннеля, присваиваемый серверу, а Remote - клиенту.  

pics 11

Переходи на вкладку Interfaces, где нажимаем на кнопку OVPN Server и в открывшемся окне, ставим галочку Enabled, тем самым, активируя OpenVPN сервер.

Default Profile - выбираем созданный нами ранее профиль.

Certificate - выбираем сертификат OpenVPN сервера, который мы импортировали в самом начале.

И сохраняем настройки.  

pics 12

Последнее, что нам нужно сделать по настройке сервера, это добавить нового пользователя, на вкладке Secrets. Где мы, при помощи кнопки “+”, создаем новую запись. В которой, в полях Name и Password, вписываем логин и пароль, для будущего пользователя. Service - выбираем ovpn, а в качестве профиля, в поле Profile, выбираем наш OpenVPN профиль.  

pics 13

Однако, нужно иметь в виду, что в зависимости от ваших настроек Firewall, возможно нужно будет добавить разрешающее правило в меню IP - Firewall, на вкладке Filter Rules, следующего содержания:

Chain - input 

Protocol - tcp 

Dst.Port - 1194

Action - accept  

pics 14

Оно должно располагаться раньше запрещающих правил.  

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

Теперь, переходим к настройке клиента, который находится в другой части города. Его так же, будем настраивать посредством фирменной утилиты Winbox. 

Хочу обратить ваше внимание на то, что настраивая сервер, мы специально в его свойствах, не поставили галочку Requre Client Certificate. Поэтому, не требуется дополнительных сертификатов для клиента, и его настройка, будет достаточно простой. 

В разделе меню PPP, на вкладке Interfaces, кнопкой “+”, добавляем новую запись OVPN Client.  

pics 15

И в открывшемся окне, на вкладке Dial Out, устанавливаем следующие параметры:

Connect To - IP адрес OpenVPN сервера

User - логин клиента

Password - пароль клиента

Auth - выбираем sha1

Cipher - выбираем aes 256  

pics 16

Сохраняем настройки, и вскоре, возле новой записи, должна появиться буква R, свидетельствующая о том, что соединение успешно установлено.  

pics 17

Настало время, проверить все ли работает. Для этого, мы открываем консоль New Terminal и командой ping, определяем доступность узлов локальной сети.  

pics 18

Таким образом, мы видим, что оба маршрутизатора, не смотря на территориальную разницу, находятся в одной локальной сети. 

Далее, в зависимости от ваших потребностей, вы можете настроить NAT, Routing и т.д. на ваше усмотрение.

logo
Настройка защищенного OpenVPN туннеля между двумя маршрутизаторами Mikrotik
Отзывы покупателей
Рейтинг покупателей
3 / 5 3 5 4
На основе 4 оценок покупателей
25%
0%
0%
0%
25%
Отзыв
Отлично
Заголовок*
Достоинства
Недостатки
Комментарий*
Представьтесь
Комментарий

Андрей, возможно автор допустил ошибку на первом скриншоте, и на самом деле, там устанавливалось значение aes 256 а не 128.

Комментарий
баян, в настройках сервера ставите галку aes128! В настройках клиента aes256! Тупо Копипаст?)))))))))
Комментарий
mglushak, Не проверяли..."
Комментарий
И шо теряем по пропускной способности?50 - 60 % ?

Возврат к списку


Авторизуйтесь, чтобы добавить отзыв