Настройка на Mikrotik (микротике) OpenVPN сервер

перейти в System -> Certificate и нажать Add New

заполнить поля и нажать Apply

подождать пока сгенерируется сертификат и нажать Sign

выбрать добавленный корневой сертификат и нажать Start

дождатся завершения

в консоли:

/certificate 
add name=ca country="RU" state="Msk" locality="RU" organization="Org" unit="IT" common-name="ca" key-size=2048 days-valid=3650 key-usage=crl-sign,key-cert-sign 
sign ca ca-crl-host=127.0.0.1

добавить сертификат для OpenVPN — System -> Certificate и нажать Add New

заполнить поля и нажать Apply

подождать пока сгенерируется сертификат и нажать Sign

выбрать сертификат сервера OpenVPN и нажать Start

в консоли:

/certificate 
add name=ovpn-server country="RU" state="Msk" locality="RU" organization="Org" unit="IT" common-name="ovpn-server" key-size=2048 days-valid=3650 key-usage=digital-signature,key-encipherment,tls-server 
sign ovpn-server ca="ca"

для добавления клиентского сертификата — System -> Certificate и нажать Add New

заполнить поля и нажать Apply

подождать пока сгенерируется сертификат и нажать Sign

выбрать сертификатклиента и нажать Start

в консоли:

/certificate 
add name="client-01" country="RU" state="Msk" locality="RU" organization="Org" unit="IT" common-name="client-01" key-size=2048 days-valid=3650 key-usage=tls-client 
sign client-01 ca="ca"

экспорт клиентского сертификата в файлы

указать пароль к ключу, наименование файла и нажать Export

в консоли:

/certificate
export-certificate client-01 type=pem export-passphrase=12345678

экспортировать корневой сертификат ca
перейти в корневой сертификат и нажать Export

указать наименование файла и нажать Export

в консоли:

/certificate export-certificate ca type=pem

в разделе Files

стал доступен файл client-01.crt

для добавления пула IP к OpenVPN перейти в IP -> Pool и нажать Add New

заполнить пулл (к примеру: 10.8.8.10-10.8.8.200) и нажать OK

в консоли:

/ip pool
add name=ovpn_pool0 ranges=10.8.8.10-10.8.8.200

перейти PPP -> Profiles и нажать на Add New

заполнить Name, Local Address, Remote Address и нажать OK

в консоли:

/ppp profile
add local-address=10.8.8.1 name=ovpn remote-address=ovpn_pool0

PPP -> Secrets и нажать PPP Authentication&Accounting

если не стоит флаг Accounting то установить и нажать ОК

в консоли:

/ppp aaa
set accounting=yes

для добавления клиента переходим PPP -> Secrets и нажать Add New

заполняем и нажимаем OK

создана запись пользователя client-01 с паролем 12345678

в консоли:

/ppp secret
add name=client-01 password=12345678 profile=ovpn service=ovpn

для создания интерфейса OpenVPN нужно перейти в PPP -> Interface и нажать OVPN Server

заполнить настройки сервера и нажать OK

в консоли:

/interface ovpn-server server
set auth=sha1 certificate=ovpn-server cipher=aes256 default-profile=ovpn enabled=yes require-client-certificate=yes

для разрешения входящих подключений нужно перейти в IP -> Firewall и нажать Add New

заполнить Chain, Protocol, Dst. Port и нажать OK

в консоли:

/ip firewall filter
add action=accept chain=input  dst-port=1194 protocol=tcp

данное правило должно располагаться выше запрещающего в цепочке INPUT

сервер готов, можно добавлять сертификаты и аккаунты для подключения

 

для конфигурирования файла для Keenetic с приватного ключа нужно удалить пароль. пример на Linux

openssl rsa -in client-01.key -out client-01_nopass.key

пример файла конфигурации клиента на Keenetic под данный сервер:

client
proto tcp
dev tun

remote xx.xx.xx.xx 1194

route-nopull
route 10.8.8.0 255.255.255.0
route 192.168.0.0 255.255.255.0
route 192.168.1.0 255.255.255.0

cipher AES-256-CBC
auth-nocache
nobind
persist-key
persist-tun
script-security 2

<auth-user-pass>
client-01
12345678
</auth-user-pass>

<ca>
-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----

-----END PRIVATE KEY-----
</key>