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 (специально созданная программа по созданию ключей и сертификатов,которая использует openssl для выполнения действий с ключами и сертификатами) нам обязательно понадобится для генерации ключей и сертификатов.

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

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» дважды.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сервер настроен, теперь приступим к настройке 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

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

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 и подключаемся.

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

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

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

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

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

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

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

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

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

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

Нажимаем ОК

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

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

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

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

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

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

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

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

Настройка Open VPN между двумя роутерами MikroTik (site to site).

Настройка роутера-сервера.

В роли сервера VPN использован роутер RB3011 с ROSv7.16.1. В роутере оставлена базовая конфигурация, чтоб не настраивать Firewall, NAT DNS, DHCP-server. Для роутера должен быть обеспечен внешний постоянный IP-адрес.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Open VPN начинается с создания сертификатов, потому что активировать сервер без сертификата не позволяет система.

До создания сертификатов нужно обязательно актуализировать дату и время.

/system ntp client set enabled=yes

/system ntp client servers add address=3.by.pool.ntp.org

/system clock set timezonename=Europe/Minsk

Подписываем название роутера.

/system identity set name=OVPNSERVER

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

Создание CA.

CA – это корневой удостоверяющий сертификат с помощью которого подписываются и подтверждается подлинность других сертификатов.

Name – любое понятное название.

Country, State, Locality, Organization, Unit – страна, область, район, организация, подразделение у каждого свои.

Common Name – указано доменное имя. Обычно тут указывается общедоступное имя, но для OpenVPN это не принципиально и по этому тут можно записать любое уникальное имя, например CA.

Key Size: 2048 – размер ключа шифрования, оставлен без изменений. Чем больше размер ключа, тем надежнее шифрование, но при этом возрастает нагрузка на процессор и замедляется скорость обработки данных.

Days Valid: 3650 дней (10лет) – срок действия сертификата.

На вкладке Key Usage указываем назначение использования сертификата.

ctr sign –  возможность подписывать другие сертификаты.

key cert. sign – возможность подписывать ключи.

Вводим параметры и нажимаем кнопку «Apply».

/certificate add name=CA country=BY state=MINSK locality=MINSK organization=PC360 unit=T34 commonname=PC360.RU keysize=2048 daysvalid=3650 keyusage=keycertsign,crlsign

После создания сертификата подписываем его на кнопку «Sign».

В CA CRL Host указан IP-адрес роутера в сети VPN для размещения списка отозванных сертификатов.

/certificate sign CA cacrlhost=172.16.20.1

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

Сертификат подтверждает подлинность сервера. Подключаясь на сервер, клиент проверяет его сертификат.

Common Name – указано доменное имя. В сертификате сервера должны присутствовать IP-адрес или доменное имя, но по факту такая проверка не выполняется.

Days Valid – срок действия сертификата 1825 дней (5лет).

digital signature – проверка цифровых подписей, отличных от подписей на сертификатах.

key encipherment – используется для шифрования при передаче приватных ключей.

tls server – tls аутентификация сервера.

Более подробно назначения использования сертификатов можно посмотреть в RFC5280.

/certificate add name=CRTSERVER country=BY state=MINSK locality=MINSK organization=PC360 unit=T34 commonname=PC360.RU keysize=2048 daysvalid=1825 keyusage=digitalsignature,keyencipherment,tlsserver

Подписываем CA сертификатом.

/certificate sign CRTSERVER ca=CA

Создание сертификат для клиента.

Этот сертификат устанавливается в роутере-клиенте. В OVPN двухсторонняя аутентификация. Сервер проверяет подлинность клиента по его сертификату.

В разных клиентских сертификатах нужно указывать разные Common Name, иначе подписание завершится ошибкой.

Срок действия сертификата 1 год. Если это постоянный клиент, как в данном случае филиал организации, сертификат можно выпустить на 5-10 лет.

tls client – tls аутентификация клиента.

/certificate add name=CRTCLIENT country=BY state=MINSK locality=MINSK organization=PC360 unit=F1 commonname= GWFILIAL1 keysize=2048 daysvalid=365 keyusage=tlsclient

Подписываем.

/certificate sign CRTCLIENT ca=CA

