Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
L2TP VPN на клиенте Ubuntu 18.04, UniFi Network
 
Всем привет. У меня настроен L2TP/IPSec VPN на Windows и Mac согласно официальному руководству. Но с Ubuntu 18.04 повезло меньше. Установлены network-manager-l2tp и libstrongswan-extra-plugins. xl2tpd отключён и не запущен.

Когда VPN не удаётся подключить, на USG я вижу вот что:
admin@USG:~$ sudo swanctl --log
10[ENC] invalid ID_V1 payload length, decryption failed?
10[ENC] could not decrypt payloads
10[IKE] message parsing failed

Скриншоты:  
 


Редактирование: смотрите окончательный ответ. Просто установите libreswan и уберите phase algorithms.
 
Кто-нибудь в курсе, решили ли эту проблему (в Ubuntu)? Мне всё ещё приходится перезагружать NetworkManager каждый раз, когда я отключаюсь от Unifi USG через L2TP. Спасибо!
 
Спасибо! После полного обновления и множества попыток эти настройки наконец решили проблему у меня на Debian 5.19.11-1kali2. Похоже, что после недавнего обновления что-то перестало воспринимать значения по умолчанию. Думаю, это либо сокращённый набор алгоритмов, либо настройка PPP на 128 бит — именно они помогли.
 
Для меня сработало следующее:

L2TP PPP Options  
(нажмите на изображение, чтобы увеличить и увидеть остальные опции)  
Включены только:  
MSCHAP  
MSCHAPv2  

L2TP IPsec Options  
Phase1 Algorithms: aes128-sha1-modp2048, 3des-sha1-modp1536, 3des-sha1-modp1024  
Phase2 Algorithms: aes128-sha1, 3des-shа1  

Когда я запускал sudo journalctl -f, чтобы посмотреть возможные ошибки при подключении, я получал следующее:  
"4e3bc3f3-d65d-4187-be03-befe119d6454" #3: Peer ID is ID_IPV4_ADDR: '192.168.178.12'  
"4e3bc3f3-d65d-4187-be03-befe119d6454" #3: we require IKEv1 peer to have ID 'x.x.x.x', but peer declares '192.168.178.12'  
"4e3bc3f3-d65d-4187-be03-befe119d6454" #3: sending encrypted notification INVALID_ID_INFORMATION to x.x.x.x:4500  

Эта ошибка появлялась, когда поле "Gateway ID" было пустым в настройках L2TP IPsec Options. Мне пришлось указать "Gateway ID" равным "192.168.178.12", как и требовала ошибка. После этого я смог подключиться.  

Не знаю, насколько это важно, но вот другие действия, которые я сделал:  
sudo systemctl stop xl2tpd && sudo systemctl disable xl2tpd  
sudo apt-get install libreswan libstrongswan-extra-plugins resolvconf
 
На устройствах UDM предлагаемые алгоритмы не работают. Вот рабочая конфигурация для Ubuntu 18.04. Некоторые другие методы тоже могут сработать:

07[CFG] настроенные предложения:
ESP:AES_CBC_128/HMAC_SHA1_96/MODP_2048/NO_EXT_SEQ,  
ESP:AES_CBC_256/HMAC_SHA1_96/MODP_4096/NO_EXT_SEQ,  
ESP:AES_CBC_128/HMAC_SHA1_96/MODP_1536/NO_EXT_SEQ,  
ESP:AES_CBC_256/HMAC_SHA1_96/MODP_2048/NO_EXT_SEQ,  
ESP:AES_CBC_128/HMAC_SHA1_96/MODP_1024/NO_EXT_SEQ,  
ESP:AES_CBC_256/HMAC_SHA1_96/MODP_1536/NO_EXT_SEQ,  
ESP:AES_CBC_256/HMAC_SHA1_96/MODP_1024/NO_EXT_SEQ,  
ESP:AES_CBC_128/AES_CBC_192/AES_CBC_256/HMAC_SHA2_256_128/HMAC_S­HA2_384_192/HMAC_SHA2_512_256/HMAC_SHA1_96/AES_XCBC_96/NO_EX­T_SEQ
 
Есть еще один способ подключиться, не возясь с графическим интерфейсом и если у вас Linux, который не Ubuntu. Можно использовать docker-образ для подключения, что для некоторых может быть проще. https://github.com/ubergarm/l2tp-ipsec-vpn-client

