Openvpn mikrotik настройка клиента windows

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

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

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.

In a previous tutorial, we discussed the configuration of an OpenVPN Server on a Mikrotik hAP ac³ router and successfully tested the OpenVPN client configuration on Debian. Building on that, we will explore the process of installing and configuring the OpenVPN client on Windows 10.

Configuring the OpenVPN client on Windows 10 is a relatively simple process that involves installing the client software, modifying the configuration file, and initiating a connection to the OpenVPN server. With this tutorial, we hope to have provided a clear understanding of the process involved in setting up the OpenVPN client on Windows 10.

Our OpenVPN server is currently running on Mikrotik RouterOS version 7.7. It is important to note that since RouterOS version 7.1, Mikrotik has started supporting UDP for OpenVPN servers. As a result, we will switch from TCP to UDP in the OpenVPN config file, and make other changes necessary to configure the OpenVPN client on Windows.

1. Download OpenVPN and Install OpenVPN Client for Windows

The OpenVPN client software for Windows is available for download from the official OpenVPN website. Once the client software is downloaded, we can proceed with the installation process, which is straightforward.

Figure 1 — OpenVPN-2.6.0-1005-amd64 Installed

After OpenVPN Client installation, make sure that TAP Virtual Ethernet Adapter has been installed. If it is installed successfully, you will find a new Network Adapter named as TAP-Windows Adapter in Network Connections window.

Select Win — X-> Network Connection -> and click «Change adapter options«

Figure 2 — TAP-Windows Adapter Presented After OpenVPN Client Installation

2. OpenVPN Client Configuration

Once the installation is complete, we can proceed with configuring the OpenVPN client. Edit the server and port in configuration file and copy the following files to C:\Program Files\OpenVPN\config:

  • ca.crt
  • client.crt
  • client.key
  • client.ovpn

Figure 3 — OpenVPN Client Config Directory

I have created a configuration client.ovpn that can be modified according to your specific needs. After modifying the configuration file, we can proceed to start the OpenVPN client software and import the modified configuration file. Once the configuration is imported, we can initiate a secure connection to the OpenVPN server.

To initiate the connection, we right-click on the OpenVPN Server GUI icon in the panel and select «Connect.» This will prompt us to enter our login and password details (as shown in Figure 4).

Figure 4 — Connecting to OpenVPN Server from Windows

Once we have entered the login and password details, the OpenVPN client will establish a connection to the OpenVPN server. During this process, we will be prompted to enter the Private key password for client.crt. It is a security measure to ensure that only authorized users can access the OpenVPN server.

2.1 TLS handshake Error

it’s important to note that we must use the line «data-ciphers AES-256-CBC» to ensure that we don’t encounter any issues when connecting to the OpenVPN server on Mikrotik.

data-ciphers AES-256-CBC

During my testing, I found that this parameter is required specifically for the OpenVPN client on Windows. The OpenVPN client on Linux does not require this parameter to connect to the OpenVPN server on Mikrotik.

By ensuring that the configuration file includes the «data-ciphers AES-256-CBC» line, we can prevent the occurrence of the «TLS key negotiation failed — TLS handshake failed».

2.2 Credentials

If you would like to avoid the inconvenience of typing in your username and password every time you start up the OpenVPN client, you can create a file called «secret.cfg» and place it in the directory C:\Program Files\OpenVPN\config. Then, you can add the following line to the client.ovpn configuration file:

auth-user-pass secret.cfg

By doing this, the OpenVPN client will read your login credentials from the secret.cfg file and automatically enter them when you initiate a connection to the OpenVPN server. This can save time and hassle, especially if you need to connect to the OpenVPN server frequently.

2.3 Routing

Once we establish a tunnel, the OpenVPN server assigns an IP address from the subnet 192.168.100.0/24 to the interface OpenVPN TAP-Windows6 on the Windows client (Figure 5). However, to access the clients and Mikrotik IP 192.168.88.1 on the LAN subnet 192.168.88.0/24, we need to set up a route. There are two ways to achieve this.

Figure 5 — IP Address for OpenVPN TAP-Windows6 Interface Assigned from OpenVPN Server

2.3.1 Default Route 0.0.0.0 128.0.0

The first method involves using the «redirect-gateway def1» option in the OpenVPN config file, which pushes the default route 0.0.0.0 128.0.0.0 via 192.168.100.1 to the client. This allows all Windows traffic to be routed through Mikrotik, enabling access to hosts on the LAN subnet 192.168.88.0/24. However, this also means that the client’s Internet traffic is also routed through Mikrotik (as shown in Figure 6).

To view the current routing table on Windows, we can use the command «route PRINT».

> route PRINT

Figure 6 — Windows Routing Table with a Default Route Received from OpenVPN Server

