Ubuntu 22.10. OpenVPN не может подключиться как клиент

Вопрос или проблема

После обновления до Ubuntu 22.10 openvpn не может подключиться к серверу в качестве клиента, используя тот же старый рабочий профиль ovpn из Ubuntu 22.04 LTS.

Я постоянно получаю ошибку:

2022-10-20 20:10:04 TCPv4_CLIENT link remote: [AF_INET]xx.xxx.xxx.xxx:1194
2022-10-20 20:10:04 Connection reset, restarting [0]
2022-10-20 20:10:04 SIGUSR1[soft,connection-reset] received, process restarting

Я попытался переустановить openvpn, но это не помогло.

Моя конфигурация:

client
dev tun
proto tcp
remote xx.xxx.xxx.x 1194
user nobody
group nogroup
persist-key
persist-tun
pkcs12 /home/dyedfox/openvpn/opvn-client1.p12
auth-user-pass /home/dyedfox/openvpn/auth.cfg
askpass /home/dyedfox/openvpn/keypass.cfg
remote-cert-tls server
route 10.0.0.0 255.255.0.0 10.8.8.1
route 10.176.64.16 255.255.255.248 10.8.8.1
route 10.210.4.200 255.255.255.248 10.8.8.1
cipher AES-256-CBC

Не могли бы вы помочь мне с этой проблемой?

П.С. Полный вывод:

2022-10-20 21:36:40 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305). OpenVPN игнорирует --cipher для переговоров по шифрам. 
2022-10-20 21:36:40 WARNING: file '/home/dyedfox/openvpn/opvn-client1.p12' is group or others accessible
2022-10-20 21:36:40 WARNING: file '/home/dyedfox/openvpn/keypass.cfg' is group or others accessible
2022-10-20 21:36:40 WARNING: file '/home/dyedfox/openvpn/auth.cfg' is group or others accessible
2022-10-20 21:36:40 OpenVPN 2.6_git x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] [DCO]
2022-10-20 21:36:40 library versions: OpenSSL 3.0.5 5 Jul 2022, LZO 2.10
2022-10-20 21:36:40 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
2022-10-20 21:36:40 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:40 Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:40 TCP connection established with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:40 TCPv4_CLIENT link local: (not bound)
2022-10-20 21:36:40 TCPv4_CLIENT link remote: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:40 NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
2022-10-20 21:36:41 Connection reset, restarting [0]
2022-10-20 21:36:41 SIGUSR1[soft,connection-reset] received, process restarting
2022-10-20 21:36:46 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:46 Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:46 TCP connection established with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:46 TCPv4_CLIENT link local: (not bound)
2022-10-20 21:36:46 TCPv4_CLIENT link remote: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:47 Connection reset, restarting [0]
2022-10-20 21:36:47 SIGUSR1[soft,connection-reset] received, process restarting
2022-10-20 21:36:52 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:52 Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:52 TCP connection established with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:52 TCPv4_CLIENT link local: (not bound)
2022-10-20 21:36:52 TCPv4_CLIENT link remote: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:53 Connection reset, restarting [0]
2022-10-20 21:36:53 SIGUSR1[soft,connection-reset] received, process restarting
2022-10-20 21:36:58 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:58 Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:58 TCP connection established with [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:58 TCPv4_CLIENT link local: (not bound)
2022-10-20 21:36:58 TCPv4_CLIENT link remote: [AF_INET]xxx.xxx.xxx.x:1194
2022-10-20 21:36:58 Connection reset, restarting [0]
2022-10-20 21:36:58 SIGUSR1[soft,connection-reset] received, process restarting

Это вызвано ошибкой в network-manager-openvpn.

Ubuntu 22.10 обновился до более новой версии OpenVPN (2.6), которая не поддерживает опцию cipher, игнорирует её и ожидает новую опцию data-ciphers, как видно из вашего вывода:

2022-10-20 21:36:40 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305). OpenVPN игнорирует --cipher для переговоров по шифрам.

Проблема в том, что старая опция жестко закодирована в network-manager-openvpn, поэтому переписывание на новую не сработает, если только вы не передадите её с помощью командной строки.

