Bug 55196 - Нормально работающее подключение OpenVPN через некоторое время ломается
Summary: Нормально работающее подключение OpenVPN через некоторое время ломается
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: NetworkManager (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Mikhail Efremov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-07-12 20:49 MSK by Григорий
Modified: 2025-07-23 12:20 MSK (History)
4 users (show)

See Also:


Attachments
вывод journalctl -u NetworkManager.service сразу после деактивации соединения (1.33 KB, text/plain)
2025-07-12 20:53 MSK, Григорий
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Григорий 2025-07-12 20:49:16 MSK
Общее описание: создается новое подключение из файла .ovpn, подключение нормально поднимается, функционирует около 10-15 минут, затем происходит отключение. Это же подключение можно повторно поднять обычным кликом мыши, но через указанное время происходит то же самое.

Как воспроизвести:
1) необходимо иметь заранее созданный клиентский файл с расширением .ovpn с настройками подключения к OpenVPN-серверу
2) создать в Network Manager новое VPN-соединение через пункт "импортировать из файла"
3) активировать VPN-соединение
4) подождать 15 минут (для гарантии 20 минут)

Реальные результаты: Подключение VPN деактивируется
Ожидаемые результаты: Подключение VPN должно работать постоянно
Версия и платформа: ALT Workstation 11.0 (Prometheus) релиз от 28-Apr-2025
Другие версии и платформы: 
1) ArchLinux с оболочкой MATE этот же .opvn файл - всё работает стабильно
2) Debian GNU/Linux 12 с оболочкой MATE этот же .opvn файл - всё работает стабильно
Comment 1 Григорий 2025-07-12 20:53:59 MSK
Created attachment 19087 [details]
вывод journalctl -u NetworkManager.service сразу после деактивации соединения
Comment 2 Pavel Shilov 2025-07-15 10:48:46 MSK
Произвел тестирование на платформе в качестве клиента:
* alt-workstation-11.0-x86-64

В качестве сервера:
* alt-server-11.0-x86-64-minimal

Обновленных до p11  
Версии пакетов:
* easy-rsa-3.1.7-alt1.noarch
* openvpn-2.6.12-alt1.x86_64

Настройку сделал по шагам:
1. Создать структуры каталогов:
# apt-get install openvpn easy-rsa && cd ~/ && easyrsa init-pki
2. Создать Ключи центра сертификации на server'e.
# easyrsa build-ca
Ввести пароль: 1234
При вопросе [Easy-RSA CA] ввести CA-ORG
3. Создать ключи Диффи-Хелмана:
# easyrsa gen-dh && ls -l ./pki
4. Создать сертификат для server'a:
# easyrsa gen-req vpn-server nopass
[vpn-server]:vpn-server
# easyrsa sign-req server vpn-server
5. Скопировать полученные ключи в рабочий каталог openvpn:
# cp ./pki/ca.crt /etc/openvpn/keys; cp ./pki/issued/vpn-server.crt /etc/openvpn/keys; cp ./pki/private/vpn-server.key /etc/openvpn/keys; cp ./pki/dh.pem /etc/openvpn/keys;
6. Создание ключей клиентам на server'е
# easyrsa build-client-full User nopass
Создадутся следующие файлы:
./pki/issued/User.crt
./pki/private/User.key
./pki/ca.crt
7. Скопировать конфигурационный файл:
# cp /usr/share/doc/openvpn-<version>/server.conf /etc/openvpn/
Указать правильные пути к сертификатам и ключам:
# sed -i 's/ca   \/etc\/openvpn\/keys\/ca.cert/ca   \/etc\/openvpn\/keys\/ca.crt/' /etc/openvpn/server.conf &&
sed -i 's/cert \/etc\/openvpn\/keys\/server.cert/cert \/etc\/openvpn\/keys\/vpn-server.crt/' /etc/openvpn/server.conf &&
sed -i 's/key  \/etc\/openvpn\/keys\/server.key/key  \/etc\/openvpn\/keys\/vpn-server.key/' /etc/openvpn/server.conf &&
sed -i 's/dh \/etc\/openvpn\/keys\/dh1024.pem/dh \/etc\/openvpn\/keys\/dh.pem/' /etc/openvpn/server.conf
Строки в файле должны быть следующими:
ca   /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn-server.crt
key  /etc/openvpn/keys/vpn-server.key
dh /etc/openvpn/keys/dh.pem
# openvpn /etc/openvpn/server.conf
8. Создать файл секрета:
# openvpn --genkey secret /etc/openvpn/keys/ta.key
8. Создать ovpn файл командой: 
cat <<EOF > client.ovpn
client
dev tun
proto udp
remote 10.88.10.180 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
verb 3
<ca>
$(cat /etc/openvpn/keys/ca.crt)
</ca>
<cert>
$(cat pki/issued/User.crt)
</cert>
<key>
$(cat pki/private/User.key)
</key>
<tls-auth>
$(cat /etc/openvpn/keys/ta.key)
</tls-auth>
key-direction 1
EOF
9. Запустить сервис
# /etc/rc.d/init.d/openvpn start
10. Передать ovpn файл на клиента и создать vpn подключение, путем:
Сеть -> VPN -> Настройки VPN -> Добавить (+) -> Импортировать из файла -> Выбрать переданный файл client.ovpn