Я написал блог-пост о том, как смог подключиться на Ubuntu, прежде чем нашел эту тему. https://daveparrish.net/posts/2019-02-22-HowTo-Connect-to-L2TP-IPSec-VPN-on-Ubuntu.html
 
Что происходит, когда вы явно пытаетесь установить strongswan-starter, из-за которого появляется ошибка?  
sudo apt install strongswan-starter  
Меня бы не особо беспокоил вывод на немецком. Надеюсь, сообщение об ошибке будет более понятным и объяснит, почему этот пакет не удаётся установить.  
Также стоит попробовать выполнить sudo apt update --fix-missing, так как репозиторий обновлений upstream мог временно не синхронизироваться и сломаться.
 
Да! Вот и все. Похоже, они не хотят это чинить, потому что это не затрагивает многие пользователей; думаю, я, пожалуй, выложу руководство на этих форумах (или на форумах Ubuntu) для таких же ребят, как я.
 
Извини,  
@dkosovic,  
приходится писать снова, похоже, что в моей установке Ubuntu/Mint некоторые пакеты не были перенесены в strongswan ;( Командная строка у меня на немецком, и у меня установлен Cinnamon как графический интерфейс, но он всегда работает с пакетами GNOME.  

sudo apt-get install strongswan  
Чтение списков пакетов... Готово  
Построение дерева зависимостей  
Читается информация о состоянии... Готово  
Некоторые пакеты не могут быть установлены. Это может означать, что вы запросили невозможную комбинацию, или, если вы используете нестабильную версию, некоторые необходимые пакеты еще не созданы или не вышли из Incoming.  
Следующая информация может помочь вам решить проблему:  
Следующие пакеты имеют неудовлетворённые зависимости:  
strongswan: зависит от strongswan-charon, но он не должен быть установлен  
зависит от strongswan-starter, но он не должен быть установлен  
E: Проблемы не могут быть исправлены, у вас заблокированы дефектные пакеты.
 
Возможно, вам стоит попробовать перейти на strongswan с помощью следующего:  
sudo apt install strongswan  
Используйте значения фаз 1 и 2, которые были упомянуты пару сообщений назад с восклицательными знаками, и убедитесь, что поле Gateway ID пустое.  
Проверьте, что служба nm-l2tp-service не запущена, чтобы система могла обнаружить переход с libreswan на strongswan, выполнив:  
sudo killall -TERM nm-l2tp-service  
Надеюсь, strongswan нормально воспримет значение %any для ID, когда Gateway ID оставлено пустым. Почему libreswan этого не принимал — неясно, возможно, это связано с версией используемого вами libreswan.
 
@dkosovic

Еще раз большое спасибо, теперь всё работает. Единственное, что могу сказать — я оставил поле Gateway-ID пустым. Получается, что мне всегда сначала нужно узнать текущий ID/IP моего USG... То есть IP, который висит на Ethernet-порте, подключённом к интернету, и который выдает провайдер. К сожалению, если соединение обновляется или пропадает — а это происходит примерно каждые 24 часа — мне снова надо сначала получить IP. Это не очень удобно 🙁, но с этим можно жить... Хотя на MAC или iOS это сделать гораздо проще.

Есть у тебя какие-то идеи, как это можно решить? В любом случае, здорово, что ты помог мне найти выход, правда здорово. Спасибо, Тео.
 
Проблема следующая:  
Jan 28 19:17:57 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: нам требуется, чтобы IKEv1-пир имел ID '84.12.17.45', но пир заявляет '84.12.12.71'.
Проблема в Peer ID (то есть в ID шлюза). В диалоговом окне настроек IPsec попробуйте установить Gateway ID на 84.12.12.71.  
Если поле Gateway ID не было пустым и вы раньше действительно указывали 84.12.17.45, можно попробовать оставить поле Gateway ID пустым, чтобы оно принимало любой ID.
 
Дорогой dkosovic, спасибо еще раз, но, к сожалению, ничего не работает, я снова не могу подключиться. Я посмотрел в лог с помощью команды 'sudo journalctl --boot', может быть, ты что-то там увидишь.

Jan 28 19:17:57 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: мы требуем, чтобы IKEv1-пирингу соответствовал ID '84.12.17.45', но пир объявляет '84.12.12.71'
Jan 28 19:17:57 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: отправляю зашифрованное уведомление INVALID_ID_INFORMATION на 84.12.17.45:4500
Jan 28 19:17:58 ThinkPadX250 nm-l2tp-service[3937]: g_dbus_method_invocation_take_error: проверка 'error != NULL' провалена
Jan 28 19:17:58 ThinkPadX250 NetworkManager[997]: <info> [1548699478.4958] vpn-connection[0x5592741a6340,5d7ec4c4-255a-4757-beab-a15d13cxxxfex,"USG RB VPN",0]: плагин VPN: состояние
Jan 28 19:17:58 ThinkPadX250 NetworkManager[997]: <info> [1548699478.4975] vpn-connection[0x5592741a6340,5d7ec4c4-255a-4757-beab-a15d13cxxxfex,"USG RB VPN",0]: служба VPN пропала
Jan 28 19:17:58 ThinkPadX250 NetworkManager[997]: <warn> [1548699478.4983] vpn-connection[0x5592741a6340,5d7ec4c4-255a-4757-beab-a15d13cxxxfex,"USG RB VPN",0]: соединение VPN: ошибка
Jan 28 19:18:05 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: 2-й байт ISAKMP Hash Payload должен был быть нулём, но не был (игнорируется)
Jan 28 19:18:05 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: длина ISAKMP Hash Payload больше допустимой
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 002 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: 2-й байт ISAKMP Hash Payload должен был быть нулём, но не был (игнорируется)
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 003 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: длина ISAKMP Hash Payload больше допустимой
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 003 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: повреждённый полезный нагрузочный пакет
Jan 28 19:18:05 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: повреждённый полезный нагрузочный пакет
Jan 28 19:18:05 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: STATE_MAIN_I3: повторная передача; буду ждать 16 секунд ответа
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 010 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: STATE_MAIN_I3: повторная передача; буду ждать 16 секунд ответа
Jan 28 19:18:05 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: Peer ID — ID_IPV4_ADDR: '84.12.12.71'
Jan 28 19:18:05 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: мы требуем, чтобы IKEv1-пирингу соответствовал ID '84.12.17.45', но пир объявляет '84.12.12.71'
Jan 28 19:18:05 ThinkPadX250 pluto[4554]: "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: отправляю зашифрованное уведомление INVALID_ID_INFORMATION на 84.12.17.45:4500
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 002 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: Peer ID — ID_IPV4_ADDR: '84.12.12.71'
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 003 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: мы требуем, чтобы IKEv1-пирингу соответствовал ID '84.12.17.45', но пир объявляет '84.129.124.7
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 218 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: STATE_MAIN_I3: INVALID_ID_INFORMATION
Jan 28 19:18:05 ThinkPadX250 NetworkManager[997]: 002 "6d7dc4c6-255a-4757-beab-a15d13cxxxfex" #1: отправляю зашифрованное уведомление INVALID_ID_INFORMATION на 84.12.17.45:4500
Jan 28 19:18:20 ThinkPadX250 sudo[4589]: theo : TTY=pts/0 ; PWD=/home/theo; USER=root ; COMMAND=/bin/journalctl --boot -e
Jan 28 19:18:20 ThinkPadX250 sudo[4589]: pam_unix(sudo:session): сессия открыта для пользователя root (uid=0)

Если что-то ещё надо — дай знать!
 
3DES, modp1024, modp1536 и SHA1 считаются слабыми алгоритмами в strongswan и новых версиях libreswan, поэтому они не входят в стандартные предложения (хотя некоторые поздние версии libreswan всё ещё допускают использование modp1536 и SHA1 с IPsec IKEv1). Вы можете явно указать предложения для фазы 1 и 2 в диалоговом окне конфигурации IPsec.

Можно попробовать следующий вариант с strongswan:
Фаза 1: aes256-sha1-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1536!
Фаза 2: aes256-sha1,aes128-sha1!

Или для libreswan попробуйте:
Фаза 1: aes256-sha1-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1536
Фаза 2: aes256-sha1,aes128-sha1

Обратите внимание на восклицательный знак (!) в strongswan, который не используется в libreswan.

Если вы не уверены, используете ли libreswan или strongswan, выполните команду:
ipsec --version
 
Уважаемый dkosovic, большое спасибо за ваш отзыв. Вот что у меня получилось в выводе:

sudo ./ike-scan.sh 192.168.1.1 | grep SA=  
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)  
SA=(Enc=AES KeyLength=128 Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)  
SA=(Enc=AES KeyLength=128 Hash=SHA1 Group=5:modp1536 Auth=PSK LifeType=Seconds LifeDuration=28800)  
SA=(Enc=AES KeyLength=128 Hash=SHA1 Group=14:modp2048 Auth=PSK LifeType=Seconds LifeDuration=28800)  
SA=(Enc=AES KeyLength=256 Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)