Note: OpenVPN default route 0.0.0.0 128.0.0.0 is more specific than a standard default route. It gets used in preference, so we do not have to either delete the existing default route, nor do we have to play games with routing metrics to get our OpenVPN route preferred [1].

2.3.2 Specific route 192.168.88.0/24

Alternatively, if we want to reach clients on the LAN subnet 192.168.88.0/24 without routing Internet traffic through Mikrotik, we need to comment out the «redirect-gateway def1» line in the OpenVPN config. Use the either «;» or «#» character to do so. We also need to add a specific route for the LAN subnet by including the following line in the config file:

route 192.168.88.0 255.255.255.0 192.168.100.1

This ensures that the route 192.168.88.0/24 is pushed to the client (as shown in Figure 7), allowing access to clients on the LAN subnet while still preserving the default Internet route.

> route PRINT

Figure 7 — Windows Routing Table with a Default Route Received from OpenVPN Server

Conclusion

In conclusion, configuring an OpenVPN client on Windows 10 to connect to an OpenVPN server running on a MikroTik router can be a useful way to remotely access resources on a local network. With the modifications to the configuration file discussed in this tutorial, users can establish a secure connection and access resources on the network without compromising their privacy or security.

The ability to set up specific routes depending on the user’s needs also allows for greater flexibility and control over the network traffic. Overall, by following the steps outlined in this tutorial, users can successfully set up and use an OpenVPN client on Windows 10 to connect to an OpenVPN server on a MikroTik router.

Бывают случаи, когда необходимо настроить удалённый доступ на mikrotik или даже на несколько.
Особенно это актуально, если вы обслуживаете несколько объектов и нет возможности физически постоянно присутствовать возле оборудования.
В этом статье мы разберём, как настроить OpenVPN сервер на mikrotik, а также клиенты на mikrotik и компьютере под управлением Windows.

Для работы нам понадобится Белый IP адрес (он и будет адресом сервера в наших настройках) для доступа к серверу из интернета и сертификаты безопасности.

Краткий план данной статьи:

  • Создание сертификатов и ключей OpenVPN
  • Создание сервера OpenVPN на Mikrotik
  • Создание клиента OpenVPN на ПК
  • Создание клиента OpenVPN на Mikrotik

1) Скачаем программу OpenVPN с официального сайта.

OpenVPN страница сайта

2) Устанавливаем, выбрав все галочки.

EasyRSA Certificate Management Scripts нам обязательно понадобится для генерации ключей и сертификатов.

Openvpn Установка

3) Указываем путь. В дальнейшем он нам понадобится. В нашем случае используем стандартный C:\Program Files\OpenVPN

4) После установки заходим в C:\Program files\OpenVPN\easy-rsa

Открываем vars.bat (если его нет, то vars.bat.sample) блокнотом или NotePad++ и редактируем его.

set KEY_COUNTRY=RU
set KEY_PROVINCE=MoscowRegion
set KEY_CITY=MOSCOW
set KEY_ORG=OpenVPN
set KEY_EMAIL=mail@mail.com
set KEY_CN=server
set KEY_NAME=server
set KEY_OU=OU
set PKCS11_MODULE_PATH=changeme
set PKCS11_PIN=1234

В строках  set KEY_CN и set KEY_NAME указываем server
Последние 2 строки — параметры по умолчанию. Остальное можете редактировать под себя.

Сохраняем файл как vars.bat на рабочий стол, а затем копируем в папку C:\Program files\OpenVPN\easy-rsa
Чаще всего сохранить напрямую в исходную папку не получится — не хватает прав.

5) Отредактируем файл openssl-1.0.0.cnf
Так же открываем с помощью блокнота или notepad++

Нас интересует строка:
default_days = 3650 # how long to certify for
Она отвечает за время жизни сертификата. Если значение отличается — то указываем 3650 (10 лет).
Сохраняем.

6) Запускаем командную строку от имени администратора:
Пуск — Все программы — Стандартные 
Правой кнопкой мыши на «Командная строка» и в меню — Запустить от имени администратора.
Командную строку не закрываем до конца процесса генерации сертификатов.

Запуск командной строки с правами администратора

7) Поочередно выполняем следующие три команды:
cd C:\Program files\OpenVPN\easy-rsa
vars
clean-all

В итоге мы должны увидеть сообщение «Скопировано файлов: 1» дважды.

easy-rsa vars clean-all

В папке C:\Program files\OpenVPN\easy-rsa появится папка keys с двумя файлами index.txt и serial.

easy-rsa 2 файла в папке с ключами

8) Генерируем ключ Диффи Хельмана — команда build-dh
Генерация займёт некоторое время. Дождитесь окончания.

9) Генерируем ключ центра сертификации (CA) — build-ca

