Найти в Дзене
Антон Фелин

openvpn server на mikrotik router os 7 + настройка клиента на любой ОС

Сделал скрипт по автоматической настройке openvpn server на router os 7 с учетом последних изменений в синтаксисе: Добавляем пул айпи адресов и создаем сертификат /ip pool add name=vpn ranges=172.16.120.100-172.16.120.199 /certificate add name=ca country="RU" common-name="ca" key-size=2048 days-valid=3650 key-usage=crl-sign,key-cert-sign Подписываем сертификат /certificate sign ca ca-crl-host=127.0.0.1 Добавляем сертификат сервера /certificate add name=ovpn-server country="RU" common-name="ovpn-server" key-size=2048 days-valid=3650 key-usage=digital-signature,key-encipherment,tls-server Подписываем сертификат сервера /certificate sign ovpn-server ca="ca" Добавляем клиентский сертификат /certificate add name=client country="RU" common-name="client" key-size=2048 days-valid=3650 key-usage=tls-client Подписываем сертификат клиента(для всех клиентов можно использовать один сертификат и изменять только логины и пароли) /certificate sign client ca="ca" Экспортируем сертификаты /certificate e

Сделал скрипт по автоматической настройке openvpn server на router os 7 с учетом последних изменений в синтаксисе:

Добавляем пул айпи адресов и создаем сертификат

/ip pool add name=vpn ranges=172.16.120.100-172.16.120.199

/certificate add name=ca country="RU" common-name="ca" key-size=2048 days-valid=3650 key-usage=crl-sign,key-cert-sign

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

/certificate sign ca ca-crl-host=127.0.0.1

Добавляем сертификат сервера

/certificate add name=ovpn-server country="RU" common-name="ovpn-server" key-size=2048 days-valid=3650 key-usage=digital-signature,key-encipherment,tls-server

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

/certificate sign ovpn-server ca="ca"

Добавляем клиентский сертификат

/certificate add name=client country="RU" common-name="client" key-size=2048 days-valid=3650 key-usage=tls-client

Подписываем сертификат клиента(для всех клиентов можно использовать один сертификат и изменять только логины и пароли)

/certificate sign client ca="ca"

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

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

/certificate export-certificate ca type=pem

Добавляем профил vpn

/ppp profile add local-address=172.16.120.1 name=open-vpn remote-address=vpn

Включаем openvpn server

/interface ovpn-server server set auth=sha1 certificate=ovpn-server cipher=aes128-cbc,aes256-cbc default-profile=open-vpn enabled=yes require-client-certificate=yes

ВАЖНО!!! Если у вас старая версия router os то вводим вместо предыдущей строки:

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

Пример конфигурационного файла в который вшиты все сертификаты и маршруты для использования в любой ОС(для mac os используем tunnelblk в качестве клиента, для win openvpn client из community donwloads. OPENVPN CONNECT - НЕ РАБОТАЕТ!!!!! Как добавить что бы работало ниже!!!!). просто импортируем его в клиент.

client
dev tun
remote 1.1.1.1 1194 # Адрес впн сервера
proto tcp
resolv-retry infinite
nobind
persist-key
persist-tun
#auth SHA1 Включаем данные пункты если у вас openvpn-client старше 2.5.8
#cipher AES-256-CBC Включаем данные пункты если у вас openvpn-client старше 2.5.8
data-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC
data-ciphers-fallback AES-256-CBC
verb 3
remote-cert-tls server
auth-user-pass
route 10.20.20.0 255.255.255.0 172.16.120.1 # добавит маршрут к удаленной сети(10.20.20.0/24) через openvpn server

#https://dzen.ru/id/5cc6b7dcf027a600b4b2b992


<ca>
-----BEGIN CERTIFICATE-----
Сюда сертификат CA
-----END CERTIFICATE-----
</ca>

<key>
-----BEGIN ENCRYPTED PRIVATE KEY-----
Сюда ключ клиента
-----END ENCRYPTED PRIVATE KEY-----
</key>

<cert>
-----BEGIN CERTIFICATE-----
сюда сертификат клиента
-----END CERTIFICATE-----
</cert>

p.s.

#Если вам нужно что бы все работало в новом openvpn connect то делаем следующее

auth SHA1
cipher AES-256-CBC
#data-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC
#data-ciphers-fallback AES-256-CBC