В нашей организации один клиентский сертификат использован на 15 филиалов. Это наверно не самый лучший вариант, но уменьшает лишние действия админа.

Результат выпуска сертификатов.

Создание профиля.

Профиль нужен при работе с большим количеством клиентов, для настройки каких-то общих параметров, например пул IP-адресов, MPLS, таймаут сессии и тп. Если клиентов мало, профиль можно не создавать.

Пул IP-адресов для VPN.

Прежде чем в профиль добавить пул, его нужно создать.

/ip pool add name=OVPNPOOL1 ranges=172.16.20.2172.16.20.99

Профиль.

/ppp profile add localaddress=172.16.20.1 name=OPENVPN remoteaddress=OVPNPOOL1

Другие параметры в профиле изменяются по необходимости.

Создание пользователя.

/ppp secret add name=FILIAL1 profile=OPENVPN remoteaddress=172.16.20.2 service=ovpn

Вместо слова FILIAL в названии удобно указывать место расположения роутер (город, село, район).

В поле Remote Address указан IP-адрес, который должен быть у роутера-клиента всегда постоянным. Эта настройка имеет приоритет над профилем, в котором указан пул IP-адресов. Постоянный IP-адрес клиента может понадобится в случае написания маршрута в сеть за клиентским роутером.

Создание интерфейса.

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

/interface ovpnserver add name=FILIAL1OVPN user=FILIAL1

Активация сервера OVPN.

/interface ovpnserver server

set auth=sha256 certificate=CRTSERVER cipher=aes256cbc defaultprofile=OPENVPN enabled=yes requireclientcertificate=yes tlsversion=only1.2

Port: 1194 – стандартный порт на котором работает OpenVPN. После того, как VPN будет настрое и заработает, стандартный порт желательно заменить на нестандартный. У нас так и сделано. Отпала половина сканер-ботов согласно логам. Можно замаскировать трафик под HTTPS указав порт 443.

Mode: ip – режим туннелирования L3, аналог tun.

(ethernet — режим туннелирования L2, аналог tap) wiki

Protocol: tcp. TCP или UDP каждый решает для себя сам. Можно экспериментально установить, что работает лучше в конкретной ситуации. TCP подтверждает доставку каждого пакета и является более надежным вариантом. Но из-за подтверждения доставки возрастает нагрузка на процессор и канал передачи, могут возникать задержки. Так как по VPN в нашем случае передается небольшой объем данных, нагрузка на оборудование и задержки в передаче не проявляются. При регулярной передаче большого объема данных по VPN или при работе с приложениями чувствительными к задержкам, предпочтительной настройкой будет протокол UDP.

Netmask: 24 – маска подсети, применяемая к клиенту.

MAC Address: мак-адрес интерфейса OVPN. Будет сгенерирован автоматически, если не указан.

Max MTU: 1500 – максимальный размер пакета, который интерфейс OVPN сможет отправить без фрагментации.

Keepalive Timeout: 60сек. Определяет период времени (в секундах), после которого маршрутизатор начинает отправлять пакеты keepalive каждую секунду. Если в течение этого периода времени (т.е. 2 * keepalive-timeout) не поступает трафика и ответов keepalive, не отвечающий клиент объявляется отключенным

Default Profile: Профиль по умолчанию для использования. Выбираем созданный ранее профиль.

Certificate: Сертификат, который будет использоваться сервером. Выбираем созданный ранее сертификат.

Require Client Certificate – Проверка сертификата клиента. Активация этой настройки требуется обязательно.

TLS Version: only v1.2 – использование TLS v1.2. Наиболее безопасный вариант.

Auth.: sha256 – метод аутентификации, который примет сервер.

SHA256 – Secure Hash Algorithm – безопасный алгоритм хеширования с размером 256 бит.

Cipher: aes 256 cbc – разрешенный стандарт шифрования.

AES: Advanced Encryption Standard – симметричный алгоритм блочного шифрования с длинной ключа 256 бит. CBC: Cipher Block Chaining mode — режим сцепления блоков шифротекста.

Выбрать шифрование не так просто, как кажется. Это поиск компромисса между надежностью шифра и производительностью.

Key Renegotiate Sec: 3600. Пересогласование ключа с клиентом каждые 60мин. Стандартный для OpenVPN cпособ защиты от некоторых видов атак.