Нажимаем Enter, пока не закончатся вопросы.
Вы увидите в командной строке путь C:\Program files\OpenVPN\easy-rsa

Генерируем ключ центра сертификации

Нет смысла менять заданные значения. Вы ранее прописали эти параметры в файле vars.bat

10) Генерируем сертификат сервера — команда build-key-server server
Нажимаем Enter (оставляем параметры по умолчанию, прописанные в vars.bat), пока не дойдём до вопросов.
Sign the certificate? (Создание сертификата на 3650 дней)
1 out of 1 certificate requests certified, commit? (Запись сертификата в базу)
На вопросы отвечаем нажатием Y

Генерируем сертификат сервера

11) Генерируем сертификат клиента build-key client
Нажимаем Enter (оставляем параметры по умолчанию, прописанные в vars.bat), пока не дойдём до вопросов Common Name и Name.
На эти вопросы отвечаем client — это название создаваемого сертификата.

На вопросы Sign the certificate? и 1 out of 1 certificate requests certified, commit? отвечаем нажатием Y

12) Генерация сертификатов окончена.
В папке C:\Program files\OpenVPN\easy-rsa\keys можно увидеть следующие файлы:

 Генерация сертификатов окончена. Список готовых файлов

Сертификаты для сервера и клиентов готовы.

Настройка OpenVPN сервера на Mikrotik

Подключимся к Mikrotik с помощью программы Winbox.
Загрузим 3 файла: ca.crt, server.crt, server.key
Для этого в меню нажмём Files и перетащим их из папки C:\Program files\OpenVPN\easy-rsa\keys

Загрузим в микротик ca.crt, server.crt, server.key

13) Далее необходимо их импортировать.
Откроем System – Certificates — Import и поочерёдно выберем сертификаты в этом порядке:
ca.crt
server.crt
server.key

Импортируем в микротик сертификаты

После импорта появятся две записи:

После импорта появятся сертификаты

14) Создадим пул адресов для VPN клиентов:

IP — Pool — add (+)
Введём название openvpn-pool
Диапазон 172.30.0.2-172.30.0.253

Добавим пул адресов

15) Создадим PPP профиль.

PPP — Profiles — add (+)
Введём название openvpn
Локальный адрес 172.30.0.1
Созданный Пул openvpn-pool
Остальные настройки оставляем по умолчанию.
Нажимаем ОК.

Микротик профиль PPP

16) Создадим непосредственно сам OpenVPN сервер
PPP — Interface — OVPN Server
Включаем Enable
Указываем порт 1194
Выбираем наш профиль openvpn
Поставим галочку Require Client Certificate
Выберем наш сертификат server.crt

Создаём на микротике сервер openvpn

17) Создадим пользователя для подключения.
PPP — Secrets — add (+)
Введём имя пользователя и пароль ovpn_user1
Выбираем Сервис ovpn и профиль openvpn

Микротик пользователь для подключения VPN

Создадим 2 пользователя:

ovpn_user1 для клиента на компьютере

ovpn_mikrotik1 для клиента на Mikrotik

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

18) Настроим фаервол
IP — Firewall — add(+)
Во вкладке General указываем:
Chain — input
Protocol — tcp
Порт 1194
Интерфейс — ether1 (Если интернет идёт через него)
Вкладка Action:
Action — accept
Затем ОК

Настройка фаервола для VPN микротика

Сервер настроен, теперь приступим к настройке VPN клиентов.

Настройка VPN клиента на компьютере под управлением Windows

19) Копируем в папку C:\Program files\OpenVPN\config\

из C:\Program files\OpenVPN\easy-rsa\keys следующие файлы
ca.crt, client.crt, client.key.

из C:\Program files\OpenVPN\simple-config\
client.ovpn

Создадим текстовый файл pass, где укажем логин и пароль от созданного VPN клиента на сервере.
В нашем случае это ovpn_user1

Укажем логин и пароль пользователя для подключения

20) Откроем файл client.ovpn с помощью блокнота или notepad++
Изменяем следующие строки:
#Протокол
proto tcp
#Адрес и порт сервера
remote ваш.ip.адрес.сервера 1194

#Проверяем правильность названия ключей
ca ca.crt
cert client.crt
key client.key

И в самом конце добавим строчку
auth-user-pass «C:\\Program files\\OpenVPN\\config\\pass.txt»
В итоге у нас получатся следующие настройки в этом файле:
client
dev tun
proto tcp
remote адрес_сервера 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert user.crt
key user.key
remote-cert-tls server
cipher AES-128-CBC
verb 3
auth-user-pass «c:\\Program Files\\OpenVPN\\config\\pass.txt»

Остальные настройки закомментированы решеткой «#» или точкой с запятой «;»