Фактическое поведение отключение VPN через какое-то время (около 15 минут) вывод в journalctl следующий:
июл 15 09:56:27 workstation-11-0-x86-64-20250714.localdomain NetworkManager[888]: <info>  [1752562587.0658] device (tun0): state change: activated -> unmanaged (reason 'unmanaged', managed-type: 'removed')
июл 15 09:56:27 workstation-11-0-x86-64-20250714.localdomain dbus-daemon[769]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.8' (uid=0 pid=888 comm="/usr/sbin/NetworkManager --no-daemon")
июл 15 09:56:27 workstation-11-0-x86-64-20250714.localdomain NetworkManager[888]: <warn>  [1752562587.0759] vpn[0x55d102124440,05a8c9e1-3e3d-4b4f-80e6-e876220bc53f,"client",if:3,dev:2]: dbus: failure: connect-failed (1)
июл 15 09:56:27 workstation-11-0-x86-64-20250714.localdomain NetworkManager[888]: <info>  [1752562587.0762] policy: set 'System ens19' (ens19) as default for IPv4 routing and DNS
июл 15 09:56:27 workstation-11-0-x86-64-20250714.localdomain systemd[1]: Starting NetworkManager-dispatcher.service - Network Manager Script Dispatcher Service...
июл 15 09:56:27 workstation-11-0-x86-64-20250714.localdomain NetworkManager[888]: <info>  [1752562587.0857] dns-mgr: Writing DNS information to /sbin/resolvconf

После обновления до Sisyphus 
Версии пакетов:
* openvpn-2.6.12-alt1
* easy-rsa-3.2.2-alt1

И Настройки по шагам выше ошибки в journalctl изменились:
юл 15 10:37:46 workstation-11-0-x86-64-20250715.localdomain NetworkManager[900]: <warn>  [1752565066.8391] vpn[0x55d541491730,8c33e534-b012-43d1-935f-3d77031f19b0,"client"]: connect timeout exceeded
июл 15 10:37:46 workstation-11-0-x86-64-20250715.localdomain nm-openvpn-serv[4198]: Connect timer expired, disconnecting.
июл 15 10:37:46 workstation-11-0-x86-64-20250715.localdomain nm-openvpn[4203]: SIGTERM received, sending exit notification to peer
июл 15 10:37:46 workstation-11-0-x86-64-20250715.localdomain nm-openvpn[4203]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
июл 15 10:37:46 workstation-11-0-x86-64-20250715.localdomain nm-openvpn[4203]: TLS Error: TLS handshake failed
июл 15 10:37:46 workstation-11-0-x86-64-20250715.localdomain nm-openvpn[4203]: Converting soft SIGUSR1 received during exit notification to SIGTERM
июл 15 10:37:46 workstation-11-0-x86-64-20250715.localdomain nm-openvpn[4203]: SIGTERM[soft,exit-with-notification] received, process exiting
Comment 3 Григорий 2025-07-23 11:50:06 MSK
Павел, openvpn-сервер поднимали в интернете или локально? У меня удаленно. Внезапно, со вчерашнего дня всё резко переменилось и подключение стало работать без сбоев, обновлений не производил, систему не перезагружал, уже почти сутки работает VPN-подключение.
Comment 4 Pavel Shilov 2025-07-23 11:57:46 MSK
(Ответ для Григорий на комментарий #3)
> Павел, openvpn-сервер поднимали в интернете или локально? У меня удаленно.
> Внезапно, со вчерашнего дня всё резко переменилось и подключение стало
> работать без сбоев, обновлений не производил, систему не перезагружал, уже
> почти сутки работает VPN-подключение.

В качестве клиента:
* alt-workstation-11.0-x86-64

В качестве сервера:
* alt-server-11.0-x86-64-minimal 

Оба в одной сети. 

Можете предоставить доп информацию по версиям установленных пакетов, easy-rsa и openvpn:
$ rpm -qa | grep -E 'openvpn|easy'
Comment 5 Григорий 2025-07-23 12:15:41 MSK
Сам OpenVPN-сервер на debian 12:

1) hostnamectl

Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-17-amd64
Architecture: x86-64