Redirect Gateway: Эта настройка указывает, какие маршруты клиент OpenVPN должен добавить в таблицу маршрутизации.

(def1 заменяет 0.0.0.0/0 на 0.0.0.0/1 и 128.0.0.0/1, ipv6 для ipv6)

Push Routes – передача маршрута клиенту.

Например, нам нужно передать клиенту маршрут во внутреннюю сеть организации. Это выглядит так.

[Сеть назначения] [Маска] [Шлюз] [Метрика]

/interface ovpnserver server set pushroutes=«192.168.88.0 255.255.255.0 172.16.20.1»

В таблице маршрутизации клиента появляется динамический маршрут.

Enabled Tun IPv6, Tun Server IPv6, Server IPv6 Prefix Length – настройки для IPv6 не используются в данном случае.

Правило Firewall Filter.

Правило разрешает входящее в роутер соединение на порт 1194. Это нужно для подключения клиентов.

Можно на вкладку Action не заходить в данном случае. Разрешающее действие используется по умолчанию.

К правилу желательно добавить комментарий.

/ip firewall filter add action=accept chain=input comment=«accept Open VPN» dstport=1194 ininterfacelist=WAN protocol=tcp

Расположение правила.

Маршрут в сеть клиента VPN.

/ip route

add disabled=no distance=1 dstaddress=192.168.90.0/24 gateway=172.16.20.2 routingtable=main scope=30 suppresshwoffload=no targetscope=10

В маршруте можно указывать интерфейс подключения клиента вместо IP-адреса. Это применимо когда IP-адрес раздается автоматически из пула и может измениться.

Экспорт сертификата.

Переносим сертификат на роутер клиента.

/certificate exportcertificate CRTCLIENT type=pkcs12 exportpassphrase=531Pass filename=CRTCLIENT1

Перетягиваем сертификат к себе на компьютер.

Доступ в Интернет.

Настраиваем доступ в Интернет любым возможным способом (DHCP-client, static-IP, PPPoE). Необходимо чтоб присвоился внешний IP-адрес на который будут подключатся все клиенты.

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

Клиентом в данном случае является филиал организации. Для него не нужен постоянный внешний IP-адрес. В разных филиалах использованы разные роутеры, в большинстве это hEX (RB750GR3) с ROSv7.16.1 на данный момент. Интернет-соединение выполняется через adsl-модем в режиме моста (Bridge-mode).

Подключаемся в роутер через WinBox. Переименовываем, если это организация нового филиала.

В названии удобно использовать место расположения филиала.

Синхронизируем время.

/system ntp client set enabled=yes

/system ntp client servers add address=3.by.pool.ntp.org

Импорт сертификата.

Перетягиваем сертификат в папку с файлами на роутере.

Импортируем.

/certificate import filename=CRTCLIENT1.p12 passphrase=Pass135 name= CRTCLIENT1 trusted=yes

Создание интерфейса.

Название любое понятное.

На вкладке Dial Out вводим параметры для подключения к серверу.

/interface ovpnclient

add auth=sha256 certificate=CRTCLIENT1 cipher=aes256cbc connectto=85.51.148.195 macaddress=02:7F:6C:D7:D1:46 name=OVPNTOMAINOFFICE password=Pass135 tlsversion=only1.2 user=FILIAL1 verifyservercertificate=yes

Connect To – внешний IP-адрес роутера-сервера. У каждого свой.

Port: 1194 – порт, который настроен на сервере для Open VPN.

Mode: ip – режим туннелирования L3, такой же как на сервере.

Protocol: tcp – протокол такой же как на сервере.

User – имя пользователя, используемое для аутентификации.

Password – пароль пользователя.

Profile – профиль не настраивался, по этому используется default.

Certificate – выбираем импортированный сертификат.

Verify Server Certificate: активируем. Проверка сертификата сервера. В сертификате должно присутствовать такое же значение как в поле Connect To интерфейса клиента (IP-адрес или доменное имя). Но по факту, подключение и верификация происходят даже если в сертификате IP или доменное имя не соответствуют полю Connect To.

TLS Version: only v1.2 – указание версии TLS.