21) Сохраняем файл. Если сохранить в папку не получается — сохраняем на рабочий стол, а затем копируем с заменой.

Запускаем OpenVPN и подключаемся.

Подключение к OpenVPN

После подключения можем увидеть, что нам назначен IP из диапазона, который ранее указали на сервере.

Удачное подключение к VPN, получен IP

Настройка VPN клиента на Mikrotik

Имея настроенный OpenVPN сервер, можно настроить доступ на Mikrotik даже там, где нет белого IP адреса.

22) Подключимся к Mikrotik с помощью программы Winbox.
Загрузим 2 файла:  client.crt, client.key

Для этого в меню нажмём Files и перетащим их из папки C:\Program files\OpenVPN\easy-rsa\keys

Загрузка сертификата и ключа клиента на микротик
23) Далее необходимо их импортировать.
Откроем System – Certificates — Import и поочерёдно выберем сертификаты в этом порядке:
client.crt
client.key

Импорт в микротик клиентского ключа и сертификата

24) Настроим параметры сервера:
PPP — add(+) — OVPN client

OVPN клиент на микротике
Во вкладке General указываем имя
Name — openVPN1 (любое, на ваше усмотрение)
Вкладка Dial Out:
Connect To — Адрес сервера(Внешний IP адрес главного роутера Mikrotik)
Port 1194
Указываем пользователя и пароль, который мы создали на VPN сервере
В нашем случае это пользователь ovpn_mikrotik1
Сертификат Client.crt

Нажимаем ОК

Настройка vpn подключения на микротике

25) В терминале набираем /interface ovpn-client monitor openVPN1
Должно появиться сообщение со статусом connected

Микротик статус VPN подключения в консоле

Теперь к этому mikrotik можно подключиться через VPN по адресу, который он получил от VPN сервера

Подключение к VPN серверу через Винбокс
Посмотреть адрес можно:
В Mikrotik-клиенте в IP-Adresses строка с нашим интерфейсом openVPN1

Микротик назначенный IP VPN сервером

В Mikrotik-сервере PPP-Active Connections 

Полученный адрес в активных подключениях микротика

VPN (Virtual Private Network) technology provides a secure and encrypted tunnel across a public network. So, a private network user can send and receive data to any remote private network through VPN tunnel as if his/her network device was directly connected to that private network.

MikroTik OpenVPN Server provides a secure and encrypted tunnel across public network for transporting IP traffic using PPP. OpenVPN uses SSL Certificates. So, OpenVPN Tunnel is a trusted tunnel to send and receive data across public network. MikroTik OpenVPN Server can be applied in two methods.

  • Connecting remote workstation/client: In this method, OpenVPN client software installed any operating system such as Windows can communicate with MikroTik OpenVPN server through OpenVPN tunnel whenever required and can access remote private network as if it was directly connected to the remote private network.
  • Site to Site OpenVPN: This method is also known as VPN between routers. In this method, an OpenVPN client supported router always establishes an OpenVPN tunnel with MikroTik OpenVPN Server. So, private networks of these routers can communicate with each other as if they were directly connected to the same router.

The goal of this article is to connect a remote client using OpenVPN Tunnel across public network. So, in this article I will only show how to configure MikroTik OpenVPN Server for connecting a remote workstation/client (Windows Client).

Network Diagram

To configure a MikroTik OpenVPN Tunnel for connecting a remote workstation/client, I am following a network diagram like below image.

OpenVPN Remote Office Network
OpenVPN Remote Office Network

In this network, MikroTik Router (RouterOS v6.38.1) is connected to internet through ether1 interface having IP address 192.168.30.2/30. In your real network, this IP address should be replaced with public IP address. MikroTik Router’s ether2 interface is connected to local network having IP network 10.10.11.0/24. We will configure OpenVPN server in this router and after OpenVPN configuration the router will create a virtual interface (OpenVPN Tunnel) across public network whose IP address will be 10.10.11.1. On the other hand, a remote laptop (workstation/client) is connected to internet and wants to connect to our OpenVPN server for accessing local network resources. We will configure OpenVPN client in this laptop and after establishing an OpenVPN Tunnel across public network, this laptop will get a MikroTik Router’s local IP 10.10.11.10 and will be able to access MikroTik Router’s private network.

MikroTik OpenVPN Server Configuration

We will now start OpenVPN Server configuration. Complete OpenVPN configuration can be divided into two parts.

  • Part 1: OpenVPN Server Configuration in MikroTik Router
  • Part 2: OpenVPN Client Configuration in Windows OS

Part 1: OpenVPN Server Configuration in MikroTik Router

