Вопрос или проблема
У меня есть файл openvpn conf.ovpn, импортированный в nmcli с использованием
nmcli connection import type openvpn file ./conf.ovpn
Я открыл графический интерфейс Networkmanager и установил имя пользователя для этого соединения.
Я пытаюсь подключиться к VPN, используя
sudo nmcli c up conf --ask
Когда запрашивается пароль, я ввожу Пароль + TOTP
У меня две машины, настроенные с этой конфигурацией: одна работает на Linux Mint 22.1, другая на Arch.
На машине с Arch указанный процесс приводит к успешному подключению.
На машине с Mint я вижу AUTH: Received control message: AUTH_FAILED
, а затем запрос на повторный ввод пароля. Версия nmcli на Mint: nmcli tool, version 1.46.0
Версия на Arch: nmcli tool, version 1.52.0-1
Примечание: этот процесс работал на Linux Mint 21.3
На машине с Mint я могу подключиться, используя openvpn --config conf.ovpn
. Таким образом, проблема, кажется, либо в nmcli, либо во взаимодействии с openvpn.
Любая помощь или подсказка о том, как отладить и решить эту проблему, будет оценена.
Ответ или решение
Ваше описание проблемы предлагает важное различие в работе конфигурации VPN на двух различных системах. Внимательное изучение этого вопроса может помочь идентифицировать, где именно возникают проблемы, и как их исправить. Давайте разберем возможные причины и подходы к решению, используя методику TEA (Теория, Пример, Применение).
Теория
Начнем с теоретической части. NetworkManager является распространенным инструментом для управления сетевыми подключениями на Linux, включая VPN. OpenVPN использует различные протоколы аутентификации, и в вашем случае это комбинация стандартного пароля и одноразового пароля (TOTP). Такая система требует точной синхронизации времени и корректного представления похоже с Password + TOTP.
При использовании команды nmcli
для соединения с VPN, NetworkManager может обрабатывать аутентификационные запросы иначе, чем непосредственное использование команды openvpn
. Ошибка AUTH_FAILED
обычно указывает на то, что соединение с сервером было установлено, но сервер отказал в аутентификации, возможно, из-за неверных учетных данных или неправильной структуры передаваемого пароля.
Ваша ситуация также затрагивает разницу в версиях nmcli
, что может быть значительным фактором. Различия в версиях могут включать в себя изменения в обработке протоколов, настройки времени, или порядке запросов аутентификации. Обнуление и обновление конфигураций и регулярные изменения в версиях, такие как переходы от одной сборки к другой, также могут затруднить работу утилиты.
Пример
Давайте рассмотрим возможный сценарий на примере.
На системе Arch с nmcli
версии 1.52.0-1 ваша схема с Password + TOTP работает исправно. При этом на Linux Mint с версией nmcli
1.46.0 данный процесс выдаёт ошибку. Это может свидетельствовать о том, что обновленная версия утилиты помогает или правильно обрабатывает определенные детали аутентификации, такие как разрывание строки или скрытые символы, что было проблемой в более старой версии.
Точно так же, поскольку команда openvpn --config conf.ovpn
на Linux Mint работает успешно, это указывает на правильность базового конфигурационного файла и исходных учетных данных. Однако взаимодействие между nmcli
и NetworkManager на данной версии системы может быть непоследовательным.
Применение
Теперь перейдем к практическим предложениям по решению этой проблемы.
-
Обновление: Попробуйте обновить
nmcli
на вашей системе Linux Mint до последней версии, которая, вероятно, находится ближе к той, что установлена на Arch. Это обеспечит коррекцию возможных багов и синхронизацию функциональности. -
Тестирование конфигураций и времени: Убедитесь, что время на вашей системе Linux Mint синхронизировано с сервером. Ошибки в одноразовых паролях могут произойти из-за расхождения времени. Используйте инструменты, такие как
ntpdate
, чтобы проверить синхронность. -
Проверка конфигурационного файла: Убедитесь, что конфигурационный файл не содержит лишних строковых символов или специфик, которые могли бы отличаться от того, что ожидает более старая версия
nmcli
. Попробуйте экспортировать конфигурацию из Arch и импортировать заново на Mint. -
Логи: Просмотрите логи OpenVPN и NetworkManager для поиска более точной информации об ошибке аутентификации. Это может пролить свет на этапы, на которых она проваливается.
-
Альтернативные методы аутентификации: Если обновление и проверка конфигураций не помогли, рассмотрите возможность использования других методов аутентификации, например, установки использования отдельного файла для пароля и TOTP, чтобы
nmcli
передавал данные верно.
Таким образом, базируясь на теоретических основах и примерах, вы можете применить предложенные методы, чтобы достичь успешного результата и устойчивого соединения через VPN на обеих системах.