С наилучшими пожеланиями, Тео
 
Пару поправок. Если вы не используете KDE, нужно дополнительно установить пакет network-manager-l2tp-gnome. Шифрование MPPE-128 на основе RC4 достаточно слабое и особо не нужно, если включён IPsec — он использует более надёжное шифрование.  

Следующая команда установит нужные пакеты и подтянет все зависимости:  
sudo apt install libreswan network-manager-l2tp-gnome resolvconf  

Как указано в README.md к network-manager-l2tp, в разделе «Проблема с тем, что служба xl2tpd не останавливается», выполните:  
sudo systemctl stop xl2tpd  
sudo systemctl disable xl2tpd  

Пожалуйста, запустите скрипт ike-scan.sh отсюда: https://github.com/nm-l2tp/network-manager-l2tp/wiki/Known-Issues и покажите результат. Не забудьте установить пакет ike-scan командой sudo apt install ike-scan и временно остановить ipsec с помощью sudo ipsec stop. Это нужно, чтобы проверить, предлагает ли USG только слабые алгоритмы. Если его нельзя перенастроить, скрипт подскажет, что нужно указать для фаз 1 и 2 в окне настроек IPsec в nm-l2tp.  

Также будет полезен вывод команды sudo journalctl --boot за период с запуска VPN-подключения до его отключения.
 