2) apt show openvpn

Package: openvpn
Version: 2.6.3-1+deb12u2
Priority: optional
Section: net
Maintainer: Bernhard Schmidt <berni@debian.org>
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libcap-ng0 (>= 0.7.9), liblz4-1 (>= 0.0~r130), liblzo2-2 (>= 2.02), libnl-3-200 (>= 3.2.7), libnl-genl-3-200 (>= 3.2.7), libpam0g (>= 0.99.7.1), libpkcs11-helper1 (>= 1.28), libssl3 (>= 3.0.0), libsystemd0

3) apt show easy-rsa

Package: easy-rsa
Version: 3.1.0-1
Priority: optional
Section: utils
Maintainer: Debian QA Group <packages@qa.debian.org>
Comment 6 Pavel Shilov 2025-07-23 12:17:19 MSK
(Ответ для Григорий на комментарий #5)
> Сам OpenVPN-сервер на debian 12:
> 
> 1) hostnamectl
> 
> Operating System: Debian GNU/Linux 12 (bookworm)
> Kernel: Linux 6.1.0-17-amd64
> Architecture: x86-64
> 
> 2) apt show openvpn
> 
> Package: openvpn
> Version: 2.6.3-1+deb12u2
> Priority: optional
> Section: net
> Maintainer: Bernhard Schmidt <berni@debian.org>
> Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libcap-ng0 (>=
> 0.7.9), liblz4-1 (>= 0.0~r130), liblzo2-2 (>= 2.02), libnl-3-200 (>= 3.2.7),
> libnl-genl-3-200 (>= 3.2.7), libpam0g (>= 0.99.7.1), libpkcs11-helper1 (>=
> 1.28), libssl3 (>= 3.0.0), libsystemd0
> 
> 3) apt show easy-rsa
> 
> Package: easy-rsa
> Version: 3.1.0-1
> Priority: optional
> Section: utils
> Maintainer: Debian QA Group <packages@qa.debian.org>

А версии на клиентской машине?
Comment 7 Григорий 2025-07-23 12:20:28 MSK
(Ответ для Pavel Shilov на комментарий #6)
> (Ответ для Григорий на комментарий #5)
> > Сам OpenVPN-сервер на debian 12:
> > 
> > 1) hostnamectl
> > 
> > Operating System: Debian GNU/Linux 12 (bookworm)
> > Kernel: Linux 6.1.0-17-amd64
> > Architecture: x86-64
> > 
> > 2) apt show openvpn
> > 
> > Package: openvpn
> > Version: 2.6.3-1+deb12u2
> > Priority: optional
> > Section: net
> > Maintainer: Bernhard Schmidt <berni@debian.org>
> > Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libcap-ng0 (>=
> > 0.7.9), liblz4-1 (>= 0.0~r130), liblzo2-2 (>= 2.02), libnl-3-200 (>= 3.2.7),
> > libnl-genl-3-200 (>= 3.2.7), libpam0g (>= 0.99.7.1), libpkcs11-helper1 (>=
> > 1.28), libssl3 (>= 3.0.0), libsystemd0
> > 
> > 3) apt show easy-rsa
> > 
> > Package: easy-rsa
> > Version: 3.1.0-1
> > Priority: optional
> > Section: utils
> > Maintainer: Debian QA Group <packages@qa.debian.org>
> 
> А версии на клиентской машине?

1) hostnamectl 

Operating System: ALT Workstation 11.0 (Prometheus)
CPE OS Name: cpe:/o:alt:workstation:11.0
Kernel: Linux 6.12.21-6.12-alt1
Architecture: x86-64

2) rpm -qa | grep -E 'openvpn|easy'

openvpn-2.6.12-alt1.x86_64
alterator-openvpn-sh-functions-1.0-alt1.noarch
NetworkManager-openvpn-1.12.0-alt1.x86_64
NetworkManager-openvpn-gtk-common-1.12.0-alt1.x86_64
NetworkManager-openvpn-gtk4-1.12.0-alt1.x86_64
alterator-net-openvpn-0.8.15-alt1.noarch