Mikrotik openvpn client to linux server

Mikrotik openvpn client to linux server

Обнаружена блокировка рекламы: Наш сайт существует благодаря показу онлайн-рекламы нашим посетителям. Пожалуйста, подумайте о поддержке нас, отключив блокировщик рекламы на нашем веб-сайте.

ovpn-client mikrotik и Сервер на Ubuntu

Господа , всем привет. Вообщем решил я развернуть ovpn клиента на микроте. Суть такая: есть у меня сервер на убунте , который генерит мне клиентские «профиля» путем баш скрипта ( openvpn-install.sh ). Он весьма популярный. выглядит примерно так:

Welcome to OpenVPN-install!
The git repository is available at: https://github.com/angristan/openvpn-install
It looks like OpenVPN is already installed.
What do you want to do?
1) Add a new user
2) Revoke existing user
3) Remove OpenVPN
4) Exit
Select an option 4:

При его помощи он сам создает пользака , и предоставляет мне уже готовый профиль подключения для программы open-vpn. С программой на винде все окей Внутри этого профиля конечно есть сертификаты. Внутри сам профиль OVPN выглядит так. (Сертификаты сократил чтоб текста было меньше )

client
proto tcp-client
remote 777.777.777.777 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_2OonN4xkoO2bpScg name
auth SHA256
auth-nocache
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3

——BEGIN CERTIFICATE——
MIIBwDCCAWegAwIBAgIJAM4GaSVX0lQpMAoGCCqGSM49BAMCMB4xHDAaBgNVBAMM
ld8V9sMYVxt9WcIxcbXZRrqrCNM=
——END CERTIFICATE——


——BEGIN CERTIFICATE——
MIIBzzCCAXWgAwIBAgIRAMwnhnWutnNVUMZy63qIHCkwCgYIKoZIzj0EAwIwHjEc
qwIgPnr2m2Rd+N/3ZRdNWjFyJdiSc7L6dqo0V9jSeN03rDg=
——END CERTIFICATE——


——BEGIN PRIVATE KEY——
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg7e0Lv6vL8q6xCjuV
bSx+Dy9G8I/kWF/GI7aDE6ic9+ihRANCAAQiAuJwxsBlSDaTalxP2wNsx6qwTaii
bvJvga8ckJY2uY8xGCcFqGqZizXxwH4xrHr04y0HHL93L4fLXmTDlO4d
——END PRIVATE KEY——


#
# 2048 bit OpenVPN static key
#
——BEGIN OpenVPN Static key V1——
a16131c230f0a9336f779f23a8ec7539
291fb61db13081f08256bfb522af9be8
——END OpenVPN Static key V1——

Отсюда и вопрос: могу ли используя эти сертификаты прикрутить их к микроту? Увы мануалов мало на эту тему , поэтому прошу помощи у вас.
Заранее спасибо

Источник

Настройка OpenVPN на Ubuntu Server для подключения клиентом Mikrotik

Обновлено

Обновлено: 08.03.2023 Опубликовано: 27.06.2022

В данной инструкции мы рассмотрим настройку сервера OpenVPN на Ubuntu и конфигурирование Mikrotik для подключения по VPN.

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

Мы настроим наш сервер, чтобы он слушал на нестандартном порту OpenVPN — 443. Откроем порт в брандмауэре:

* если мы будем использовать другой порт, меняем его на соответствующий. Также необходимо обратить внимание на протокол tcp. Необходимо использовать именно его, так как Mikrotik не поддерживаем UDP для подключения к OpenVPN. Для сохранения правил используем утилиту iptables-persistent:

Читайте также:  Linux посмотреть загрузку канала

* где openvpn — сам сервер и клиента OpenVPN; easy-rsa — утилита для создания сертификатов. Создаем каталог, в котором разместим готовые сертификаты для OpenVPN:

export KEY_COUNTRY=»RU»
export KEY_PROVINCE=»Sankt-Petersburg»
export KEY_CITY=»Sankt-Petersburg»
export KEY_ORG=»DMOSK COMPANY»
export KEY_EMAIL=»master@dmosk.ru»
export KEY_CN=»DMOSK»
export KEY_OU=»DMOSK»
export KEY_NAME=»name-openvpn-server.dmosk.ru»
export KEY_ALTNAMES=»name-openvpn-server»

* данные значения могут быть любыми, но лучше их задать осмысленно. Для удобства. Рассмотрим процесс формирования сертификата с использованием RSA3 пошагово. 1. Инициализируем PKI:

* nopass можно упустить, если хотим повысить безопасность с помощью пароля на сертификат. На запрос «Common Name» можно просто нажать Enter:

port 443
proto tcp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh.pem
server 172.16.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
max-clients 32
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 4
mute 20
daemon
mode server
cipher BF-CBC

  • port — сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть любым из свободных. Порт 1194 является стандартным для OpenVPN).
  • proto — используемый транспортный протокол.
  • dev — виртуальный сетевой адаптер, который будет создан для работы OpenVPN.
  • ca — путь до сертификата корневого центра сертификации.
  • cert — путь до открытого сертификата сервера.
  • key — путь до закрытого сертификата сервера.
  • dh — путь до ключа Диффи — Хеллмана.
  • server — задаем IP-адрес сервера в сети VPN.
  • ifconfig-pool-persist — путь к файлу для хранения клиентских IP-адресов.
  • keepalive X Y — каждые X секунд отправляется ping-запрос на удаленный узел. Если за Y секунд не получено ответа — перезапускать туннель.
  • max-clients — максимум одновременных подключений.
  • persist-key — не перезагружать ключи при повторной загрузки из-за разрыва соединения.
  • persist-tun — не изменять устройства tun/tap при перезапуске сервера.
  • status — путь до журнала статусов.
  • log-append — путь до файла лога с дополнительным выводом информации.
  • verb — уровень логирования событий. От 0 до 9.
  • mute — ограничение количества подряд отправляемых в лог событий.
  • daemon — работа в режиме демона.
  • mode — в каком режиме работает openvpn (сервер или клиент).
  • cipher — тип шифрования. В нашем примере это blowfish 128.

Создадим каталог для логов:

Разрешаем автоматический старт сервиса vpn и перезапускаем его:

systemctl enable openvpn@server

systemctl restart openvpn@server

Настройка OpenVPN-клиента (Mikrotik)

Сертификат должен быть сформирован на сервер, после чего перенесен на микротик. Рассмотрим процесс подробнее.

На сервере

Создадим каталог, куда поместим сертификаты для обмена:

* сертификаты будут скопированы в каталог /tmp для удобства их переноса на компьютер.

Переходим в каталог easy-rsa:

Читайте также:  Check link speed linux

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

./easyrsa build-client-full client1 nopass

* в данном примере будет создан сертификат для узла client1 (название может быть любым).

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

Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:

Скопируем ключи во временную директорию:

cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt /tmp/keys/

* название client1 зависит от имени сертификата, который мы ему дали при создании.

Разрешим доступ на чтение каталога с ключами всем пользователям:

Переносим данный каталог с ключами на компьютер, с которого мы будем настраивать Mikrotik. Это можно сделать с помощью различных утилит, например WinSCP.

Подключаемся к роутеру Mikrotik. Это можно сделать с помощью веб-браузера или специальной программы Winbox. Мы рассмотрим вариант с использованием последней.

Заходим в настройки роутера — переходим в раздел Files — кликаем по Upload и выбираем наши 3 сертификата:

Переходим к загрузке файлов в Mikrotik

Кликаем по OK. Нужные нам файлы окажутся на роутере.

Переходим в SystemCertificates:

Переходим к сертификатам в микротике

Кликаем по Import:

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

* импорт делаем именно в такой последовательности.

Теперь переходим в раздел PPP — создаем новое соединение OVPN Client:

Открываем панель добавления соединения по OpenVPN

На вкладке Dial Out настраиваем наше соединение:

Пример настройки клиента OpenVPN

  • Connect To — адрес сервера OpenVPN, к которому должен подключиться Mikrotik.
  • Port — порт, на котором слушает OpenVPN.
  • User — учетная запись для авторизации. Мы не настраивали проверку пользователя, но без указания данного поля Mikrotik не даст сохранить настройку.
  • Certificate — выбираем сертификат, который импортировали на Mikrotik.
  • Auth — алгоритм криптографического хеширования, который должен использоваться для подключения.
  • Chiper — криптографический алгоритм шифрования.
  • Add Default Route — если поставить данную галочку, все запросы в другую подсети (Интернет) должны пойти через VPN соединение.

Нажимаем OK — наш роутер должен подключиться к серверу.

Настройка доступа к сети Интернет через сервер VPN

Для того, чтобы наш сервер VPN мог раздавать Интернет подключившимся к нему устройствам, выполняем несколько действий.

sysctl -p /etc/sysctl.d/gateway.conf