Auth.: sha256 — разрешенный метод аутентификации. Такой же как на сервере.

Cipher: aes 256 cbc – используемое шифрование. Такое же как на сервере.

Use Peer DNS – возможность добавить DNS сервер от сервера Open VPN.

Add Default Route: создание маршрута по умолчанию 0.0.0.0\0 с IP-адресом VPN сервера в роли шлюза.

Весь Интернет-трафик пойдет через главный роутер организации. Такая настройка используется, если согласно политикам ИБ в организации должен быть единый шлюз (и для филиалов в том числе). Логично, что в данном случае возрастает нагрузка на канал передачи данных.

Dont Add Pushed Routes (routenopull) – запрет на добавление маршрутов от сервера.

Далее нужно выполнить настройку подключения к Интернету если это еще не было сделано ранее. Это может быть DHCP-client, PPPoE, или статический IP, маска, шлюз, переданные провайдером. У каждого свой способ подключения.

После активации Интернет-соединения, роутер-клиент подключится  к роутеру-серверу. Об этом сообщает флаг R на интерфейсе.

В роутере-сервере подключение происходит на созданный статический интерфейс.

В таблице Active Connections появится новое подключение. В его свойствах можно посмотреть IP-адрес клиента и тип шифрования.

Если соединение не произошло, то нужно открывать лог и смотреть причину.

Маршрут в сеть за VPN.

Маршрут во внутреннюю сеть главного офиса из сети клиента.

/ip route

add disabled=no dstaddress=192.168.88.0/24 gateway=172.16.20.1 routingtable=main suppresshwoffload=no

Альтернативный вариант этой настройки можно выполнить на сервере в поле Push Routes.

Выполняем трассировку из ПК главного офиса в ПК филиала.

Выполняем трассировку из филиала в главный офис.

Трафик проходит через VPN. Что и требовалось. Если трафик проходит через внешние IP-адреса, то нужно искать ошибку настройки. Где-то неверно расставлены IP-адреса.

При выполнении трассировки на обоих компьютерах был отключен антивирус. С включенным антивирусом пинг и трассировка не работают без дополнительных разрешающих правил в антивирусах компьютеров.

Более подробное описание Open VPN для RouterOS можно посмотреть в mikrotik.help.

Open VPN для ПК с ОС Windows.

В данном примере рассмотрено подключение компьютера с ОС Windows к сети организации через OpenVPN клиент.

Настройка в роутере-сервере.

Каждому клиенту создаем сертификат.

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

/certificate add name=Bunsha_I_V country=BY state=MINSK locality=MINSK organization=PC360 unit=T34 commonname=Bunsha_I_V keysize=2048 daysvalid=365 keyusage=tlsclient

Подписываем.

/certificate sign Bunsha_I_V ca=CA

Каждому клиенту создаем учетные данные.

/ppp secret add name=Bunsha_I_V profile=OPENVPN service=ovpn

Статический IP-адрес или интерфейс можно не назначать.

Экспортируем сертификат в формате PKCS12 и переносим на ПК клиента.

/certificate exportcertificate Bunsha_I_V type=pkcs12 exportpassphrase=531Pass filename=Bunsha_I_V

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

Скачиваем клиент для Windows с официального сайта.

Чтоб не возникало лишних проблем на первоначальном этапе, используется версия 2.4.12. После того, как VPN запустится, можно подумать об обновлении клиента.

Далее, далее, готово. Пути установки не изменялись.

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

Переходим в папку с установленной программой.

Файл базовой конфигурации находится в папке sample-config. Копируем его в папку config, переименовываем и редактируем.

Так же в папку config добавляем сертификат и файлы с учетными данными.

Содержание файла config.

client – указание на клиентское подключение.

dev tun – виртуальный сетевой драйвер работающий на уровне L3.

proto tcp – протокол для передачи данных.

remote 85.51.148.195 1194 – адрес и порт VPN-сервера.

persistkey – сохранение состояния ключей при перезапуске.

persisttun – сохранение сетевого состояния при перезапуске.

pkcs12 Bunsha_I_V.p12 – сертификат клиента.

authuserpass credentials.cfg – данные для аутентификации клиента, которые созданы в меню Secrets на сервере.

