Вопрос или проблема
Я хотел бы подключиться к IPSec VPN, используя современный клиент на безголовом сервере Ubuntu, работающем на Amazon AWS. Я успешно подключаюсь к этому VPN, используя древний клиент Shrew Soft VPN, с помощью следующего конфигурационного файла:
n:version:4
n:network-ike-port:500
n:network-mtu-size:1380
n:client-addr-auto:1
n:network-natt-port:4500
n:network-natt-rate:15
n:network-frag-size:540
n:network-dpd-enable:1
n:client-banner-enable:1
n:network-notify-enable:1
n:client-dns-used:1
n:client-dns-auto:1
n:client-dns-suffix-auto:1
n:client-splitdns-used:1
n:client-splitdns-auto:1
n:client-wins-used:1
n:client-wins-auto:1
n:phase1-dhgroup:0
n:phase1-keylen:0
n:phase1-life-secs:86400
n:phase1-life-kbytes:0
n:vendor-chkpt-enable:0
n:phase2-keylen:0
n:phase2-life-secs:3600
n:phase2-life-kbytes:0
n:policy-nailed:0
n:policy-list-auto:1
s:network-host:<редактировано>
s:client-auto-mode:pull
s:client-iface:virtual
s:network-natt-mode:enable
s:network-frag-mode:enable
s:auth-method:mutual-psk-xauth
s:ident-client-type:address
s:ident-server-type:any
b:auth-mutual-psk:<редактировано>
s:phase1-exchange:main
s:phase1-cipher:aes
s:phase1-hash:auto
s:phase2-transform:esp-aes
s:phase2-hmac:auto
s:ipcomp-transform:disabled
n:phase2-pfsgroup:-1
s:policy-level:auto
Однако это программное обеспечение не обновлялось с 2013 года, и мне пришлось исправить исходный код (в основном, чтобы учесть изменения в API OpenSSL), чтобы добиться успешной компиляции на Linux. У меня также есть проблемы с надежностью соединения. Тем не менее, с помощью этого я могу успешно подключаться на Linux.
У меня отдельно есть имя пользователя и пароль для XAuth. Я делал попытки с vpnc, strongswan и libreswan. В всех случаях успешный обмен ключом ikev, после чего сервер перестает отвечать.
Какой клиент мне следует использовать и как я могу настроить его для подключения с эквивалентными настройками?
Ответ или решение
Чтобы подключиться к IPSec VPN на сервере Ubuntu без графического интерфейса, с настройками, эквивалентными конфигурации клиента Shrew Soft, вы можете использовать StrongSwan. Это современный и активно поддерживаемый VPN-клиент, который имеет обширную документацию и активно используется в сообществе.
Установка StrongSwan
-
Обновите списки пакетов и установите StrongSwan:
sudo apt update sudo apt install strongswan strongswan-gnutls
-
Убедитесь, что у вас установлены необходимые пакеты для поддержки IKEv2 с использованием XAuth.
Настройка StrongSwan
Перейдите к конфигурации StrongSwan, изменив два основных файла: ipsec.conf
и ipsec.secrets
.
1. Файл конфигурации /etc/strongswan/ipsec.conf
Создайте или измените файл ipsec.conf
, чтобы он содержал следующую конфигурацию:
config setup
charonstart = yes
uniqueids = no
conn %default
keyexchange = ikev1
ikelifetime = 86400s
keylife = 3600s
rekeymargin = 3m
keyingtries = 1
authby = psk
nat_traversal = yes
forceencaps = yes
conn myvpn
right=<redacted>
rightid=%any
rightsubnet=0.0.0.0/0
rightauth=pubkey,xauth
leftsendcert=never
leftauth=xauthpsk
left=%defaultroute
leftsubnet=0.0.0.0/0
auto=start
Параметр right
следует установить на адрес вашего VPN-сервера (замените <redacted>
).
2. Файл секретов /etc/strongswan/ipsec.secrets
Теперь добавьте свои учетные данные в файл ipsec.secrets
:
: PSK "<redacted>"
<username> : XAUTH "<password>"
Замените <redacted>
, <username>
, и <password>
на ваши реальные данные.
Запуск и проверка подключения
После настройки конфигурации выполните следующие команды, чтобы перезапустить службу StrongSwan:
sudo systemctl restart strongswan
Чтобы проверить статус сервиса и убедиться, что он работает корректно, выполните:
sudo systemctl status strongswan
Для интеграции с вашим VPN, воспользуйтесь командой для инициации подключения:
sudo ipsec up myvpn
Диагностика
Если вы испытываете трудности с подключением, проверьте логи StrongSwan для получения более подробной информации об ошибках:
sudo journalctl -u strongswan
Итак, сделав все вышеперечисленное, вы сможете подключиться к вашим IPSec VPN с помощью StrongSwan, аналогично тому, как это делал клиент Shrew Soft. Эта инструкция позволяет вам преодолеть ограничения устаревшего программного обеспечения и обеспечить надежную связь в современном окружении.