На данный момент вам следует понизить версию OpenVPN до 2.5.5. Вот шаги, основанные на этом ответе, который также мне очень помог: https://askubuntu.com/a/1406472/1589545

  1. Удалите текущую версию OpenVPN, если она установлена: sudo apt remove openvpn

  2. Установите OpenVPN 2.5.5

  • Перейдите на https://launchpad.net/ubuntu/jammy/amd64/openvpn/2.5.5-1ubuntu3
  • Скачайте файл openvpn_2.5.5-1ubuntu3_amd64.deb в разделе “Загружаемые файлы”
  • Дважды щелкните на файле и откройте его с помощью Установщика программ (GUI)
  1. Необязательно: пометьте OpenVPN, чтобы он не обновлялся: sudo apt-mark hold openvpn

  2. Переустановите NetworkManager OpenVPN GUI: sudo apt install network-manager-openvpn-gnome

Я только что добавил

data-ciphers=AES-128-CBC

под оригинальной записью шифра в

/etc/NetworkManager/system-connections/MYVPN.nmconnection

и это сработало.

cipher=AES-128-CBC
data-ciphers=AES-128-CBC

Я нашёл способ заставить это работать без понижения версии OpenVPN, используя OpenVPN 2.6.

Похоже, NetworkManager не читает все опции (такие как опция data-ciphers) из файла ovpn. Идея состоит в том, чтобы вручную указать необходимые опции непосредственно в конфигурационном файле NetworkManager.

