Вопрос или проблема
Я недавно установил Ubuntu 16.04 и попытался настроить клиент OpenVPN. Когда я копирую файл client.conf
в папку /etc/openvpn
, соединение VPN устанавливается автоматически. Но мне нужно настроить его через графический интерфейс, и я установил network-manager-openvpn-gnome
, и я получаю меню “Импортировать сохраненную конфигурацию VPN” в вкладке выбора типа соединения… Файл профиля клиента представляет собой файл профиля автологина, загруженный с VPN-сервера.
Когда я пытаюсь импортировать client.ovpn
, я получаю ошибку, сообщающую:
“Невозможно импортировать соединение VPN”. Файл ‘client.ovpn’ не может быть прочитан или не содержит распознанной информации о подключении VPN – Ошибка: плагин не поддерживает возможность импорта.
Содержание client.ovpn
# Автоматически сгенерированный файл конфигурации клиента OpenVPN
# Сгенерировано в Sat Aug 31 16:25:23 2016 by openvpnas
# Примечание: этот файл конфигурации содержит встроенные закрытые ключи
# и, следовательно, должен оставаться конфиденциальным!
# Примечание: эта конфигурация привязана к имени пользователя, указанному ниже
# OVPN_ACCESS_SERVER_USERNAME=testuser
# Определите имя профиля этого конкретного файла конфигурации
# [email protected]/AUTOLOGIN
# OVPN_ACCESS_SERVER_AUTOLOGIN=1
# OVPN_ACCESS_SERVER_CLI_PREF_ALLOW_WEB_IMPORT=True
# OVPN_ACCESS_SERVER_CLI_PREF_BASIC_CLIENT=False
# OVPN_ACCESS_SERVER_CLI_PREF_ENABLE_CONNECT=True
# OVPN_ACCESS_SERVER_CLI_PREF_ENABLE_XD_PROXY=True
# OVPN_ACCESS_SERVER_WSHOST=vpnserver.abcde.com:444
# OVPN_ACCESS_SERVER_WEB_CA_BUNDLE_START
# -----BEGIN CERTIFICATE-----
#
# -----END CERTIFICATE-----
# -----BEGIN CERTIFICATE-----
#
# -----END CERTIFICATE-----
# -----BEGIN CERTIFICATE-----
#
# -----END CERTIFICATE-----
# OVPN_ACCESS_SERVER_WEB_CA_BUNDLE_STOP
# OVPN_ACCESS_SERVER_IS_OPENVPN_WEB_CA=0
# OVPN_ACCESS_SERVER_ORGANIZATION=VPN to BANGALORE SERVER
setenv FORWARD_COMPATIBLE 1
client
server-poll-timeout 4
nobind
remote vpnserver.abcde.com 1194 udp
remote vpnserver.abcde.com 444 tcp
dev tun
dev-type tun
ns-cert-type server
reneg-sec 604800
sndbuf 100000
rcvbuf 100000
# ПРИМЕЧАНИЕ: Команды LZO передаются сервером доступа во время подключения.
# ПРИМЕЧАНИЕ: Нижеследующая строка не отключает LZO.
comp-lzo no
verb 3
setenv PUSH_PEER_INFO
<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
</key>
key-direction 1
<tls-auth>
#
# 2048 бит OpenVPN статический ключ (серверный агент)
#
-----BEGIN OpenVPN Static key V1-----
-----END OpenVPN Static key V1-----
</tls-auth>
## -----BEGIN RSA SIGNATURE-----
## DIGEST:sha256
##
## -----END RSA SIGNATURE-----
Даже после установки всех плагинов для network-manager у меня все еще возникает эта ошибка на одном из компьютеров с версией 16.04. Но можно настроить его вручную. Вот настройки, которые мне пришлось установить вручную.
На общей странице отметьте галочку
На странице VPN введите шлюз, а также файлы вашего сертификата и ключа
Затем нажмите кнопку “Расширенные” и отметьте поле LZO.
Я не изучал ваш файл конфигурации в деталях, так что изменяйте по мере необходимости, чтобы соответствовать настройкам вашего сервера.
Вы можете попробовать разделить:
remote vpnserver.abcde.com 1194 udp
remote vpnserver.abcde.com 444 tcp
reneg-sec 604800
На:
remote vpnserver.abcde.com
port 1194
protocol udp
remote vpnserver.abcde.com
port 444
protocol tcp
Значение для reneg-sec
также может быть слишком высоким.
Что решило все мои ошибки, как у вас, так это следующая ссылка
https://protonvpn.com/support/linux-openvpn/
В основном, она предлагает также установить resolvconf
sudo apt install resolvconf
.
Ответ или решение
Проблема, с которой вы столкнулись при импорте файла конфигурации OpenVPN в графический интерфейс network-manager-openvpn-gnome на Ubuntu 16.04, довольно распространена и может быть вызвана рядом факторов. Давайте рассмотрим эту ситуацию более детально.
Теория
Одной из ключевых проблем, с которыми сталкиваются пользователи, пытаясь импортировать файлы .ovpn через network-manager-openvpn-gnome, является несоответствие формата файла требованиям интерфейса Network Manager. Network Manager ожидает определённую структуру или синтаксис файла конфигурации, и если файл этому не соответствует, он не сможет его обработать.
Ваша ошибка «Cannot import VPN connection» указывает на то, что плагин не поддерживает возможности импорта. Это происходит из-за того, что файл .ovpn не содержит некоторых ключевых данных, которые требуются для графического интерфейса. Network Manager может не распознавать некоторые настройки, особенно если конфигурация содержит специфические директивы, свойственные OpenVPN Access Server, такие как inline private keys или специфические команды environment variables.
Пример
Ваш файл .ovpn содержит следующие ключевые элементы:
- Среда исполнения пользователя: Задаёт окружение и методы аутентификации.
- Встроенные сертификаты и ключи: Включение включенных в файл сертификатов может создаёт проблемы при импорте.
- Специфические команды и параметры: Например,
reneg-sec 604800
и сложные параметры для LZO.
Что интересно, особенности сертификатов и ключей, встроенных непосредственно в файл, могут вызвать проблемы при импорте через GUI, требуя их разбиения на отдельные файлы.
Применение
Для успешного импорта конфигурационного файла OpenVPN в Network Manager требуются ручные настройки. Воспользуемся следующими шагами:
-
Разделение конфигурационного файла:
- Файл конфигурации OpenVPN может быть упрощен, разделив его на ограниченные ключевые компоненты, такие как сертификаты и ключи, в отдельные файлы. Вы можете создать три отдельных файла для
<ca>
,<cert>
и<key>
.
- Файл конфигурации OpenVPN может быть упрощен, разделив его на ограниченные ключевые компоненты, такие как сертификаты и ключи, в отдельные файлы. Вы можете создать три отдельных файла для
-
Правильная структура файла:
- Разместите
remote
директивы следующим образом, для каждой парыадрес-сервер/порт/протокол
используйте отдельные строки:remote vpnserver.abcde.com port 1194 proto udp remote vpnserver.abcde.com port 444 proto tcp
- Разместите
-
Использование Network Manager для ручной настройки:
- Перейдите в
Edit Connections…
, затем выберитеAdd
и выберитеImport a saved VPN configuration
, затем заполните вручную настройки, подгружая ваши сертификаты и ключи.
- Перейдите в
-
Установка дополнительных пакетов:
- Ранее отмечалось, что установка
resolvconf
может помочь:sudo apt install resolvconf
Это позволит корректно управлять DNS-запросами через VPN.
- Ранее отмечалось, что установка
-
Альтернативные настройки безопасности:
- Провертье правильность
reneg-sec
в соответствии с вашими требованиями и возможностями сервера. Слишком длительное время может дать сбой на некоторых версиях Network Manager.
- Провертье правильность
Заключение
Решив указать в конфигурации отдельные файлы сертификатов и ключей, а также соблюдая корректный формат параметров соединения remote
, вы должны успешно импортировать VPN-маршруты в Network Manager. Если после выполнения всех шагов проблема сохраняется, возможно стоит обновить вашу систему или рассмотреть переход с Ubuntu 16.04 на более новую версию, где поддержка VPN и OpenVPN в частности может быть более современной и без сбоев.
Этот процесс требует тщательного внимания к деталям и немного больше чем простого импорта через интерфейс, что может стать решением проблемы для большинства пользователей.