According to our network diagram, MikroTik Router is our OpenVPN Server. So, we will setup and configure OpenVPN Server in MikroTik Router. Complete MikroTik RouterOS configuration for OpenVPN Server can be divided into five steps.

  • Step 1: MikroTik Router basic configuration
  • Step 2: Creating SSL certificate for OpenVPN server and client
  • Step 3: OpenVPN Server configuration
  • Step 4: PPP Secret creation for OpenVPN client
  • Step 5: Enabling Proxy ARP on LAN interface

Step 1: MikroTik Router basic configuration

In MikroTik Router basic configuration, we will assign WAN, LAN and DNS IP and perform NAT and Route configuration. The following steps will show how to do these topics in your RouterOS.

  • Login to MikroTik RouterOS using winbox and go to IP > Addresses. In Address List window, click on PLUS SIGN (+). In New Address window, put WAN IP address (192.168.30.2/30) in Address input field and choose WAN interface (ether1) from Interface dropdown menu and click on Apply and OK button. Click on PLUS SIGN again and put LAN IP (10.10.11.1/24) in Address input field and choose LAN interface (ether2) from Interface dropdown menu and click on Apply and OK button.
  • Go to IP > DNS and put DNS servers IP (8.8.8.8 or 8.8.4.4) in Servers input field and click on Apply and OK button.
  • Go to IP > Firewall and click on NAT tab and then click on PLUS SIGN (+). Under General tab, choose srcnat from Chain dropdown menu and click on Action tab and then choose masquerade from Action dropdown menu. Click on Apply and OK button.
  • Go to IP > Routes and click on PLUS SIGN (+). In New Route window, click on Gateway input field and put WAN Gateway address (192.168.30.1) in Gateway input field and click on Apply and OK button.

Basic RouterOS configuration has been completed. Now we will Create SSL certificate for OpenVPN server and client.

Step 2: Creating SSL certificate for OpenVPN Server and Client

OpenVPN server and client configuration requires SSL certificate because OpenVPN uses SSL certificate for secure communication. MikroTik RouterOS version 6 gives ability to create, store and manage certificates in certificate store. So, we will create required OpenVPN certificate from our RouterOS. OpenVPN server and client configuration requires three types of certificates:

  1. CA (Certification Authority) certificate
  2. Server certificate and
  3. Client certificate

Creating CA certificate

The following steps will show how to create CA certificate in MikroTik RouterOS.

  • Go to System > Certificates menu item from winbox and click on Certificates tab and then click on PLUS SIGN (+). New Certificate window will appear.
  • Put your CA certificate name (for example: ca) in Name input field. Also put a certificate common name (for example: ca) in Common Name input field.
  • You will find some optional fields in General tab. You can fill if you wish. All fields are self-defined.
  • Click on Key Usage tab and uncheck all checkboxes except crl sign and key cert. sign
  • Click on Apply button and then click on Sign button. Sign window will appear now.
  • Your newly created certificate template will appear in certificate dropdown menu. Select your newly created certificate template if it is not selected.
  • Put MikroTik Router’s WAN IP address (192.168.30.2) in CA CRL Host input field.
  • Click on Sign button. Your Sign certificate will be created within few seconds.
  • Click on OK button to close New Certificate window.
  • If newly created CA certificate does not show T flag or Trusted property shows no value, double click on your CA certificate and click on Trusted checkbox located at the bottom of General tab and then click on Apply and OK button.

CA certificate has been created successfully. Now we will create server certificate.

Creating Server Certificate

The following steps will show how to create server certificate in MikroTik RouterOS.

  • Click on PLUS SIGN (+) again. New Certificate window will appear.
  • Put your server certificate name (for example: server) in Name input field. Also put a certificate common name (for example: server) in Common Name input field.
  • If you have put any optional field for CA certificate, put them here also.
  • Click on Key Usage tab and uncheck all checkboxes except digital signature, key encipherment and tls server
  • Click on Apply button and then click on Sign button. Sign window will appear now.
  • Your newly server created certificate template will appear in certificate dropdown menu. Select your newly created certificate template if it is not selected.
  • Also select CA certificate from CA dropdown menu.
  • Click on Sign button. Your Sign certificate will be created within few seconds.
  • Click on OK button to close New Certificate window.
  • If newly created server certificate does not show T flag or Trusted property shows no value, double click on your server certificate and click on Trusted checkbox located at the bottom of General tab and then click on Apply and OK button.

Server certificate has been created successfully. Now we will create client certificate.

Creating Client Certificate

