Openvpn server windows 10 openvpn client mikrotik

Настройка openvpn client на mikrotik с заменой шлюза

Мне понадобилось использовать роутер mikrotik в качестве клиента openvpn с заменой шлюза по-умолчанию на сервер openvpn. Проще говоря мне нужно было скрыть весь трафик и направить его только через vpn сервер. В openvpn это реализуется очень просто, достаточно на сервере указать для конкретного пользователя параметр redirect-gateway def1. На клиенте под windows это без проблем работает. В микротике пришлось разбираться.

Данная статья является частью единого цикла статьей про Mikrotik.

Введение

Расскажу для чего мне это нужно. Есть оператор Yota с безлимитным интернетом за разумные деньги. У них есть разные тарифы в зависимости от устройства, в котором используется симка. Самый дешевый тариф для смартфона. Я купил обычный USB модем, разлочил его, чтобы он работал в сети Yota. Перепрошил специальной прошивкой, чтобы он стал похож на смартфон. Пишу очень просто, потому что не хочется на этом останавливаться. Это совсем другая тема. В интернете есть много информации на тему обхода блокировок yota. Подробнее об этом я рассказал отдельно в материале Настройка интернета в загородном доме — mikrotik + usb 4g lte модем + антенна MIMO для усиления сигнала + yota.

Мне нужно было замаскировать весь трафик локальной сети, которая будет пользоваться интеренетом через usb модем. Yota различными способами пытается бороться с подобной работой. Делается это через определние TTL пакетов и анализ ресурсов, к которым обращаются пользователи. TTL легко изменяется на конечных устройствах, либо на самом роутере. С анализом ресурсов я долгое время боролся редактируя файл hosts, но после установки windows 10 это перестало помогать. Винда постоянно куда-то лезла и идентифицировала себя при этом как компьютер, а не смартфон.

Я решил кардинально решить проблему и завернуть весь локальный трафик в шифрованный vpn туннель. Для этого настроил openvpn сервер и сделал конфигурацию для учетной записи с заменой шлюза по-умолчанию на openvpn сервер. Дальше нужно было настроить на miktotik openvpn клиент таким образом, чтобы он весь трафик заворачивал в vpn. Когда используешь windows клиент, ничего настраивать не надо. Указываешь на openvpn сервере настройку у клиента:

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

Настройка openvpn клиента на mikrotik

Настраиваем стандартным образом подключение openvpn клиента к серверу с авторизацией по сертификату. Для этого берем сертификат и приватный ключ для openvpn клиента и копируем на микротик через стандартное средство просмотра файлов Files:

Потом идем в System -> Сertificates и имортируем по очереди сначала сертификат, а потом приватный ключ:

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

Читайте также:  Firefox для windows server 2012

Дальше идем настраивать параметры сервера. Открываем разздел PPP, нажимаем на плюс и выбираем OVPN Client:

На вкладке General можно ничего не указывать, использовать все по-умолчанию. На следующей вкладке Dial Out указываем адрес vpn сервера, порт, на котором он принимает входящие соединения и сертификат. Все остальное можно не трогать. В поле User можно писать все, что угодно.

Сохраняете подключение. Теперь клиент на микротике должен автоматически подключиться к openvpn серверу. Если этого не происходит, смотрите в чем проблема в логах на роутере или на сервере. На данном этапе все стандартно, должно заработать без проблем. Инструкций по этому вопросу в интернете море.

Замена шлюза по-умолчанию для маскировки всего трафика

Настройка на сервере для клиента, которая указывает заменять шлюз по-умолчанию, на микротике не работает. Если указать в настройках openvpn сервера галочку на параметре Add Default Route, то тоже ничего работать не будет. Просто не будет пускать в интернет. Хотя для меня это было не понятно. По идее, это как раз то, что нужно. Не могу сейччас привести скриншот маршрутов, коотрые будут прописаны, если установить эту галку. Я пишу статью, подключившись к роутеру удаленно, скрин сделать не могу, потеряю доступ.

Я могу привести только гарантированно работающий вариант. Сейчас расскажу смысл проделанного и приведу список маршрутов, которые добавил.

  1. Первым делом создаем маршрут до openvpn сервера с Distance 1.
  2. Маршуруту по-умолчанию, который обеспечивает доступ в интернет через usb модем, назначаем Distance 2.
  3. Создаем новый маршрут по-умолчанию с 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

Заключение

С такими настройками мне удалось обеспечить интернетом весь загородный дом с помощью симки йоты для смартфона, usb модема, внешней антенны для усиления сигнала и роутера mikrotik. Ссылку на подробный рассказ о моей конфигурации я привел в начале статьи. Без антенны вообще без вариантов было, еле-еле ловил 3g. С антенной стал ловить 4g со скоростью до 5-ти мегабит, если вышка не забита. В час пик скорость все равно не очень, но хоть что-то. Дом далеко от вышек сотовых сетей, без антенны интернет не работает ни у одного оператора.

Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.

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

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

Читайте также:  Тестирование проигрывателя windows media player

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Проблема при установке обновлений для windows 10

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 клиента на компьютере под управлением 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 и подключаемся.

После подключения можем увидеть, что нам назначен 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


Во вкладке 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

Оцените статью