Mikrotik. OpenVPN. Сервер Mikrotik OpenVPN и клиенты: различия между версиями
Cless (обсуждение | вклад) (Новая страница: «== Настройка OpenVPN сервера Mikrotik == Сертификат CA <code>/certificate add name=template-CA country="" state="" locality="" organiza...») |
Cless (обсуждение | вклад) |
||
| Строка 358: | Строка 358: | ||
- подключаемся | - подключаемся | ||
[[Категория:Mikrotik]] | |||
[[Категория:OpenVPN]] | |||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | |||
Версия 11:28, 20 марта 2022
Настройка 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
Включаем OVPN-сервер
// НЕ ТРЕБУЕТСЯ использовать сертификаты клиентов (клиент будет подключаться ТОЛЬКО с логином/паролем) - require-client-certificate=no
#/interface ovpn-server server set auth=sha1 cipher=blowfish128,aes256 default-profile=OVPN_server mode=ip netmask=24 require-client-certificate=no certificate=srv-OVPN enabled=yes
/interface ovpn-server server set certificate=srv-OVPN cipher=blowfish128,aes128,aes192,aes256 enabled=yes port=1101 require-client-certificate=no
// ВАРИАНТ 1:
// НЕ ИСПОЛЬЗОВАТЬ СЕРТИФИКАТЫ КЛИЕНТОВ
// ---
// Экспорт сертификатов для настройки клиентов:
// Экспорт сертификата CA:
/certificate export-certificate CA export-passphrase=""
// получается файл 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
// копируем их на машину клиента
КЛИЕНТ OVPN 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
// подключаемся вручную тыкая на иконку в трее
// для автозапуска VPN можно также использовать автозапуск службы OpenVPNService
// при запуске системы запустится конфиг client.ovpn
// но при этом теряется смысл GUI иконки в трее
OPENVPN ПОРТАТИВНЫЙ:
---
// ВАРИАНТ 1:
// НЕ ИСПОЛЬЗОВАТЬ СЕРТИФИКАТЫ КЛИЕНТОВ
// ---
// Используем приложение OpenVPNPortable в комплекте с мануалом
// в OpenVPNPortable\data\config\client.ovpn изменяем содержимое <ca> ... </ca> на содержимое файла export_CA.crt
// в auth.txt записываем лог/пас клиента
// ВАРИАНТ 2:
// ИСПОЛЬЗОВАНИЕ СЕРТИФИКАТОВ КЛИЕНТОВ
// в 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 должны быть запущены от имени Администратора
- если пользователь входит в группу Администраторы, то при запуске от имени Администратора пароль Администратора не требуется
- если пользователь НЕ входит в группу Администраторы, то при запуске от имени Администратора требуется пароль Администратора
КЛИЕНТ OVPN 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
КЛИЕНТ OVPN 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
- вводим лог/пас пользователя
- подключаемся