The following steps will show how to create client certificate in MikroTik RouterOS.

  • Click on PLUS SIGN (+) again. New Certificate window will appear.
  • Put your client certificate name (for example: client) in Name input field. Also put a certificate common name (for example: client) in Common Name input field.
  • If you have put any optional field for CA certificate, put them here also.
  • Click on Key Usage tab and uncheck all checkboxes except tls client
  • Click on Apply button and then click on Sign button. Sign window will appear now.
  • Your newly created client certificate template will appear in certificate dropdown menu. Select your newly created certificate template if it is not selected.
  • Also select CA certificate from CA dropdown menu.
  • Click on Sign button. Your Sign certificate will be created within few seconds.
  • Click on OK button to close New Certificate window.
  • Client certificate does not require T flag.

Client certificate has been created successfully. Now we will export CA and Client certificates so that OpenVPN client can use this certificate.

Exporting CA and Client Certificates

OpenVPN server will use server certificate from MikroTik RouterOS certificate store. But client certificate has to supply to the OpenVPN client. So, we need to export client certificate as well as CA certificate from RouterOS certificate store. The following steps will show how to export CA certificate and client certificate from MikroTik certificate store.

  • Click twice on your CA certificate and then click on Export button from right button panel. Export window will appear.
  • Choose your CA certificate from Certificate dropdown menu.
  • Click on Export button now. Your CA certificate will be exported and Export window will be closed. Your exported CA certificate will be stored in File List.
  • Again, click on Export button from right button panel and choose your client certificate from Certificate dropdown menu.
  • Put a password in Export Passphrase input field. The password must be at least 8 characters and this password has to provide when OpenVPN client will be connected.
  • Click on Export button now. Your client certificate and key file will be exported in File List.
  • Now click on Files menu from winbox left menu panel. You will find two certificate file (.crt) and one key (.key) are exported here.
  • Drag and Drop these three files in a folder on your Desktop. We will use these files when OpenVPN client will be configured.

Creating SSL certificate for OpenVPN server and client has been completed. Now we will configure our OpenVPN Server in MikroTik Router.

Step 3: OpenVPN Server Configuration in MikroTik Router

After creating SSL certificate, we are now eligible to enable OpenVPN Server in MikroTik Router. The following steps will show how to enable OpenVPN Server in your MikroTik Router with proper configuration.

  • Click on PPP menu item from winbox and then click on Interface tab.
  • Click on OVPN Server button. OVPN Server window will appear.
  • Click on Enabled checkbox.
  • From Certificate dropdown menu, choose server certificate that we created before. Also click on Require Client Certificate checkbox.
  • From Auth. Panel, uncheck all checkboxes except sha1.
  • From Cipher panel, uncheck all checkboxes except aes 256.
  • Now click on Apply and OK button.

OpenVPN Server is now running in MikroTik Router. Now we will create OpenVPN user who will be connected to this server.

Step 4: PPP Secret creation for OpenVPN client

After OpenVPN Server setup, we need to create OpenVPN user who will be connected to OpenVPN Server. OpenVPN Server uses PPP user for authentication. So, we will now create PPP secret (username and password) for OpenVPN client. The following steps will show how to create PPP secret in MikroTik Router.

  • Click on PPP menu item from winbox and then click on Secrets tab.
  • Click on PLUS SIGN (+). New PPP Secret window will appear.
  • Put username (For example: sayeed) in Name input and password in Password input field. This username and password will be required at the time of OpenVPN client configuration.
  • Choose ovpn from Service dropdown menu.
  • Put the gateway IP (10.10.11.1) in Local Address input field and put a LAN IP (10.10.11.10) that will be assigned in client workstation when this user will be connected, in Remote Address input field.
  • Click on Apply and OK button.

PPP user who will be connected from remote client machine has been created. At this point, if the user gets connected from the remote client machine and try to ping any workstation from the remote machine, the ping will time out because the remote client is unable to get ARPs from workstations. The solution is to set up proxy-arp on the LAN interface.

Step 4: Enabling Proxy ARP on LAN Interface

The following steps will show how to enable proxy-arp on the LAN interface.

  • Click on Interfacesmenu item from winbox and then click on interface tab.
  • Click twice on your LAN interface (ether2). Interface property window will appear.
  • Under General tab, choose proxy-arp from ARP dropdown menu.
  • Click Apply and OK button.

After enabling proxy-arp, the remote client can successfully reach all workstations in the local network behind the router.

MikroTik OpenVPN Server is now completely ready to accept OpenVPN client. So, we will now configure OpenVPN client in Windows Operating System.

Part 2: OpenVPN Client configuration in Windows OS

OpenVPN.net provides OpenVPN client software for all the operating systems. You can visit to download page and download your OpenVPN client that is matched with your system requirement. I am using Windows 7, 64-bit operating system. So, I have downloaded Installer (64-bit), Windows Vista and later package. At the time of this article, the OpenVPN client version was 2.3.18.

After downloading, install OpenVPN client in your operating system following the instruction. Installation process is as simple as installing other software in Windows operating system.

