Настройка на 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>