Настройка openvpn сервера и клиента на mikrotik
Содержание:
- Конфигурирование устройств
- OVPN Server
- Настройка OpenVPN сервера на Mikrotik
- Что такое VPN и где применяется
- Чем отличается PPTP от L2TP и других VPN серверов
- Как настроить PPTP VPN сервер в MikroTik
- Настройка интернета для VPN клиентов PPTP в MikroTik
- Создание VPN подключения PPTP Windows
- OVPN Client
- Настройка SSTP клиента на Микротик
- Несколько конфигурационных файлов
- Настройка клиента OpenVPN
- Проблемы при настройке и работе IpSec в MikroTik
- Настройка VPN клиента на Mikrotik
- Чем отличается PPTP от L2TP и других VPN серверов
- Настройка VPN IKEv2 туннеля для MikroTik сервера
- Настройка OpenVPN-клиента
- Замена шлюза по-умолчанию для маскировки всего трафика
Конфигурирование устройств
Покажу все на примере одного роутера, так как настройки у них идентичны. Начинаем с настройки IPSec Peer. Вообще для поднятия туннеля достаточно добавить address, auth-method and secret но все по порядку. Идем в раздел IP-> IPSec вкладка Peers, добавляем новый элемент через плюс. Далее на первой вкладке изменим следующие параметры:
- Address – 192.168.13.27 (белый ip удаленного роутера)
- Auth. Method – метод авторизации, выбираем «pre shared key»
- Secret – пароль который должен быт одинаковый на обоих микротиках.
Здесь мы все закончили, сохраняем и переходим к добавлению политики шифрования. Данная настройка делается на вкладке Policies, добавляем новую и в разделе General пишем следующие:
- Src. Address – 10.1.202.0/24 (адрес локальной сети в Москве)
- Dst. Address – 10.1.101.0/24 (адрес локальной сети в Питере)
Здесь же на вкладке Action выбираем протокол шифрования и указываем SA для каждого микторика. Обязательно поставьте галочку Tunnel.
Сохраняем все и идем проверять установился ли IPSec туннель между городами. Посмотреть это можно в разделе Installed SAs. Если у вас примерно также как у меня, значить трафик шифруется и VPN работаем.
OVPN Server
Sub-menu:
This sub-menu shows interfaces for each connected OVPN clients.
An interface is created for each tunnel established to the given server. There are two types of interfaces in OVPN server’s configuration
- Static interfaces are added administratively if there is a need to reference the particular interface name (in firewall rules or elsewhere) created for the particular user.
- Dynamic interfaces are added to this list automatically whenever a user is connected and its username does not match any existing static entry (or in case the entry is active already, as there can not be two separate tunnel interfaces referenced by the same name).
Dynamic interfaces appear when a user connects and disappear once the user disconnects, so it is impossible to reference the tunnel created for that use in router configuration (for example, in firewall), so if you need a persistent rule for that user, create a static entry for him/her. Otherwise it is safe to use dynamic configuration.
Note: in both cases PPP users must be configured properly — static entries do not replace PPP configuration.
Server configuration
Sub-menu:
Properties:
Property | Description |
---|---|
auth (sha1 | md5; Default: sha1,md5) | Authentication methods that server will accept. |
certificate (name | none; Default: none) | Name of the certificate that OVPN server will use. |
cipher (aes128 | aes192 | aes256 | blowfish128; Default: aes128,blowfish128) | Allowed ciphers. |
default-profile (name; Default: default) | Default profile to use. |
enabled (yes | no; Default: no) | Defines whether OVPN server is enabled or not. |
keepalive-timeout (integer | disabled; Default: 60) | Defines the time period (in seconds) after which the router is starting to send keepalive packets every second. If no traffic and no keepalive responses has came for that period of time (i.e. 2 * keepalive-timeout), not responding client is proclaimed disconnected |
mac-address (MAC; Default: ) | Auto Generated MAC address of the server. |
max-mtu (integer; Default: 1500) | Maximum Transmission Unit. Max packet size that OVPN interface will be able to send without packet fragmentation. |
mode (ip | ethernet; Default: ip) | Layer3 or layer2 tunnel mode (alternatively tun, tap) |
netmask (integer; Default: 24) | Subnet mask to be applied to client. |
port (integer; Default: 1194) | Port to run server on. |
require-client-certificate (yes | no; Default: no) | If set to yes, then server checks whether client’s certificate belongs to the same certificate chain. |
/interface ovpn-server server set enabled=yes /interface ovpn-server server set certificate=server /interface ovpn-server server print enabled: yes port: 1194 mode: ip netmask: 24 mac-address: FE:A5:57:72:9D:EC max-mtu: 1500 keepalive-timeout: 60 default-profile: default certificate: server require-client-certificate: no auth: sha1,md5 cipher: blowfish128,aes128
Warning:
It is very important that the date on the router is within the range of the installed certificate’s date of expiration. To overcome any certificate verification problems, enable NTP date synchronization on both server and client.
Настройка OpenVPN сервера на Mikrotik
Подключимся к Mikrotik с помощью программы Winbox.
Загрузим 3 файла: ca.crt, server.crt, server.key
Для этого в меню нажмём Files и перетащим их из папки C:\Program files\OpenVPN\easy-rsa\keys
13) Далее необходимо их импортировать.
Откроем System – Certificates — Import и поочерёдно выберем сертификаты в этом порядке:ca.crtserver.crtserver.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
Остальные настройки оставляем по умолчанию.
Нажимаем ОК.
16) Создадим непосредственно сам OpenVPN серверPPP — Interface — OVPN Server
Включаем Enable
Указываем порт 1194
Выбираем наш профиль openvpn
Поставим галочку Require Client Certificate
Выберем наш сертификат server.crt
17) Создадим пользователя для подключения.PPP — Secrets — add (+)
Введём имя пользователя и пароль ovpn_user1
Выбираем Сервис ovpn и профиль openvpn
Создадим 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 сервер популярное средство для удаленного подключения одного ПК(или 100 ПК) к центральному узлу, а также для объединения офисов. Реализация такого сервиса есть масса, но на MikroTik работает быстро и без инцидентов по недоступности.
Для удаленного доступа сотрудников
Доступ к рабочему пространству с любого места, где есть интернет. Почта, сетевые папки, принтер, 1с – все это становится доступным.
Доступ к облачному серверу
Закрытый канал для доступа к корпоративному или частному серверу, расположенному в облаке.
Мы поможем настроить: маршрутизатор(роутер), точку доступа или коммутатор.
Заказать
Чем отличается PPTP от L2TP и других VPN серверов
PPTP – самый распространенный протокол VPN. Представляет собой связку протокола TCP, который используется для передачи данных, и GRE – для инкапсуляции пакетов. Чаще всего применяется для удаленного доступа пользователей к корпоративной сети. В принципе, может использоваться для многих задач VPN, однако следует учитывать его изъяны в безопасности – отсутствие шифрования. Данные передаваемые в туннеле PPTP могут быть подвержены зеркалированию в другой интернет канал, что подвергает опасности коммерческой информации.
В качестве рабочих решений по организации удаленного доступа могут выступать любые VPN сервера с поддержкой шифрования: L2TP, IpSec.
Как настроить PPTP VPN сервер в MikroTik
Для VPN клиентов создаётся отдельная подсеть, это добавит больше возможностей в ограничении доступа между VPN клиентами и локальной сетью, а также в самой маршрутизации. Другими словами эта реализация обеспечивает сетевую безопасность на уровне Firewall-а.
Настройка находится IP->Pool
/ip pool add name=LAN-Ip-Pool ranges=192.168.10.100-192.168.10.150
Настройка находится PPP->Profile
Предварительно нужно задать сетевые параметры для VPN клиентов
/ppp profile add dns-server=192.168.10.1 local-address=\ 192.168.10.1 name=VPN-Server remote-address=VPN-Ip-Pool
Настройка находится PPP->Interface->PPTP Server
/interface pptp-server server set authentication=mschap2 default-profile=VPN-Server enabled=yes
Этой учётной записью будет пользоваться VPN клиент для удаленного подключения к VPN серверу.
Настройка находится PPP->Interface->Secrets
/ppp secret add name=user1 password=user1 service=pptp profile=VPN-Server
Настройка находится IP->Firewall
/ip firewall filter add action=accept chain=input comment="Port Access" dst-port=1723 \ in-interface-list=WAN-Interface-List protocol=tcp
Настройка интернета для VPN клиентов PPTP в MikroTik
Этот вопрос будет вынесен за рамки данной статьи, т.к. относится с дополнительным сервисам для VPN клиентов. Таких сервисов может быть множество и все они имеют индивидуальных характер(для тех кто ищет: нужно настроить и разрешить DNS запросы и Masquerade).
В этой настройке будут участвовать два роутера MikroTik, один в качества сервера, другой в качестве клиента
На этапе создание такого подключения стоит обратить внимание на модель MikroTik, т.к. от неё зависит количество VPN подключений, а также возможность обрабатывать такие потоки данных
Для консультации по этому вопросу обращайтесь в Настройка-Микротик.укр через контактную форму.
Для объединения двух офисов и работы маршрутизации данную настройку лучше разбить на два блока:
- Настройка клиент-серверной части;
- Добавление статических маршрутов для прохождения трафика.
Серверная часть была описана ваше, но требует корректировки в виде статических адресов для VPN клиента
Настройка находится PPP->Interface->Secrets
/ppp secret add local-address=192.168.10.1 name=user2 password=user2 profile=VPN-Server \ remote-address=192.168.10.2
а клиентская часть состоит из настройки PPTP клиента.
Настройка находится PPP->Interface->+PPTP Client
/interface pptp-client add connect-to=90.200.100.99 disabled=no name=\ pptp-out1 password=user2 user=user2
Это правило укажет роутеру MikroTik куда направлять трафик.
Настройка находится IP->Routes
/ip route add distance=1 dst-address=192.168.88.0/24 gateway=192.168.10.2
где
- 192.168.88.0/24 – сеть за 2-ым MikroTik-ом, который выступает в роли ppptp клиента;
- 192.168.10.2 – IP адрес 2-ого MikroTik-а.
Настройка находится IP->Routes
/ip route add distance=1 dst-address=192.168.0.0/24 gateway=192.168.10.1
где
- 192.168.5.0/24 – сеть 1-ого MikroTik-ом, который выступает в роли ppptp сервера;
- 192.168.10.1 – IP адрес 1-ого MikroTik-а.
Создание VPN подключения PPTP Windows
ОС семейства Windows имеют штатный VPN клиент, который отлично подходит под эту роль. Для его настройки нужно перейти
Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом
OVPN Client
Sub-menu:
Properties
Property | Description |
---|---|
add-default-route (yes | no; Default: no) | Whether to add OVPN remote address as a default route. |
auth (md5 | sha1; Default: sha1) | Allowed authentication methods. |
certificate (string | none; Default: none) | Name of the client certificate imported into certificate list. |
cipher (aes128 | aes192 | aes256 | blowfish128; Default: blowfish128) | Allowed ciphers. |
comment (string; Default: ) | Descriptive name of an item |
connect-to (IP; Default: ) | Remote address of the OVPN server. |
disabled (yes | no; Default: yes) | Whether interface is disabled or not. By default it is disabled. |
mac-address (MAC; Default: ) | Mac address of OVPN interface. Will be auto generated if not specified. |
max-mtu (integer; Default: 1500) | Maximum Transmission Unit. Max packet size that OVPN interface will be able to send without packet fragmentation. |
mode (ip | ethernet; Default: ip) | Layer3 or layer2 tunnel mode (alternatively tun, tap) |
name (string; Default: ) | Descriptive name of the interface. |
password (string; Default: «») | Password used for authentication. |
port (integer; Default: 1194) | Port to connect to. |
profile (name; Default: default) | Used . |
user (string; Default: ) | User name used for authentication. |
Quick example
This example demonstrates how to set up OVPN client with username «test», password «123» and server 10.1.101.1
/interface ovpn-client> add connect-to=10.1.101.1 user=test password=123 disabled=no /interface ovpn-client> print Flags: X - disabled, R - running 0 name="ovpn-out1" mac-address=FE:7B:9C:F9:59:D0 max-mtu=1500 connect-to=10.1.101.1 port=1194 mode=ip user="test" password="123" profile=default certificate=none auth=sha1 cipher=blowfish128 add-default-route=no
Настройка SSTP клиента на Микротик
Для дальнейшей конфигурации нам нужен сертификат центра сертификации добавить в доверенные компьютера. Иначе начнется песня со списком отзывов и в этом роде. Конечно, таких проблем не будет, используя коммерческий. Но его нужно сначала выгрузить. Открываем System – Certificates, выбираем CA и жмем Export.
В Files должен появится экспорт. Передаем его любым удобным способом на клиентскую машину.
Далее вы можете вручную его добавить в доверенные ПК, но я предпочитаю это делать скриптом. Сохраняем в формате .bat
Создаем на рабочем столе папу CA, копируем туда CA.crt и запускаем из-под администратора батник.
Проверяем что все хорошо.
Далее переходим в Центра управления сетями и общим доступом – Создание и настройка нового подключения или сети.
Подключение к рабочему месту.
Использовать мое подключение к Интернету.
Указываем адрес и имя будущего интерфейса.
Переходим в Изменение параметров адаптера» и открываем свойства VPN интерфейса. На вкладке «Тип VPN» переключить с автоматически на SSTP, Проверку подлинности переключить на Microsoft CHAP версии 2.
Сохраняем и пытаемся подключиться.
На момент написания статьи у меня вышла такая ошибка.
Это было связанно со временем. Т.к. в виртуальных машинах оно идет по-другому. Открыв свойства сертификата, заметил, что срок, с которого действителен еще не наступило. Исправив время на правильное, все заработало. Вывод, не используйте само подписанные. Проверим подключение на клиенте и сервере.
На этом пожалуй все, в этой статье мы показали как можно легко создать SSTP сервер на роутере Микротик и подключить к нему клиента Windows 10
Спасибо за внимание и до новых встреч
Несколько конфигурационных файлов
Позволит держать несколько конфигураций для подключения к различным VPN-серверам. Между последними можно переключаться из клиентской программы.
Для Windows:
В каталоге config создаем для каждого сервера свою папку и помещаем в нее рабочие файлы (файл конфигурации, сертификаты и так далее). В каждой папке называем конфигурационные файлы ovpn своими именами (даже если файлы будут находиться в разных папках, но с одинаковыми именами, клиент OpenVPN будет воспринимать их как один конфиг).
Пример каталога config:
Пример файлов в одном из каталогов:
Теперь при подключении клиентом к можно выбрать конкретный VPN-сервер:
Для Linux:
Также как для Windows, создаем для каждого сервера свой каталог, куда скопируем рабочие файлы. Для запуска, переходим в нужный каталог, например:
cd /etc/openvpn/server1
И запускаем OpenVPN:
openvpn —config /etc/openvpn/server1/client.conf
Настройка клиента OpenVPN
Если мы не используем клиентские сертификаты (в настройках сервера не отмечали галочкой пункт require-client-certificate), то настроить клиент OpenVPN будет быстрее и проще. Нам не нужно будет копировать сертификаты для клиента, только создать в меню PPP — Interfaces новую запись OVPN Client и и на вкладке Dial Out прописать:
- адрес OpenVPN сервера (поле Connect To),
- логин и пароль пользователя (поля User и Password),
- порт соединения,
- тип аутентификации и шифрования (поля Auth и Cipher).
Настройка второго роутера Микротик как клиента OpenVPN .
Так же, как и при настройке сервера, копируем из папки C:Program FilesOpenVPNeasy-rsakeys и вставляем в раздел Files файлы сертификатов и ключей OpenVPN. Только теперь это будут:
После этого поочередно импортируем их, используя меню 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 FilesOpenVPNeasy-rsakeys в каталог C:Program FilesOpenVPNconfig.
Создаем здесь же обычный текстовый файл, который сохраняем как auth.cfg (обратите внимание, меняем и расширение тоже). Открываем файл auth.cfg для редактирования в блокноте и вписываем в него 2 строки: первую -логин пользователя, вторую — пароль, которые мы задали на сервере
Сохраняем файл
Открываем файл auth.cfg для редактирования в блокноте и вписываем в него 2 строки: первую -логин пользователя, вторую — пароль, которые мы задали на сервере. Сохраняем файл.
Создаем еще один текстовый файл, который сохраняем как client.ovpn (включая смену расширения).
Файл client.ovpn редактируем следующим образом:
Настройка OpenVPN клиента на роутере Mikrotik
1) Необходимо добавить сертификаты (клиентские сертификат и ключ (client.crt, client.key и по желанию корневой (ca.crt)) на роутер:
Процесс создания сертификатов был рассмотрен в статье о настройке OpenVPN сервера на Mikrotik
Внимание. Не передавайте никому закрытый ключ сертификата – “ca.key”, имея его можно создавать сертификаты подписанные данным ключом
2) Заходим на Mikrotik посредством утилиты winbox, переходим в раздел Files и копируем туда наши сертификаты: client.crt, client.key и ca.crt(опционально)
3) После этого произведём импорт сертификатов, идём в раздел System – Certificates, выбираем поочередно сертификаты из списка (client.crt->client.key(-> ca.crt)) и жмём кнопку Import
4) Получится следующая картина:
5) Само соединение OpenVPN настраивается в меню PPP->Нажимаем кнопку “+” -> в выпадающем списке выбираем OVPN Client
6) На вкладке Dial Out указываем адрес сервера, логин/пароль, порт, клиентский сертификат и тип шифрования
7) После этого открываем терминал и проверяем, поднялось ли соединение:
Проблемы при настройке и работе IpSec в MikroTik
Ниже будут рассмотрены самые частые проблемы, которые не относятся к прямой настройке VPN туннеля типа IpSec, но косвенно могут повлиять на его работу: соединение может
- Не устанавливаться;
- Устанавливаться но не работать;
- Роутер MikroTik не имеет статического маршрута для out пакетов. Другими словами, со стороны MikroTik нет PING-а на удалённую подсеть.
Если соединение не принимает статус ESTABLISHED, кроме корректности настроек следует обратить внимание на Firewall
/ip firewall filter add action=accept chain=input comment="Port Access" dst-port=500,1701,4500 \ in-interface=WAN-ether1 protocol=udp
Следующей проблемой может быть нелегитимные ключи IpSec SA, срок действия которых закончился, но новый ключ не был сгенерирован и согласован
Тут стоит обратить внимание на время жизни туннеля, на обоих роутерах, IpSec Profile и IpSec Proposals должны быть идентичными. Для исправления это ситуации нужно:
после регенерации ключей он должен быть в статусе ESTABLISHED.
И последнее дополнение в сторону диагностики работы IpSec туннеля через роутер MikroTik.
/ip route add distance=1 dst-address=192.168.0.0 gateway=Bridge-LAN
Настройка 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
Во вкладке General указываем имяName — openVPN1 (любое, на ваше усмотрение)
Вкладка Dial Out:Connect To — Адрес сервера(Внешний IP адрес главного роутера Mikrotik) Port 1194
Указываем пользователя и пароль, который мы создали на VPN сервере
В нашем случае это пользователь ovpn_mikrotik1
Сертификат Client.crt
Нажимаем ОК
25) В терминале набираем /interface ovpn-client monitor openVPN1
Должно появиться сообщение со статусом connected
Теперь к этому mikrotik можно подключиться через VPN по адресу, который он получил от VPN сервера
Посмотреть адрес можно:
В Mikrotik-клиенте в IP-Adresses строка с нашим интерфейсом openVPN1
В Mikrotik-сервере PPP-Active Connections
Чем отличается PPTP от L2TP и других VPN серверов
PPTP – самый распространенный протокол VPN. Представляет собой связку протокола TCP, который используется для передачи данных, и GRE – для инкапсуляции пакетов. Чаще всего применяется для удаленного доступа пользователей к корпоративной сети. В принципе, может использоваться для многих задач VPN, однако следует учитывать его изъяны в безопасности – отсутствие шифрования. Данные передаваемые в туннеле PPTP могут быть подвержены зеркалированию в другой интернет канал, что подвергает опасности коммерческой информации.
Поддержи автора статьи, сделай CLICK по рекламе ↓↓↓
В качестве рабочих решений по организации удаленного доступа могут выступать любые VPN сервера с поддержкой шифрования: L2TP, IpSec.
Настройка VPN IKEv2 туннеля для MikroTik сервера
Настройка части IpSec отличается от типичной конфигурации с открытым ключом только разделом Identities, который будет осуществлять обязательную проверку сертификата со стороны VPN клиента. Этот функционал не только обладает свойствами защиты соединения и трафика, но может служить в качестве инструмента по управлению разрешениями для доступа.
Настройка находится в IP→IPsec→Profile
Настройка находится в IP→IPsec→Peers
Поддержи автора статьи, сделай CLICK по рекламе ↓↓↓
Настройка находится в IP→IPsec→Identities
Настройка находится в IP→IPsec→Proposals
Настройка находится в IP→IPsec→Policies
Поддержи автора статьи, сделай CLICK по рекламе ↓↓↓
/ip ipsec profile add dh-group=modp1024 enc-algorithm=3des hash-algorithm=md5 lifetime=8h name=\ Profile-Ipsec /ip ipsec peer add address=b9070aee7432.sn.mynetname.net name=b9070aee7432.sn.mynetname.net \ profile=Profile-Ipsec /ip ipsec proposal add auth-algorithms=md5 enc-algorithms=3des lifetime=8h name=Proposal-Ipsec /ip ipsec identity add auth-method=digital-signature certificate=92490a0ea575.sn.mynetname.net \ match-by=certificate peer=b9070aee7432.sn.mynetname.net \ remote-certificate=b9070aee7432.sn.mynetname.net /ip ipsec policy add dst-address=192.168.1.0/24 peer=b9070aee7432.sn.mynetname.net proposal=\ Proposal-Ipsec sa-dst-address=82.144.213.152 sa-src-address=0.0.0.0 \ src-address=192.168.0.0/24 tunnel=yes
Настройка OpenVPN-клиента
Для настройки клиента необходимо на сервере сгенерировать сертификаты, а на клиентском компьютере установить программу openvpn и настроить ее.
Создание сертификатов
На сервере генерируем сертификаты для клиента. Для этого снова переходим в каталог easy-rsa:
cd /usr/share/easy-rsa/3
Запускаем еще раз vars:
. ./vars
Создаем клиентский сертификат:
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
Мы должны увидеть запрос на подтверждение намерения выпустить сертификат — вводим yes:
Confirm request details: yes
* в данном примере будет создан сертификат для client1.
На сервере скопируем ключи во временную директорию, выполнив последовательно 3 команды:
mkdir /tmp/keys
cp pki/issued/client1.crt pki/private/client1.key pki/dh.pem pki/ca.crt pki/ta.key /tmp/keys
chmod -R a+r /tmp/keys
* сертификаты скопированы в каталог /tmp для удобства переноса их на клиентский компьютер.
Сертификаты готовы для скачивания.
На клиенте
В качестве примере, выполним подключение к нашему серверу с компьютера Windows. Более подробно процесс настройки клиента описан в инструкции Настройка OpenVPN клиента.
Пошагово, выполняем следующие действия:
1. Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:
Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».
2. Переходим в папку C:\Program Files\OpenVPN\config.
Копируем в нее файлы ca.crt, client1.crt, client1.key, dh.pem, ta.key из каталога /tmp/keys на сервере, например, при помощи программы WinSCP.
После переноса файлов, не забываем удалить ключи из временного каталога на сервере:
rm -R /tmp/keys
3. Возвращаемся к компьютеру с Windows, открываем блокнот от имени администратора и вставляем следующие строки:
client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo no
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0
* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы.
Сохраняем файл с именем config.ovpn в папке C:\Program Files\OpenVPN\config.
4. Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора.
Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:
Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.
5. Для автозапуска клиента, открываем службы Windows, находим и настраиваем службу OpenVPNService для автозапуска:
Замена шлюза по-умолчанию для маскировки всего трафика
Настройка на сервере для клиента, которая указывает заменять шлюз по-умолчанию, на микротике не работает. Если указать в настройках openvpn сервера галочку на параметре Add Default Route, то тоже ничего работать не будет. Просто не будет пускать в интернет. Хотя для меня это было не понятно. По идее, это как раз то, что нужно. Не могу сейччас привести скриншот маршрутов, коотрые будут прописаны, если установить эту галку. Я пишу статью, подключившись к роутеру удаленно, скрин сделать не могу, потеряю доступ.
Я могу привести только гарантированно работающий вариант. Сейчас расскажу смысл проделанного и приведу список маршрутов, которые добавил.
- Первым делом создаем маршрут до openvpn сервера с Distance 1.
- Маршуруту по-умолчанию, который обеспечивает доступ в интернет через usb модем, назначаем Distance 2.
- Создаем новый маршрут по-умолчанию с Distance 1, где в качестве шлюза указано openvpn подключение.
После этого вы будете иметь доступ в интернет через usb модем напрямую, если openvpn client будет отключен. После подключения vpn клиента к серверу, стандартный маршрут становится неактивным, а по-умолчанию становится новый маршрут со шлюзом в качестве vpn соединения. Весь ваш трафик будет замаскирован vpn соединением и пойдет через openvpn сервер.
0.0.0.0/0 | 192.168.8.1 | Стандартный маршрут по-умолчанию, когда не подключен openvpn |
0.0.0.0/0 | ovpn-out1 | Маршрут по-умолчанию через vpn сервер |
10.8.0.0/24 | 10.8.0.21 | Автоматически создаваемый маршрут для подссети vpn тоннелей |
10.8.0.21 | ovpn-out1 | То же самое, автоматически создаваемый маршрут |
94.142.141.246 | 192.168.8.1 | Маршрут к openvpn server через usb модем |
192.168.7.0/24 | bridge1 | Маршурт для локальной сети, создается автоматически |
192.168.8.0/24 | lte1 | Маршрут до usb модема, создается автоматически |
- 192.168.8.1 — адрес usb модема, 192.168.8.100 — адрес микротика на lte интерфейсе, к которому подключен модем
- 192.168.7.1 — адрес микротика в локальной сети
- 10.8.0.21 — адрес vpn тоннеля для данного клиента, адрес самого клиента при этом 10.8.0.22
- 94.142.141.246 — openvpn server
Когда будете настраивать, не забудте включить NAT на openvpn интерфейсе, так же как у вас он настроен на основном.