Вот инструкции:

  1. Ваше подключение OpenVPN должно уже быть представлено в списке VPN-подключений в NetworkManager.
    Если ваше подключение OpenVPN не представлено в NetworkManager, вы можете создать его, используя пункт меню “Импорт из файла…” (Настройки-> Сеть -> VPN -> VPN + -> Импорт из файла...)

  2. Запустите gnome-terminal: нажмите Alt-F2 на клавиатуре, введите gnome-terminal и нажмите Enter

  3. В приложении Терминал выполните следующую команду для редактирования файла соединения NetworkManager:

    sudo nano /etc/NetworkManager/system-connections/*your_connection_name*.nmconnection
    

    Введите пароль для вашего пользователя Ubuntu, когда система попросит его, и нажмите Enter (пароль или звездочки не будут отображаться в Терминале).

  4. Добавьте следующую строку в секцию [vpn] :

    data-ciphers=AES-256-CBC
    

    Вместо AES-256-CBC укажите значение data-ciphers, поддерживаемое вашим сервером OpenVPN или поставщиком услуги OpenVPN. Вы должны смочь найти это значение в файле ovpn, предоставленном поставщиком услуги VPN.

  5. Нажмите F2 на клавиатуре, затем нажмите y и Enter, чтобы сохранить файл.

  6. Перезапустите службу NetworkManager, выполнив следующую команду:

    sudo systemctl restart NetworkManager
    
  7. Попробуйте подключиться к OpenVPN из Network Manager.

Как указывает @wolfmanFP, это связано с новой версией OpenVPN 2.6 и устаревшим конфигурационным файлом.

Я исправил проблему, понизив версию до OpenVPN 2.5, как предложил wolfmanFP. Это работает вполне исправно.

Тем не менее, я почувствовал, что мы могли бы пойти немного дальше и адаптировать конфигурационный файл к новым требованиям OpenVPN 2.6.

По сути, мне пришлось удалить строку, в которой сказано:

cipher AES-256-CBC

И заменить её на:

data-ciphers AES-256-CBC
data-ciphers-fallback AES-256-CBC

Когда вы попытаетесь подключиться снова, теперь вы не получите никаких предупреждений, и подключение пройдет успешно. Или, по крайней мере, у меня так было. И таким образом вы можете находиться на OpenVPN 2.6 или более поздней версии.

В моем случае у меня есть cipher=AES-256-CBC в новом vpn профиле
в /etc/NetworkManager/system-connections/xxxx.nmconnection

Просто ниже cipher=AES-256-CBC добавьте data-ciphers=AES-256-CBC вот так
cipher=AES-256-CBC
data-ciphers=AES-256-CBC

Перезапустите с помощью sudo service NetworkManager restart
и соединение VPN работает как ожидается.
Проверено на Ubuntu 22.10 openvpn 2.6

Кто-то добавил исправление в репозиторий, вы можете скачать и скомпилировать пакет network-manager-openvpn самостоятельно.

В моем случае это работает в следующей среде:
Ubuntu 22.10
Ядро: 6.0.9-060009-generic
OpenVPN 2.6_git x86_64-pc-linux-gnu
OpenSSL 3.0.5 5 Jul 2022, VOC 2.10

sudo apt install autopoint autoconf libtool
cd /tmp
git clone https://gitlab.gnome.org/GNOME/NetworkManager-openvpn.git
cd NetworkManager-openvpn
git checkout 020ab0c4b872fa5415ed1a5e682acb3343c7b9f3
./autogen.sh
make -j
make -j check 
sudo make -j install

Как я подключаюсь в Ubuntu 22.10 Gnome и IPVanish VPN.

Тестовая машина:
Свежая установка, еще никаких обновлений…

sudo apt-get install -y openvpn network-manager-openvpn network-manager-openvpn-gnome

Указанные выше пакеты были установлены “из коробки”, но могут помочь другим решить проблему.

Говоря о устранении неполадок…

tail -f /var/log/syslog

Это отображает ошибки от NetworkManager и других процессов и стало подсказкой, которая привела меня к хаку/исправлению, которое я нашел на форуме Kubuntu.
https://www.kubuntuforums.net/forum/currently-supported-releases/kubuntu-22-10/network-support-bc/666945-network-manager-fails-to-connect-to-open-vpn-expressvpn-terminal-works-fine

Ошибка, которую я получал (одна из) была “NetworkManager[25475]: Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: keysize (2.6_git)”

Простое исправление заключалось в том, чтобы закомментировать строку “keysize 256” в /etc/NetworkManager/system-connections/ipvanish-US-Seattle-sea-a01.nmconnection, и это исправило проблему.

Шаги для исправления…

sudo nano /etc/NetworkManager/system-connections/ipvanish-US-Seattle-sea-a01.nmconnection

Очевидно, что это конфигурационный файл, специфичный для IPVanish, но тот же принцип может применяться и к другим VPN. После того, как вы попытаетесь импортировать файл .ovpn и подключиться, в указанной директории будет сгенерирован файл конфигурации для сетевого менеджера (/etc/NetworkManager/system-connections/).

Измените строку “keysize 256” на “#keysize 256” и сохраните.

Теперь перезапустите NetworkManager…

sudo systemctl restart NetworkManager

Подключитесь к VPN.

Это самое простое исправление.

Другие вещи, которые я пробовал…

Понижение версии и удержание openvpn согласно инструкциям wolfmanFP (это работало в прошлом и было единственным методом, с которым я имел успех, однако это перестало работать для меня вчера после свежей установки Ubuntu, так же и Kali).

Возможно, библиотеки были обновлены, возможно, я пропустил/изменил шаги, но метод wolfmanFP раньше работал с 22.10, а теперь не работает (по крайней мере, для меня и этого конкретного компьютера).

Я также пробовал метод Яна Кунцмана, который тоже не дал результата.

Ошибка “nm-openvpn[26036]: DEPRECATED OPTION: –cipher set to ‘AES-256-CBC’ but missing in –data-ciphers (AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305). OpenVPN игнорирует –cipher для переговоров по шифрам.” по-прежнему присутствует, но подключение все равно проходит.

Тем не менее, этот новый метод является последовательным и требует изменения только одной строки в файле конфигурации.

Надеюсь, это поможет вам избежать часов поиска и устранения неполадок.

Включение устаревшего провайдера в /etc/ssl/openssl.cnf помогло мне на Debian 12:

https://bbs.archlinux.org/viewtopic.php?id=280970

Ubuntu 23.04.

openvpn --version
OpenVPN 2.5.5 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] собран 14 июля 2022
library versions: OpenSSL 3.0.2 15 Mar 2022, LZO 2.10

Для меня помогли эти шаги.

Терминал

sudo --config ./openvpn

Вывод команды подсказывает, какие именно шифры вам нужны (что-то о добавлении –data-ciphers XX-XXX ). И изменение команды

sudo openvpn --data-ciphers-fallback XX-XXX --data-ciphers XX-XXX --config ./client.ovpn

устанавливает подключение.

Для GUI после неудачных попыток добавьте строку

cipher=XX-XXX

в секцию [vpn] в файле

/etc/NetworkManager/system-connections/your_vpn_connection.nmconnection

На ubuntu 24.10, (версия OpenVPN 2.6.12)
найдите ваш файл конфигурации vpn в /etc/netplan/

добавьте строку в связанный файл

vpn.data-ciphers: "AES-128-CBC"

например

vpn.cipher: "AES-128-CBC" 
vpn.data-ciphers: "AES-128-CBC"

Перезагрузите NetworkManager

sudo systemctl restart NetworkManager

вы можете проверить ваши журналы

journalctl -u NetworkManager -f

Ответ или решение

Проблема с подключением OpenVPN на Ubuntu 22.10: Решение ошибок и настройки

После обновления до версии Ubuntu 22.10 пользователи, использующие OpenVPN, сталкиваются с проблемой подключения к VPN-серверам, в то время как настроенные профили в предыдущей версии 22.04 LTS больше не работают. Многие из них сталкиваются с ошибкой подключения, которая выглядит следующим образом:

2022-10-20 20:10:04 TCPv4_CLIENT link remote: [AF_INET]xx.xxx.xxx.xxx:1194
2022-10-20 20:10:04 Connection reset, restarting [0]
2022-10-20 20:10:04 SIGUSR1[soft,connection-reset] received, process restarting

Причины проблемы

Согласно отчетам пользователей и документации, причина данной проблемы кроется в обновлении до OpenVPN версии 2.6, которое больше не поддерживает устаревшую опцию --cipher. Вместо нее используется опция --data-ciphers, что и приводит к конфликту при использовании старых профилей OpenVPN.

Потенциальные решения

1. Обновление конфигурационного файла:

Необходимо обновить ваш конфигурационный файл OpenVPN, чтобы учесть новые изменения:

  • Откройте ваш конфигурационный файл, который обычно располагается в /etc/NetworkManager/system-connections/.
  • Найдите строку cipher=AES-256-CBC и замените ее следующими строками:
    data-ciphers=AES-256-CBC
    data-ciphers-fallback=AES-256-CBC

Это обновление позволит устранить предупреждение о deprecated опции и адаптирует конфигурацию под требования версии OpenVPN 2.6.

2. Редактирование конфигурации в NetworkManager:

Если вы предпочитаете использовать графический интерфейс, вы можете внести изменения через NetworkManager:

  • Запустите gnome-terminal.
  • Используйте команду для редактирования конфигурационного файла:
    sudo nano /etc/NetworkManager/system-connections/*ваша_конфигурация*.nmconnection
  • В секции [vpn] добавьте строку data-ciphers=AES-256-CBC.

После внесения изменений не забудьте перезапустить NetworkManager:

sudo systemctl restart NetworkManager

3. Понижение версии OpenVPN (временно):

Если обновление конфигурации не привело к успеху и вы хотите быстрее устранить проблему, вы можете временно понизить версию OpenVPN до 2.5.5:

  • Удалите текущую версию OpenVPN:
    sudo apt remove openvpn
  • Установите нужную версию, скачав пакет с Launchpad и установив его:
    sudo dpkg -i /путь/к/openvpn_2.5.5-1ubuntu3_amd64.deb
  • Зафиксируйте версию, чтобы избежать автоматического обновления:
    sudo apt-mark hold openvpn

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

Убедитесь, что файлы конфигурации OpenVPN имеют правильные права доступа. Если в логах появляется предупреждение о том, что файл /home/dyedfox/openvpn/opvn-client1.p12 доступен для группы или других пользователей, измените права, выполнив:

chmod 600 /home/dyedfox/openvpn/opvn-client1.p12
chmod 600 /home/dyedfox/openvpn/keypass.cfg
chmod 600 /home/dyedfox/openvpn/auth.cfg

Итог

Если указанные действия не решили вашу проблему, рекомендуется тщательно проверить логи NetworkManager, используя команду:

journalctl -u NetworkManager -f

Эта команда поможет выявить дополнительные сообщения об ошибках, которые могут дать больше информации о характере проблемы.

Таким образом, с помощью вышеперечисленных шагов вы сможете преодолеть проблемы с подключением OpenVPN на Ubuntu 22.10 и безопасно использовать VPN в ваших задачах.

Оцените материал
Добавить комментарий

Капча загружается...