After OpenVPN client installation, go to configuration file location (by default: C:\Program Files\OpenVPN\config or C:\Program Files (x86)\OpenVPN\config depending on your operating system) and follow my below steps to configure OpenVPN client.

  • Create a file having (.ovpn) extension (for example: client.ovpn) and copy and paste below property and its value in this file and then save your file.

    #Template client.ovpnclient

    dev tun

    proto tcp-client

    remote 192.168.30.2

    port 1194

    nobind

    persist-key

    persist-tun

    tls-client

    remote-cert-tls server

    ca ca.crt

    cert client.crt

    key client.key

    verb 4

    mute 10

    cipher AES-256-CBC

    auth SHA1

    auth-user-pass secret

    auth-nocache

    Here, change remote IP Address according to your MikroTik WAN IP.

  • Now copy and paste your exported CA and Client certificate files that you saved in your Desktop by dragging and dropping from MikroTik File List, in this location and rename CA file as ca.crt, client certificate file as client.crt and key file as client.key because we have used these names in our configuration file.
  • Create another file named secret (because we have put auth-user-pass file is secret) without any extension and put OpenVPN PPP username at first line and password in second line and then save this file.
  • Now run OpenVPN client software. You will find a new icon in your Taskbar or System tray like below image.OpenVPN client icon
  • Click mouse right button on this icon and then click Connect option. OpenVPN Connection window will appear and it will ask to put your client certificate password that you have entered at the time of client certificate exportation.

If you put correct password and if everything is OK, your OpenVPN client will be connected and an OpenVPN tunnel will be created between OpenVPN client and server.To check your configuration, do a ping request to any remote network workstation or server. If everything is OK, your ping request will be success.

If you face any confusion to follow above steps properly, watch my video about MikroTik OpenVPN Server Configuration with Windows Client carefully. I hope it will reduce your any confusion.

MikroTik OpenVPN Server configuration with Windows Client has been explained in this article. I hope you will be able to configure your OpenVPN Server and Client if you follow the explanation carefully. However, if you face any confusion to follow above steps properly, feel free to discuss in comment or contact with me from Contact page. I will try my best to stay with you.

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

Во-первых: полноценного ethernet туннеля OpenVPN микротик сделать не в состоянии, потому что отсутствует напрочь возможность выдавать IP адреса OVPN клиентам по DHCP, все адреса выдаёт только сам микротик, как его не крути и с чем вокруг него не прыгай;
Во-вторых: не поддерживается сжатие заголовков;
В-третьих: работает только по tcp, в то время как предпочитаемый для OpenVPN — udp.
и если я правильно понимаю, даже на железках с аппаратным ускорением шифрования, опенвпн всё равно будет работать в софтовом режиме, т.е. возможность аппаратного ускорения не задействуется.

Всё это вместе взятое немного раздражает, но с этим, как я считаю, можно смирится, потому что такая реализация имеет ряд плюсов:

  • Безопасность, опенвпн с реализацией авторизации по сертификату очень надёжный канал.
  • В отличии от ipsec у нас практически нет никаких проблем с nat.
  • Возможность настроить клиента для подключения по безопасному каналу практически с любого устройства.
  • Относительная простота настройки, в микротике опенвпн поднимается практически в два щелчка, если сравнивать настройку через конфиг в других железках или ОС.

Итак, настройку я условно разделю на две части, это настройка сервера (на железке) и настройка клиента (windows).

Как настроить клиента для CentOS (Linux) читаем в этой статейке.

Подготовка

Пожалуй подготовительный этап следует начать с генерации сертификатов, поскольку passphrase авторизация считается менее защищённой из-за MITM уязвимости, а мы же не хотим что бы кто-то кроме нас самих мог получить доступ к нашей корпоративной сети. Подробно процесс по созданию сертификатов описан здесь. Добавлю лишь что для самого микротика надо генерировать сертификат сервера, а для клиента сертификат клиента.

После создания сертификатов нам понадобится публичные сертификаты CA и для самого микротика, а так же закрытый ключ микротика, копируем их

открываем WinBox на микротике, переходим в раздел Files и жмём на кнопку Paste

winbox paste

Получается примерно такая картинка

file list

После этого сертификаты необходимо импортировать, для этого идём в раздел System — Certificates и жмём кнопку Import, я первым импортировал публичный сертификат CA

ca

дальше импортируем публичный сертификат микротика

mikrotik-crt

и закрытый ключ для него

mikrotik-key

должна получится примерно такая картинка, обращаем внимание что напротив сертификата микротика должно стоять KT

certificates

следующим шагом создаём пул IP адресов для наших OVPN клиентов IP — Pool, жмём кнопку +, я добавил диапазон 172.21.108.2-172.21.108.14, и назвал пул ovpn

