OpenVPN + Mikrotik рабочая инструкция

Прежде чем выкладывать эту инструкцию я проверил её и результаты прекрасно показали себя в "продакшене".

В первую очередь идём на сайт OpenVPN и скачиваем последнюю на момент написания статьи версию OpenVPN 2.4.5.

После установки OpenVPN идем в папку с программой, а именно в каталог C:\Program Files\OpenVPN\easy-rsa, копируем на рабочий стол файл vars.bat.sample, переименовываем в vars.bat и открываем на редактирование с помощью блокнота.

Меняем в батнике следующие строки:

set KEY_SIZE=1024
set KEY_COUNTRY=RU
set KEY_PROVINCE=AstrakhanRegion
set KEY_CITY=Astrakhan
set KEY_ORG=OpenVPN
set KEY_EMAIL=почта @ сервер
set KEY_CN=AMPVR
set KEY_NAME=AMPVR
set KEY_OU=AMPVR
где AMPVR - это у меня аббревиатура организации, для которой собственно всё и настраивалось.

Также необходимо раскомментировать строку "PATH=%PATH%;C:\Program Files\OpenVPN\bin"

Далее запускаем командную строку от Администратора и выполняем последовательно следующие команды:

cd "C:\Program Files\OpenVPN\easy-rsa"
vars
clean-all
build-ca

Программа начинает генерацию публичного сертификата OpenVPN и запрашивает у нас значения параметров. Если на вопрос в командной строке мы просто жмем энтер, то программа подставляет значения по умолчанию, которые мы вписали в файл vars.bat.
Останавливаемся, когда снова появляется строка C:\Program Files\OpenVPN\easy-rsa.

Даем команду на генерацию сертификата сервера OpenVPN для MikroTik (там же в командной строке) build-key-server имя_сертификата, т.е. в нашем случае пишем:

build-key-server AMPVR
на вопрос "Sign the certificate?" отвечаем Y, также как и на вопрос "1 out of 1 certificate requests certified, commit?".
На остальные вопросы просто жмём Enter.

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

build-key client
где client - это уникальное имя клиента, которому генерируем ключи.
Имя сертификата Common Name должно быть уникальным и не совпадать с другими сертификатами. Поэтому на вопрос отвечаем - client.
В папке C:\Program Files\OpenVPN\easy-rsa\keys лежат сгенерированные ключи и сертификаты.
На данный момент нас интересуют 3 файла:
ca.crt
AMPVR.crt
AMPVR.key

Далее импортируем сертификаты в микрот:

  • запускаем WinBox и копируем 3 вышеперечисленных файла из папки, где они находятся, и вставляем с помощью меню Files - Paste.
  • WinBox: System - Certificates - Import
    Импорт производим в следующем порядке: ca.crt => AMPVR.crt => AMPVR.key

После этого в окне Certificate List добавятся две записи: публичного сертификата CA и сертификата OpenVPN сервера.
В первом столбце записи сертификата сервера должны стоять две буквы - T и KT. Если там что-то другое, то попробуйте повторно импортировать файл ключа (*.key).

Создаем PPP-профиль на микроте

IP -> Pool, создаем его и присваиваем имя. Диапазон адресов указываем 192.168.100.2-192.168.100.100 или на ваш выбор.
Диапазон адресов сознательно ограничил сотней. При указании диапазона 192.168.100.2-192.168.100.254 микрот не захотел устанавливать подключение.

Далее PPP - Profiles и кнопкой + добавляем профиль.
В поля вписываем: имя профиля, Local Address - адрес роутера Микротик (у меня 192.168.100.1), к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address Remote Address. Прописываем либо один IP-адрес клиента, либо имя ранее созданного пула адресов. Здесь же меняем:

Change TCP MSS - YES
Use MPLS - YES
Use encryption - YES

Остальные настройки не трогаем.

Далее PPP- Interface - OVPN Server. Активируем его, поставив галочку в пункте Enabled
В поле Mode оставляем IP (IP-туннелирование по умолчанию)
Default Profile - выбираем профиль, который мы ранее создали.
Certificate - сертификат сервера AMPVR.crt

Ставим галки

require-client-certificate
sha1
md5
aes256

Создаем и настраиваем пользователя

PPP - Secrets и добавляем пользователя: имя, пароль, сервис и профиль.

Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером.
Убедимся, что у нас выставлена правильная временная зона (меню System - Clock).
Далее System - SNTP Client и прописываем NTP серверы. Например, отсюда.

Разрешаем трафик на порт OpenVPN: IP - Firewall - Filter Rules

Chain ставим input
Protocol - 6(tcp)
Dst. Port - 1194
In. Interface - интерфейс, на который идет входящий трафик (WAN)

Настраиваем второй микрот как клиента OpenVPN

Так же, как и при настройке сервера, копируем из папки C:\Program Files\OpenVPN\easy-rsa\keys и вставляем в раздел Files файлы сертификатов и ключей OpenVPN. Только теперь это будут: ca.crt, client.crt, client.key.
После этого по порядку импортируем их, используя меню System => Certificates => выбор сертификата => кнопка Import.
После успешного импорта в строке сертификата должны появиться буквы KT.

PPP - Interfaces новую запись OVPN Client и и на вкладке Dial Out прописываем:
адрес OpenVPN сервера (поле Connect To), логин и пароль пользователя (поля User и Password), порт соединения, наименование сертификата, тип аутентификации и шифрования (поля Auth и Cipher).

Проверяем соединение.

Настраиваем клиента OpenVPN (Windows)

Копируем ранее созданные нами файлы ca.crt, client.crt, client.key из папки C:\Program Files\OpenVPN\easy-rsa\keys в папку C:\Program Files\OpenVPN\config

Здесь же создаем обычный текстовый файл, который сохраняем как auth.cfg.
Открываем его в блокноте и вписываем 2 строки (больше там ничего не должно быть):

  • логин пользователя
  • пароль

Сохраняем и закрываем файл.
Создаем еще один текстовый файл client.ovpn и редактируем следующим образом:

proto tcp-client 
# в этой строчке мы указываем адрес в интернете нашего микротика
remote 5.111.111.111
dev tun
nobind
persist-key 
tls-client
#указываем имена публичного CA сертификата
ca ca.crt
# публичного сертификата клиента
cert client.crt
# и его закрытый ключ
key client.key
verb 3 #параметр задаёт уровень логирования, чем выше, тем больше информации при подключении и в журнале
auth-nocache
remote-cert-tls server
cipher AES-256-CBC
auth SHA1
pull
# эта строка задаёт файл с логином-паролем которые мы прописывали в PPP-Secrets на микротике
auth-user-pass auth.cfg
route-method exe 
route 192.168.0.0 255.255.255.0 10.10.10.1 #задаёт маршрут в сеть 192.168.0.0/24 через VPN

Файл сохраняем. Запускаем OpenVPN GUI
Радуемся

Вот и всё. Спасибо за внимание.

Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ

Компонент комментариев CComment

IT-admins

IT-admins

8.00 - 17.00

☎ +7 (8512) 755-888
☎ +7 (905) 480-5470
☎ +7 (917) 199-8113
info@it-admins.ru


IT-admins © 2018