░▒▓█ Проблема █▓▒░
В MikroTik RouterOS есть функция OpenVPN-server, включив её, без проблем можно подключиться, используя в качестве клиента OpenVPN 2.5.2 для Windows или GNU Linux, но с OpenVPN 2.6.0 возникнут проблемы.
Дело в том что около версии 2.6 в OpenVPN изменился механизм согласования алгоритма шифрования, а в RouterOS 6 всё ещё используется старый механизм. OpenVPN 2.6 в роли клиента запрашивает согласование, а в ответ получает немного не то, что ожидает, к такому исходу он не готов, по этому закрывается на чём-то вроде
2025-01-08 03:49:24 us=654986 SIGUSR1[soft,connection-reset] received, process restarting
2025-01-08 03:49:24 us=655020 Restart pause, 1 second(s)
А логи на RouterOS 6 предлагают разве что
03:49:23 ovpn,info TCP connection established from 172.16.5.2
03:49:23 ovpn,debug,error,1880,44552,44556,43680,23440,58524,43344,44552,l2tp,info,44556,debug,update,65535,critical,35992,460,62352,update,58600,64968,18464,4043,57924,58524,13440,58524,warning duplicate packet, dropping
░▒▓█ Решение █▓▒░
Чтобы починить просто добавьте в конфиг клиента запасной алгоритм шифрования. После неудачного согласования клиент попробует использовать его. Если сервер поддерживает этот алгоритм - соединение будет установлено. И режим совместимости с 2.4 на всякий случай. С ним будет стабильнее.
data-ciphers-fallback AES-128-CBC
compat-mode 2.4.0
░▒▓█ Пример █▓▒░
Вот моя рабочая конфигурация:
Сервер MikroTik RouterOS 6.49.15 (stable)
Клиент OpenVPN 2.6.3 на Debian 12 GNU/Linux 6.1.0-28-amd64
Сервер OpenVPN на MikroTik настроен так:
/interface ovpn-server server
set auth=sha1 certificate=Public-ovpn-server cipher=aes128 default-profile=Public-ovpn enabled=yes mac-address=78:9A:18:76:02:43 port=1303
/ppp profile
add local-address=10.11.11.1 name=Public-ovpn remote-address=Public-VPN-pool use-compression=no use-encryption=yes
/ip pool
add name=Public-VPN-pool ranges=10.11.11.2-10.11.11.254
Клиент настроен так:
client
dev tun
proto tcp
remote 172.16.5.1 1303
nobind
persist-tun
remote-cert-tls server
verb 3
auth sha1
auth-user-pass
ping-restart 30
data-ciphers AES-128-CBC
data-ciphers-fallback AES-128-CBC
compat-mode 2.4.0
ca public-ovpn.crt
Не нужно слов о безопасности. Я намеренно пожертвовал ей в угоду оптимизации. Этот OpenVPN был нужен лишь чтобы поиграть в сетевую игру. Я предпочёл VPN нежели проброс портов лишь чтобы защититься от нежелательных игроков.