Вопрос или проблема
Я пытаюсь подключиться к рабочему VPN, который использует IPSec и предварительно разделяемый ключ. Рекомендуемый клиент – NCP Secure Entry (https://www.ncp-e.com/en/products/ipsec-vpn-client-suite/vpn-clients-for-windows-10-8-7-macos/), но версии для Linux нет.
У меня есть файл .ini, который выглядит так, как будто в нем есть вся конфигурация, необходимая для настройки соединения. Я использую strongswan
с плагином сетевого менеджера Gnome (network-manager-strongswan
).
Моя проблема в том, что strongswan (плагин UI и бэкенд) требует минимум 20 символов для PSK, а мой рабочий VPN использует PSK из 12 символов. У меня нет возможности это изменить. Это (по праву) открытая ошибка – https://bugs.launchpad.net/ubuntu/+source/network-manager-strongswan/+bug/1697536; клиент – не лучшее место для навязывания конфигурации сервера.
Есть ли способ заставить strongswan принять короткий PSK? Если нет, есть ли другой пакет, который я мог бы использовать вместо этого?
Я так расстроен, что подумываю о том, чтобы форкнуть strongswan только для того, чтобы убрать это ограничение…
Клиент Shrew Soft VPN (https://www.shrew.net/; можно установить с помощью apt install ike
и apt install ike-qtgui
) позволяет подключаться к широкому спектру IPSec VPN, включая PSK/XAuth с короткими ключами, и IKE v1 и v2. В этом отношении он более гибкий, чем Strongswan.
Мне удалось установить его и подключиться к VPN на Ubuntu 18.04, но только время от времени, и он на самом деле не передает никакой сетевой трафик. Результаты могут варьироваться.
Ответ или решение
Для подключения к IPSec VPN с использованием предварительно заданного ключа (PSK) длиной менее 20 символов на Linux, особенно с использованием клиента strongSwan и плагина Gnome Network Manager, требуется особое внимание к настройкам и возможным обходным методам.
Введение
Вы столкнулись с ограничением, установленным в клиенте strongSwan, который требует, чтобы длина PSK составляла минимум 20 символов. Это может создать проблемы, особенно если ваш рабочий VPN использует более короткий ключ. Однако существуют альтернативы и обходные пути.
1. Использование Shrew Soft VPN Client
Одним из наиболее простых решений этой проблемы является использование клиента Shrew Soft VPN. Этот клиент поддерживает IPSec со следующими возможностями:
- Поддержка коротких PSK.
- Гибкость в настройках из-за поддержки IKE v1 и v2.
Вы можете установить Shrew Soft VPN Client через пакетный менеджер Ubuntu. Выполните следующие команды в терминале:
sudo apt install ike
sudo apt install ike-qtgui
После установки выполните настройку соединения, указав ваш короткий PSK. Конфигурация может быть более интуитивно понятной в графическом интерфейсе клиентa.
2. Использование strongSwan с обходным методом
Если вы предпочитаете продолжать использовать strongSwan, есть несколько обходных путей, которые вы можете рассмотреть:
2.1. Изменение конфигурации
Хотя это может потребовать редактирования системных файлов, вы можете попробовать задать PSK вручную через конфигурацию strongSwan. Для этого выполните следующие шаги:
-
Откройте файл конфигурации
/etc/ipsec.conf
и добавьте вашу настройку:conn myvpn keyexchange=ikev2 ike=aes256-sha256-modp1024 esp=aes256-sha256 auth=pubkey right=<адрес_сервера> rightid=%<имя_пользователя> rightauth=psk left=%defaultroute leftauth=pubkey leftid=%<ваш_адрес_IP>
-
Затем убедитесь, что в файле
/etc/ipsec.secrets
ваш PSK указан следующим образом:<ваш_адрес_IP> : PSK "<ваш_короткий_PSK>"
-
Перезапустите сервис strongSwan:
sudo systemctl restart strongswan
2.2. Fork strongSwan
Если ни одно из предложенных решений не сработает, вы можете рассмотреть возможность форкинга strongSwan и изменения кода, чтобы убрать ограничение на длину PSK. Это потребует навыков программирования на C, но даст полное устранение проблемы.
Заключение
Хотя ограничение в размере PSK в strongSwan может быть разочаровывающим, использование Shrew Soft VPN Client представляет собой наиболее простой и эффективный способ подключения к вашему рабочему VPN. Если вам всё же необходимо использовать strongSwan, попытайтесь внести изменения в конфигурацию или рассмотрите форк клиента как последний вариант.
Эти шаги не только помогут вам подключиться к VPN, но и сохранят вашу продуктивность, позволяя работать с нужными инструментами.