Спасибо большое, yochaigal. Я пробовал, но всё равно не работает. Было бы гораздо удобнее, если бы Ubiquiti предлагали пакеты с клиентом. Могу ли я что-то предоставить вам, чтобы вы посмотрели, почему это не работает? Какие логи нужны? Я уже несколько недель пытаюсь заставить это работать. С уважением, Тео.
 
Окей, вот краткое руководство для Ubuntu 18.04. Сначала убедитесь, что у вас установлены пакеты resolvconf, network-manager-l2tp и libreswan. После установки этих пакетов обязательно перезапустите NetworkManager; если у вас установлен xl2tpd, его нужно удалить или отключить. В GNOME Dash найдите «Настройки», затем кликните на «Сеть». Далее нажмите на + в разделе VPN. Выберите Layer 2 Tunneling Protocol (L2TP). Введите следующие параметры:  
Имя: SITE_NAME  
Шлюз: YOUR_IP  
Имя пользователя: ваш логин  
Пароль: ваш пароль  

Выберите «сохранить пароль для всех пользователей», если не хотите вводить его каждый раз. Нажмите «Настройки IPsec» и поставьте галочку «Включить IPsec туннель к L2TP хосту». Затем введите этот предварительный общий ключ: YOUR_PSK. Потом жмите «Опции PPP». Выберите только MSCHAP и MSCHAPv2. Поставьте галочку «Использовать шифрование Point-to-Point (MPPE)» и выберите 128-бит (самое надежное). Отметьте остальные пункты, кроме «Разрешить состояние шифрования» и «Отправлять PPP эхо-пакеты». И наконец, нажмите «Добавить» и попробуйте подключиться! Думаю, этого должно хватить.
 
Спасибо за подсказку, не мог бы кто-нибудь выложить полное решение? Какие пакеты нужны и все шаги, чтобы всё заработало... Было бы здорово. Ещё раз спасибо, Тео.
 
Можете попробовать следующее и проверить, решит ли это вашу проблему?  
sudo apt install resolvconf  
Подробности смотрите в баге Ubuntu Launchpad #1778946.
Страницы: 1 2 След.
Читают тему (гостей: 1)