следующим этапом создаём PPP профиль, соответственно заходим в раздел PPP вкладка Profiles добавляем профиль кнопкой +, вводим имя, локальный адрес микротика с которым будут работы нашим клиенты, должен лежать в подсети с созданным ранее пулом адресов и указываем пул, остальное оставляем без изменений

ppp-profiles

Включение

после этого настраиваем сам OpenVPN сервер, делается это в разделе PPP вкладка Interface, кнопка OVPN Server, ставим галку Enabled, mode выставляем ethernet, выбираем созданный ранее профиль, а также ставим галку Require Client Certificate и выбираем сертификат микротика, маску по желанию можно поменять. Снимаем галочку с md5, этот метод хэширования сейчас считается небезопасным.

ovpn-server

Осталось совсем немного, нужно создать пользователя, переходим в раздел PPP — Secrets, вводим имя пользователя, пароль, указываем сервис и профиль.

new ppp secret

Поскольку мы используем сертификаты, надо что бы время на клиенте и на сервере совпадало, поэтому настраиваем sntp клиента, что бы микротик мог синхронизировать время, делается это в разделе System — SNTP Client. Я указал локальный SNTP сервер, вы можете использовать любой публичный сервер в интернете (например ntp3.stratum2.ru и 0.europe.pool.ntp.org) или указать свой внутренний.

system-sntp

Осталось настроить разрешающее правило фаервола, переходим в раздел IP — Firewall вкладка Filter Rules.

firewall-new

Здесь надо указать In. Interface (или In. Interface list) — интерфейс по которому к Вам приходит интернет, остальное как на скриншоте.

winbox firewall rule

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

На этом настройка сервера завершена, переходим к настройке клиента.

Настройка клиента OpenVPN Windows для микротика

Не все версии RouterOS нормально работают с OpenVPN. Например версия RouterOS ниже 6.36 не работает с версиями OpenVPN выше 2.3.10. Поэтому не забывайте периодически обновлять RouterOS.

При получении ошибки:
OpenSSL: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca

Обновите прошивку!
И проверьте что бы в сертификатах на микротике был импортирован ca.crt!

OpenSSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
При возникновении этой ошибки обновляем прошивку. Заново импортируем сертификаты в микротике(не надо их генерировать снова, просто удалить и снова добавить)

Конфиг файл тестировался для OpenVPN 2.5.4, последнего на момент написания статьи и RouterOS 6.47.6

О том где загрузить и как установить OpenVPN клиент описано в статье по созданию сертификатов.

После установки нам необходимо будет переходим в каталог с установленным OpenVPN. Затем добавляем файл client.ovpn в каталог config следующего содержания:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

proto tcpclient

# в этой строчке мы указываем адрес в интернете нашего микротика

remote 123.123.123.123

dev tap

nobind

persistkey

tlsclient

#указываем имена публичного CA сертификата

ca ca.crt

# публичного сертификата клиента

cert client.crt

# и его закрытый ключ

key  client.key

#каждые 10 секунд проверять туннель, если нет ответа 120 секунд, переподключаться

keepalive 10 120

verb 3

cipher AES256CBC

auth SHA1

pull

#проверка сертификата сервера

#https://openvpn.net/index.php/open-source/documentation/howto.html#mitm

remotecerttls server

# эта строка задаёт файл с логином-паролем которые мы прописывали в PPP-Secrets на микротике

authuserpass auth.cfg

# в этой части мы задаём настройки сетей которые находятся за микротиком,

# в моём случае 192.168.1.0 с маской 255.255.255.0 это сеть,

# а 172.21.108.1 это адрес микротика который мы указывали в PPP профиле

routemethod exe

routedelay 2

route 192.168.1.0 255.255.255.0 172.21.108.1

Так же копируем в эту папку публичные сертификаты CA и клиента, и закрытый ключ клиента. Создаём файл auth.cfg вида

где user — имя пользователя, 123 — пароль, которые мы задавали в PPP-Secrets на микротике

На этом настройка клиента завершена, запускаем OpenVPN GUI и он начинает подключение

Внимание! В Win7 с включённым UAC, а также на Win8 и Win8.1 не зависимо от того включён или выключен UAC запускаем OpenVPN GUI только в режиме Запускать от имени администратора! В противном случаем у Вас не добавятся маршруты или и вовсе не произойдёт подключения.

openvpn win client connection

при успешном подключении в трее появится сообщение

Как и прежде свои вопросы и пожелания вы можете оставлять в комментариях ниже.

  • Opera 32 bit windows 7 portable
  • Opera не обновляется на windows 7
  • Openvpn gui скачать для windows 10 64 bit на русском крякнутый
  • Opera запускается сама при запуске windows
  • Openvpn gui настройка клиента windows