askpass export-passphrase.cfg – файл с паролем, который вводился при экспорте сертификата из сервера.

remotecerttls server – верификация сертификата сервера.

route 192.168.88.0 255.255.255.0 172.16.20.1 – маршрут во внутреннюю сеть главного офиса.

auth SHA256 – способ аутентификации, такой же как на сервере.

cipher AES-256-CBC – метод шифрования, такой же как указан на сервере.

verb 3 – детализация файла лога уровня 3 (возможно 0-9).

Содержание файла credentials.cfg – логин и пароль пользователя OpenVPN. Файл создается в текстовом редакторе, затем у него меняется расширение.

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

Содержание файла export-passphrase.cfg. Пароль, который вводился при экспорте сертификата из сервера.

Сохраняем отредактированную конфигурацию. Подключаемся к серверу VPN.

Появится окно с ходом выполнения конфигурации, которое потом пропадает при успешном соединении с сервером.

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

За работу OpenVPN отвечают следующие службы.

Для применения конфигурации может понадобиться их перезапуск.

После подключения компьютеру раздастся IP-адреса из пула. У пользователя есть доступ во внутреннюю сеть организации.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

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

Сертификат CA

/certificate add name=template-CA country="" state="" locality="" organization="" unit="" common-name="CA" key-size=4096 days-valid=3650 key-usage=crl-sign,key-cert-sign

/certificate sign template-CA ca-crl-host=127.0.0.1 name="CA"

Сертификат сервера

/certificate add name=template-SRV country="" state="" locality="" organization="" unit="" common-name="srv-OVPN" key-size=4096 days-valid=3650 key-usage=digital-signature,key-encipherment,tls-server

/certificate sign template-SRV ca="CA" name="srv-OVPN"

Шаблон для создания сертификатов клиентов

/certificate add name=template-CL country="" state="" locality="" organization="" unit="" common-name="client-ovpn-template" key-size=4096 days-valid=3650 key-usage=tls-client

Режим TUN (рабочая протестированная конфигурация!)

Открываем порт 1194/tcp (или другой выставленный в настройках ovpn сервера) на INPUT внешнего интерфейса на микротике

Задаём пул адресов для OVPN-клиентов (можно задать непосредственно в PPP-profile):

/ip pool add name=OVPN_srv_pool ranges=172.23.100.160/27

Создаём PPP-profile для OVPN-сервера

/ppp profile add name=OVPN_server local-address=172.23.100.1 remote-address=OVPN_srv_pool

Настраиваем режим аутентификации пользователей

/ppp aaa set accounting=yes

Добавляем пользователя

/ppp secret add name=ovpn-user-1 password=P@ssword1 service=ovpn profile=OVPN_server

Вариант 1. Не использовать сертификаты клиентов

Включаем OVPN-сервер

/interface ovpn-server server set certificate=srv-OVPN cipher=blowfish128,aes128,aes192,aes256 enabled=yes port=1101 require-client-certificate=no

Экспорт сертификата CA:

/certificate export-certificate CA export-passphrase=""

Получается файл export_CA.crt на микроте

Извлекаем полученный файл сертификата export_CA.crt из микротика любым удобным способом

Вариант 2. Использовать сертификаты клиентов

Экспорт сертификата CA:

/certificate export-certificate CA export-passphrase=""

Сертификат первого клиента

/certificate add name=template-CL-to-issue copy-from="template-CL" common-name="client-ovpn-1"

/certificate sign template-CL-to-issue ca="CA" name="client-ovpn-1"

В будущем, для отзыва сертификатов используем команду:

/certificate issued-revoke %cert-name%

Экспорт сертификата и ключа клиента

/certificate export-certificate client-ovpn-1 export-passphrase=<private-key-password1>

Будет создано 2 файла: cert_export_client-ovpn-1.crt, cert_export_client-ovpn-1.key

Копируем их на машину клиента

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

Клиент OpenVPN Windows

OpenVPN установочный

Скачиваем OpenVPN 2.4.6

С другими версиями может быть проблема с неподписанными драйверами TAP

https://openvpn.net/community-downloads/

Устанавливаем тыкая галку Установить как сервис

Создаем и копируем client.ovpn, auth.txt в C:\Program Files\OpenVPN\config\

