Установка сертификатов OpenVPN и настройка сервера на MikroTik
Из созданных нами сертификатов и ключей нас интересуют 3 файла:
Импортируем сертификаты OpenVPN в ОС MikroTik .
- имя профиля,
- Local Address — адрес роутера Микротик, к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address
- Remote Address- здесь пишем либо один IP-адрес клиента, либо имя ранее созданного пула адресов.
Остальные настройки не трогаем.
Настраиваем сервер OpenVPN на роутере MikroTik.
Идем в меню PPP- Interface — OVPN Server.
- Активируем его, поставив галочку в пункте Enabled.
- В поле mode оставляем IP (IP-туннелирование по умолчанию) или выставляем ethernet (режим сетевого моста), это L3 и L2 соответственно. Чаще всего используется IP.
- Default Profile — выбираем профиль, который мы создали ранее.
- Certificate — сертификат сервера.
- require-client-certificate — если ставим галку, то сервер при подключении проверяет сертификат клиента. Если нет — то не проверяет, и настройка клиента при этом упрощается.
Создаем и настраиваем пользователя.
Идем: PPP — Secrets и добавляем пользователя. Тут все просто: имя, пароль, сервис и профиль.
Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером. Вначале убеждаемся, что у нас выставлена правильная тайм-зона (меню System — Clock). Далее идем в меню System — SNTP Client и прописываем адрес NTP сервера (на скриншоте указан локальный, но можно взять любой, к примеру 85.21.78.91).
Настраиваем разрешающее правило фаерволла .
Идем IP — Firewall — Filter Rules и разрешаем трафик на порт OpenVPN:
- В поле Chain ставим input.
- Protocol — 6(tcp).
- Dst. Port — 1194.
- In. Interface — прописываем название интерфейса, на который идет входящий трафик.
Активируем правило на вкладке Action:
Напомним, что разрешающее правило в списке правил должно быть выше запрещающих, иначе оно не будет работать.
Настройка 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
Настройка 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 на Mikrotik
После создания сертификатов, можно переходить к настройке самого микротика.
1. Создаем пул IP-адресов
Пул адресов нужен для выдачи клиентам сетевых адресов. Для его настройки переходим в IP — Pool:
Переходим к добавлению нового пула:
Введем настройки для нашего пула:
* где Name просто указывает название для идентификации пула (openvpn); Addresses — стартовый и конечный адреса, которые будет назначаться клиентам при подключении к VPN. В данном примере мы указываем последовательность от 176.16.10.10-176.16.10.250.
2. Создание профиля
В профиле мы задаем настройки IP-адреса интерфейса для VPN и ранее созданный пул.
Переходим в PPP — открываем вкладку Profiles — создаем новый профиль — указываем название для профиля, IP-адрес сервера VPN и пул, из которого будут выдаваться IP-адреса клиентам — OK:
* как видим, мы указали название профиля profile-openvpn, выбрали наш пул openvpn и назначили адрес 176.16.10.1 для сервера.
3. Создание пользователя
Для каждого, кто будет подключаться к VPN необходимо создать свою учетную запись. В том же PPP переходим на вкладку Secrets — создаем нового пользователя — задаем ему имя, пароль, указываем сервис ovpn и выбираем профиль, из которого пользователю будет назначен адрес при подключении — нажимаем OK:
* мы создадим учетную запись client1 для сервиса ovpn и профиля, созданного нами ранее.
4. Включаем и настраиваем сервер OpenVPN
Для включение сервиса OpenVPN в том же PPP переходим на вкладку Interface — кликаем по кнопке OVPN Server — включаем сервис (Enabled) и задаем настройки — кликаем по OK:
* в данном примере примененные настройки пометились синим цветом. Мы указали профиль для PPP (profile-openvpn), выбрали сертификат сервера (server), включили требование клиентского сертификата (Require Client Certificate) и расширили число алгоритмов для шифрования.
5. Настройка брандмауэра
Мы активировали наш сервер OVPN на порту 1194 и нам нужно открыть данный порт на фаерволе. Переходим в раздел IP — Firewall:
На вкладке Filter Rules создаем новое правило:
* мы должны выбрать для Chain — Input, указать протокол (tcp) и задать порт, на котором слушает сервер OpenVPN (1194).
По умолчанию для создаваемых правил, действие задано на разрешение, поэтому просто сохраняем правило, нажав OK. После создания правила перетягиваем его мышкой наверх (выше запрещающих правил).
OpenVPN сервер готов к работе.
Замена шлюза по-умолчанию для маскировки всего трафика
Настройка на сервере для клиента, которая указывает заменять шлюз по-умолчанию, на микротике не работает. Если указать в настройках 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 интерфейсе, так же как у вас он настроен на основном.
Что такое VPN и где применяется
VPN сервер популярное средство для удаленного подключения одного ПК(или 100 ПК) к центральному узлу, а также для объединения офисов. Реализация такого сервиса есть масса, но на MikroTik работает быстро и без инцидентов по недоступности.
Для удаленного доступа сотрудников
Доступ к рабочему пространству с любого места, где есть интернет. Почта, сетевые папки, принтер, 1с – все это становится доступным.
Доступ к облачному серверу
Закрытый канал для доступа к корпоративному или частному серверу, расположенному в облаке.
Мы поможем настроить: маршрутизатор(роутер), точку доступа или коммутатор.
Заказать
Настройка клиента 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.4.4, последнего на момент написания статьи.
После установки нам необходимо будет переходим в каталог с установленным OpenVPN. Затем добавляем файл client.ovpn в каталог config следующего содержания:
proto tcp-client
# в этой строчке мы указываем адрес в интернете нашего микротика
remote 123.123.123.123
dev tap
nobind
persist-key
tls-client
#указываем имена публичного CA сертификата
ca ca.crt
# публичного сертификата клиента
cert client.crt
# и его закрытый ключ
key client.key
#каждые 10 секунд проверять туннель, если нет ответа 120 секунд, переподключаться
keepalive 10 120
verb 3
cipher AES-256-CBC
auth SHA1
pull
#проверка сертификата сервера
#https://openvpn.net/index.php/open-source/documentation/howto.html#mitm
remote-cert-tls server
# эта строка задаёт файл с логином-паролем которые мы прописывали в PPP-Secrets на микротике
auth-user-pass auth.cfg
# в этой части мы задаём настройки сетей которые находятся за микротиком,
# в моём случае 192.168.1.0 с маской 255.255.255.0 это сеть,
# а 172.21.108.1 это адрес микротика который мы указывали в PPP профиле
route-method exe
route-delay 2
route 192.168.1.0 255.255.255.0 172.21.108.1
1 |
proto tcp-client # в этой строчке мы указываем адрес в интернете нашего микротика remote123.123.123.123 dev tap persist-key tls-client #указываем имена публичного CA сертификата ca ca.crt # публичного сертификата клиента cert client.crt # и его закрытый ключ key client.key #каждые 10 секунд проверять туннель, если нет ответа 120 секунд, переподключаться keepalive10120 verb3 cipher AES-256-CBC auth SHA1 pull remote-cert-tls server # эта строка задаёт файл с логином-паролем которые мы прописывали в PPP-Secrets на микротике auth-user-pass auth.cfg # в этой части мы задаём настройки сетей которые находятся за микротиком, route-method exe route-delay2 route192.168.1.0255.255.255.0172.21.108.1 |
Так же копируем в эту папку публичные сертификаты CA и клиента, и закрытый ключ клиента. Создаём файл auth.cfg вида
user
123
1 |
user 123 |
где user — имя пользователя, 123 — пароль, которые мы задавали в PPP-Secrets на микротике
На этом настройка клиента завершена, запускаем OpenVPN GUI и он начинает подключение
×
Внимание! В Win7 с включённым UAC, а также на Win8 и Win8.1 не зависимо от того включён или выключен UAC запускаем OpenVPN GUI только в режиме Запускать от имени администратора! В противном случаем у Вас не добавятся маршруты или и вовсе не произойдёт подключения.
при успешном подключении в трее появится сообщение
Настройка клиента 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 редактируем следующим образом:
Бывают случаи, когда необходимо настроить удалённый доступ на mikrotik или даже на несколько. Особенно это актуально, если вы обслуживаете несколько объектов и нет возможности физически постоянно присутствовать возле оборудования. В этом статье мы разберём, как настроить OpenVPN сервер на mikrotik, а также клиенты на mikrotik и компьютере под управлением Windows.
Для работы нам понадобится Белый IP адрес (он и будет адресом сервера в наших настройках) для доступа к серверу из интернета и сертификаты безопасности.
Краткий план данной статьи:
Настройка openvpn клиента на mikrotik
Настраиваем стандартным образом подключение openvpn клиента к серверу с авторизацией по сертификату. Для этого берем сертификат и приватный ключ для openvpn клиента и копируем на микротик через стандартное средство просмотра файлов Files:
Потом идем в System -> Сertificates и имортируем по очереди сначала сертификат, а потом приватный ключ:
Обращаю внимание на символы KT слева от названий сертификатов. Они обязательно должны быть у вас
Если сертификат и приватный ключ не соответствуют друг другу, то одного символа не будет. В моем примере уже есть 2 сертификата только потому, что я экспериментировал с двумя. Вам достаточно будет одного.
Дальше идем настраивать параметры сервера. Открываем разздел PPP, нажимаем на плюс и выбираем OVPN Client:
На вкладке General можно ничего не указывать, использовать все по-умолчанию. На следующей вкладке Dial Out указываем адрес vpn сервера, порт, на котором он принимает входящие соединения и сертификат. Все остальное можно не трогать. В поле User можно писать все, что угодно.
Сохраняете подключение. Теперь клиент на микротике должен автоматически подключиться к openvpn серверу. Если этого не происходит, смотрите в чем проблема в логах на роутере или на сервере. На данном этапе все стандартно, должно заработать без проблем. Инструкций по этому вопросу в интернете море.
Замена шлюза по-умолчанию для маскировки всего трафика
Настройка на сервере для клиента, которая указывает заменять шлюз по-умолчанию, на микротике не работает. Если указать в настройках 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
Сравнение скорости L2tp, Pptp, EoIP, GRE и OpenVPN туннелей
Сведу все данные измерений в единую таблицу для наглядного и удобного анализа и сравнения скоростей всех упомянутых vpn соединений в Mikrotik.
VPN Туннель | Шифрование | Скорость (Мбит/c) |
l2tp | нет | 194 |
l2tp | IPsec AES-128 CBC | 26 |
pptp | нет | 194 |
pptp | MPPE128 | 71 |
openvpn | BF-128-CBC | 24 |
eoip | нет | 836 |
eoip | IPsec AES-128 CBC | 27 |
gre | нет | 247 |
gre | IPsec AES-128 CBC | 29,7 |
Приведенная таблица наглядно показывает разницу в различных методах шифрования. С помощью нее можно быстро оценить, к каким потерям производительности может привести шифрование. Сейчас все по-умолчанию все шифруют, но если разобраться, очень часто это не требуется. Можно пойти на некий компромис и использовать pptp сервер, который хоть и не обеспечивает 100% безопасное шифрование, но тем не менее скрывает трафик от просто любопытных глаз и имеет неплохое быстродействие. В любом случае трафик просто так не прочитать, надо целенаправленно приложить усилия для дешифровки. В некоторых случаях такой защиты будет достаточно.
Настройка VPN клиента на компьютере под управлением Windows
19) Копируем в папку C:Program filesOpenVPNconfig
из C:Program filesOpenVPNeasy-rsakeys следующие файлы ca.crt, client.crt, client.key.
из C:Program filesOpenVPNsimple-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 из диапазона, который ранее указали на сервере.
Установка сертификатов OpenVPN и настройка сервера на MikroTik
Из созданных нами сертификатов и ключей нас интересуют 3 файла:
Импортируем сертификаты OpenVPN в ОС MikroTik .
- имя профиля,
- Local Address — адрес роутера Микротик, к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address
- Remote Address- здесь пишем либо один IP-адрес клиента, либо имя ранее созданного пула адресов.
Остальные настройки не трогаем.
Настраиваем сервер OpenVPN на роутере MikroTik.
Идем в меню PPP- Interface — OVPN Server.
- Активируем его, поставив галочку в пункте Enabled.
- В поле mode оставляем IP (IP-туннелирование по умолчанию) или выставляем ethernet (режим сетевого моста), это L3 и L2 соответственно. Чаще всего используется IP.
- Default Profile — выбираем профиль, который мы создали ранее.
- Certificate — сертификат сервера.
- require-client-certificate — если ставим галку, то сервер при подключении проверяет сертификат клиента. Если нет — то не проверяет, и настройка клиента при этом упрощается.
Создаем и настраиваем пользователя.
Идем: PPP — Secrets и добавляем пользователя. Тут все просто: имя, пароль, сервис и профиль.
Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером. Вначале убеждаемся, что у нас выставлена правильная тайм-зона (меню System — Clock). Далее идем в меню System — SNTP Client и прописываем адрес NTP сервера (на скриншоте указан локальный, но можно взять любой, к примеру 85.21.78.91).
Настраиваем разрешающее правило фаерволла .
Идем IP — Firewall — Filter Rules и разрешаем трафик на порт OpenVPN:
- В поле Chain ставим input.
- Protocol — 6(tcp).
- Dst. Port — 1194.
- In. Interface — прописываем название интерфейса, на который идет входящий трафик.
Активируем правило на вкладке Action:
Напомним, что разрешающее правило в списке правил должно быть выше запрещающих, иначе оно не будет работать.
Проверка
Проверка состоит из двух частей:
- Надо убедиться, что между двумя маршрутизаторами MikroTik установлено VPN-соединение. Это описано ниже.
- Если VPN-соединение установлено успешно, то далее надо проверить есть ли связь между хостами в двух сетях. Для этого достаточно запустить ping с любого компьютера в сети на любой компьютер другой сети.
Через графический интерфейс
Если подключение установлено, то статус подключения должен отображаться с буквой «R«. Что значит running, т. е. запущено.
Через консоль
Выполнить команду — на сервере — на клиенте
Если соединение установлено успешно, то статус подключения, так же, как и через графический интерфейс, должен отображаться с буквой «R«.
Типичные проблемы
Если VPN-соединение между двумя маршрутизаторами MikroTik не устанавливается, то надо проверить:
- Не мешает ли файервол. Для уверенности лучше временно отключить все правила файерволов на обоих маршрутизаторах. Стандартные настройки файерволов можно посмотреть здесь.
- Совпадают ли имя пользователя и пароль на обоих маршрутизаторах.
- На VPN-клиенте указан правильный адрес VPN-сервера к которому должно происходить подключение.
Если не проходит ping между двумя компьютерами в разных сетях, то надо проверить:
- Правильно ли сделаны настройки маршрутизации на обоих маршрутизаторах не зависимо от того из какой сети в какую будет идти пинг.
- На брэндмауэре компьютера, который будет пинговаться, сделаны необходимые разрешения для протокола ICMP. Для уверенности можно отключить встроенный брэндмауэр и выгрузить антивирус.
Установка сертификатов OpenVPN и настройка сервера на MikroTik
Из созданных нами сертификатов и ключей нас интересуют 3 файла:
Импортируем сертификаты OpenVPN в ОС MikroTik .
- имя профиля,
- Local Address — адрес роутера Микротик, к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address
- Remote Address- здесь пишем либо один IP-адрес клиента, либо имя ранее созданного пула адресов.
Остальные настройки не трогаем.
Настраиваем сервер OpenVPN на роутере MikroTik.
Идем в меню PPP- Interface — OVPN Server.
- Активируем его, поставив галочку в пункте Enabled.
- В поле mode оставляем IP (IP-туннелирование по умолчанию) или выставляем ethernet (режим сетевого моста), это L3 и L2 соответственно. Чаще всего используется IP.
- Default Profile — выбираем профиль, который мы создали ранее.
- Certificate — сертификат сервера.
- require-client-certificate — если ставим галку, то сервер при подключении проверяет сертификат клиента. Если нет — то не проверяет, и настройка клиента при этом упрощается.
Создаем и настраиваем пользователя.
Идем: PPP — Secrets и добавляем пользователя. Тут все просто: имя, пароль, сервис и профиль.
Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером. Вначале убеждаемся, что у нас выставлена правильная тайм-зона (меню System — Clock). Далее идем в меню System — SNTP Client и прописываем адрес NTP сервера (на скриншоте указан локальный, но можно взять любой, к примеру 85.21.78.91).
Настраиваем разрешающее правило фаерволла .
Идем IP — Firewall — Filter Rules и разрешаем трафик на порт OpenVPN:
- В поле Chain ставим input.
- Protocol — 6(tcp).
- Dst. Port — 1194.
- In. Interface — прописываем название интерфейса, на который идет входящий трафик.
Активируем правило на вкладке Action:
Напомним, что разрешающее правило в списке правил должно быть выше запрещающих, иначе оно не будет работать.
Настройка 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 клиентов.
Заключение
С такими настройками мне удалось обеспечить интернетом весь загородный дом с помощью симки йоты для смартфона, usb модема, внешней антенны для усиления сигнала и роутера mikrotik. Ссылку на подробный рассказ о моей конфигурации я привел в начале статьи. Без антенны вообще без вариантов было, еле-еле ловил 3g. С антенной стал ловить 4g со скоростью до 5-ти мегабит, если вышка не забита. В час пик скорость все равно не очень, но хоть что-то. Дом далеко от вышек сотовых сетей, без антенны интернет не работает ни у одного оператора.
Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.