Добавляем фаервольные правила. Как правило, управление брандмауэром netfilter в Linux на базе Debian выполняется с помощью утилиты iptables.

Настройка выполняется из расчета, что сеть Интернет настроена через интерфейс ens3:

iptables -t nat -I POSTROUTING -o ens3 -j MASQUERADE

iptables -I FORWARD -i tun0 -o ens3 -m state —state RELATED,ESTABLISHED -j ACCEPT

iptables -I FORWARD -i tun0 -o ens3 -j ACCEPT

Предполагается, что tun0 используется для VPN сети (данное имя присваивается серверу OpenVPN по умолчанию), а ens3 — внешней. Посмотреть имена интерфейсов можно командой:

Сохраняем настройки iptables:

Читайте также:  Linux change user folder

apt-get install iptables-persistent

Настройка анонимности

В сети есть различные порталы для проверки анонимности. Например, сайты whoer или 2ip. Приведем некоторые настройки для получения 100%-го результата.

1. Отключение icmp. По времени ответа на ping можно определить отдаленность клиента от прокси. Чтобы проверку нельзя было выполнить, отключаем на сервере icmp.

sysctl -p /etc/sysctl.d/icmp.conf

2. Настройка MTU.

Для решения проблем с VPN fingerprint, на стороне сервера добавляем 2 опции:

systemctl restart openvpn@server

Проброс портов (Port Forwarding)

Необходим для перенаправление сетевых запросов на Mikrotik, стоящий за VPN.

Настройка выполняется двумя командами:

iptables -t nat -I PREROUTING -p tcp -i ens3 —dport 80 -j DNAT —to-destination 172.16.10.6:80

iptables -I FORWARD -p tcp -d 172.16.10.6 —dport 80 -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT

* где ens3 — внешний сетевой интерфейс. 172.16.10.6 — IP-адрес роутера Mikrotik, который он получит после подключения.

Не забываем сохранить правила:

Читайте также

Другие полезные инструкции на тему VPN:

Источник

use Catalyst;

Выбор провайдеров vps и разбор их тарифов выходит за рамки данной статьи. Скажу только, что для openvpn-сервера подойдет любой минимальный тариф за $5 в месяц и даже меньше. Например, самый дешевый дроплет DigitalOcean подходящий вариант.

В качестве дистрибутива Linux я буду использовать Debian 10 Buster.

Поддержка возможностей Openvpn у RouterOS не полная:

  • Нет возможности работать по протоколу UDP, только по TCP.
  • Не поддерживается сжатие трафика.
  • Нет TLS аутентификации.

Сначала нужно сгенерировать центр сертификации (CA), сертификаты сервера и клиента. Для этого в Debian 10 используется набор скриптов Easy-RSA версии 3, которая довольно сильно отличается от предыдущей второй версии. Для желающих глубокого погружения в тему отсылаю к официальной документации. Здесь же приведу необходимые команды с кратким пояснением.

$ sudo make-cadir /etc/easy-rsa $ sudo -i # cd /etc/easy-rsa # ./easyrsa init-pki # ./easyrsa build-ca nopass # ./easyrsa gen-dh # ./easyrsa gen-crl
# ./easyrsa gen-req myserver nopass # ./easyrsa sign-req server myserver
# ./easyrsa gen-req mikrotik nopass # ./easyrsa sign-req client mikrotik
$ sudo mcedit /etc/openvpn/server/myserver.conf
ca /etc/easy-rsa/pki/ca.crt cert /etc/easy-rsa/pki/issued/myserver.crt key /etc/easy-rsa/pki/private/myserver.key dh /etc/easy-rsa/pki/dh.pem crl-verify /etc/easy-rsa/pki/crl.pem proto tcp dev tun topology subnet server 192.168.188.0 255.255.255.0 client-config-dir /etc/openvpn/ccd
$ sudo mkdir /etc/openvpn/ccd $ sudo mcedit /etc/openvpn/ccd/mikrotik
ifconfig-push 192.168.188.200 255.255.255.0
$ sudo systemctl start openvpn-server@myserver
$ sudo systemctl status openvpn-server@myserver
$ sudo systemctl enable openvpn-server@myserver

Импортируем в хранилище сертификатов сначала сертификат, затем приватный ключ клиента, меню [System >> Certificates >> Import]:

Добавляем клиентское подключение к openvpn-серверу, меню [PPP >> Interface >> Add >> OVPN Client >> Dial Out]:

Источник

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