client.ovpn

client
dev tun
proto tcp
remote domain123.ru 1101
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
;comp-lzo
verb 3
;mute 20
;route 192.168.111.0 255.255.255.0
remote-cert-tls server
auth-user-pass auth.txt
auth-retry nointeract
cipher AES-256-CBC
# default gw over ovpn server
;redirect-gateway autolocal
<ca>
       <СЮДА КОПИРУЕМ СОДЕРЖИМОЕ export_CA.crt, ЭКСПОРТИРОВАННОГО ИЗ MIKROTIK-OVPN-SERVER>
</ca>

auth.txt

user01
Pa$$Word

В настройках программы добавляем запуск OpenVPN вместе с Windows

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

OpenVPN портативный

Вариант 1. Не использовать сертификаты клиентов

Используем приложение OpenVPNPortable в комплекте с мануалом

в OpenVPNPortable\data\config\client.ovpn изменяем содержимое <ca> … </ca> на содержимое файла export_CA.crt

в auth.txt записываем лог/пас клиента

Вариант 1.Использовать сертификаты клиентов

в OpenVPNPortable\data\config\client.ovpn:

— изменяем содержимое <ca> … </ca> на содержимое файла export_CA.crt

— изменяем содержимое <cert> … </cert> на содержимое файла cert_export_client-ovpn-1.crt

— изменяем содержимое <key> … </key> на содержимое файла cert_export_client-ovpn-1.key

— в auth.txt записываем лог/пас клиента

— при подключении необходимо будет ввести пароль, который задали при экспорте сертификата и ключа на микротике

   ПРИМЕЧАНИЕ:

   — для первого запуска клиента необходимо запустить программу от имени Администратора (это необходимо для установки драйвера интерфейса туннеля)

   — для применения параметров маршрутизации, прописанных в конфиге (в том числе и дефолтного шлюза через openvpn сервер), сам сервис OVPN, или же OVPN GUI должны быть запущены от имени Администратора

   — если пользователь входит в группу Администраторы, то при запуске от имени Администратора пароль Администратора не требуется

   — если пользователь НЕ входит в группу Администраторы, то при запуске от имени Администратора требуется пароль Администратора

Клиент OpenVPN Linux (Centos 7)

yum install openvpn

nano /etc/openvpn/client/lip-ati-10-254.auth

user01
PassW0rd

nano /etc/openvpn/client/lip-ati-10-254.conf

client
dev tun
proto tcp
remote 793108e281c9.sn.mynetname.net 1101
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
;comp-lzo
verb 3
;mute 20
;route 192.168.10.0 255.255.255.0
remote-cert-tls server
auth-nocache
auth-user-pass /etc/openvpn/client/lip-ati-10-254.auth
auth-retry nointeract
cipher AES-256-CBC
# default gw over ovpn server
#redirect-gateway autolocal
<ca>
   <СЮДА КОПИРУЕМ СОДЕРЖИМОЕ export_CA.crt, ЭКСПОРТИРОВАННОГО ИЗ MIKROTIK-OVPN-SERVER>
</ca>

systemctl enable openvpn-client@lip-ati-10-254

systemctl start openvpn-client@lip-ati-10-254

Клиент OpenVPN Android

— через Play Market устанавливаем «OpenVPN Connect»

— создаем и копируем client.ovpn на Android

client.ovpn

client
dev tun
proto tcp
remote domain123.ru 1101
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
;comp-lzo
verb 3
;mute 20
;route 192.168.111.0 255.255.255.0
remote-cert-tls server
auth-user-pass
auth-retry nointeract
cipher AES-256-CBC
# default gw over ovpn server
;redirect-gateway autolocal
<ca>
   <СЮДА КОПИРУЕМ СОДЕРЖИМОЕ export_CA.crt, ЭКСПОРТИРОВАННОГО ИЗ MIKROTIK-OVPN-SERVER>
</ca>

— открываем «OpenVPN Connect»

— импортируем файл client.ovpn

— вводим лог/пас пользователя

— подключаемся

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как установить one drive на windows 10
  • Что делать если dns сервер недоступен windows 10
  • Хороший калькулятор для windows
  • Windows server rx 580
  • Как установить днс сервер windows 10