Comments 166
Спасибо. К сожалению, вы ошиблись — я любитель WP, а инструкциями для blackberry приходилось пользоваться за неимением других. Но я знаю, где найти подопытного кролика, stay tuned.
Я опоздал на 2 года и BlackBerry 10 уже при смерти, но вот :D
Инструкция в одном скриншоте

Я уже успел купить Blackberry и написать в wiki strongSwan:
https://wiki.strongswan.org/projects/strongswan/wiki/BlackBerry
https://wiki.strongswan.org/projects/strongswan/wiki/BlackBerry
А чем так плохо использовать PSK? Лениво мне файлы какие-то раздавать, намного проще выдать логин, пароль,PSK.
Все равно придется установить CA в устройство, чтобы защититься от MITM, ну или публичный ключ засовывать в IPSECKEY, но это малое количество клиентов поддерживают. Да и логины-пароли мне никогда не нравились, ключ в качестве средства аутентификации, я считаю, много лучше.
Все равно придется установить CA в устройство
Зачем? Иначе не избежать mitm?
Я-то как раз люблю ipsec за то что настройках на Android/ios/macos занимает пару секунд. Нет ничего проще для ios, вбил четыре значения и готово:

А сертификаты генерировать, расшаривать, устанавливать.
Зачем? Иначе не избежать mitm?Нет, прошу прощения, я был неправ. CA устанавливать не нужно, т.к. никаких ключей-то нет. Но в случае PSK, злоумышленник, перехватив ваш трафик, может поймать процесс хендшейка и побрутить ваш PSK (см. Don’t stop using IPsec just yet), чего он сделать с использованием ключей не сможет. Ну и, конечно же, это совершенно не подходит для защиты публичных сервисов, т.к. здесь, как раз, можно сделать MITM (если PSK известный и один на всех).
Кстати, можно использовать не только RSA, но и ECDSA-ключи.
Только в OS X не работает split-dns и не поддерживает IKEv2, который защищён от MitM благодаря серверному сертификату.
Уже почти поддерживает
www.ietf.org/mail-archive/web/ipsec/current/msg09931.html
www.ietf.org/mail-archive/web/ipsec/current/msg09931.html
Круто, спасибо за информацию!
Главное чтобы в этот раз они нормально сделали split-tunnel, а то после Lion он перестал работать. Вы случайно не в курсе, стандарт эту штуку предусматривает?
Может кто подскажет, как завести родной IKEv2 клиент Windows 7> вообще без ключей?
Клиент без проблем авторизируется с
А вот сервер только с
Попытки вписать туда чего-то другое приводят к ошибкам (о не поддерживаемости такого типа авторизации), а с psk соединение в винде зависает на моменте проверки имени/пароля, не отменяется, лечится перезагрузкой!
Клиент без проблем авторизируется с
rightauth=eap-mschapv2
А вот сервер только с
leftauth=pubkey
Попытки вписать туда чего-то другое приводят к ошибкам (о не поддерживаемости такого типа авторизации), а с psk соединение в винде зависает на моменте проверки имени/пароля, не отменяется, лечится перезагрузкой!
Влад, спасибо. Как раз на днях раздумывал чем же поудобнее и поуниверсальнее реализовать впн для личных нужд. По традиции я буду это делать именно под OpenVZ на 2.6.32 :)
Пара вопросов:
— насколько IPSec критичен к качеству канала?
— насколько большой оверхэд относительно других методов?
Пара вопросов:
— насколько IPSec критичен к качеству канала?
— насколько большой оверхэд относительно других методов?
— насколько IPSec критичен к качеству канала?Я бы не сказал, что критичен. В IKEv2 есть механизм MOBIKE, который реализует мультихоминг и роуминг, так что переподключения вообще практически незаметны.
— насколько большой оверхэд относительно других методов?Приблизительно такой же, как у OpenVPN, т.е. 8+20+20+16+2+12=78, ну и еще padding, получается где-то 80-90 байт.
Посмотрел подробнее — на маке все очень печально. Из коробки только IKEv1. У strongSwan есть приложение на мак, но у меня оно не запускается, возможно потому, что в требованиях указаны OS X 10.7 и 10.8, а актуальные сейчас 10.9 и 10.10. Остается только вариант ставить strongSwan из портов и настраивать все вручную, что на клиенте бы не очень хотелось. Да и даже в этом случае MOBIKE не поддерживается полностью из-за ограничений ядра.
В iOS8 уже можно использовать IKEv2, так что не за горами и OS X (как мне кажется).
А вы не использовали SoftEther VPN?
Интересно сравнение производительности.
Интересно сравнение производительности.
альтернативой OpenVPN, который любят многие администраторыЯ люблю OpenVPN за то, что он ходит через прокси, включая HTTP-прокси, это его самое-самое большое преимущество, IMHO.
ValdikSS а приходилось ли делать ipsec failover? Если приходилось не прошу запилить пост об ipsec HA.
На железках типо Juniper SRX или Cisco это делается достаточно просто. А вот на Linux так до конца и не раскурил… Может чего посоветуете.
Интересует следующий случай:
с одной стороны стоит Juniper с двумя независимыми интернетами с другой стороны Linux. Между ними ipsec туннель, не могу понять как сделать так что если один ISP не работал со стороны Juniper туннель поднимался через другой ISP.
На железках типо Juniper SRX или Cisco это делается достаточно просто. А вот на Linux так до конца и не раскурил… Может чего посоветуете.
Интересует следующий случай:
с одной стороны стоит Juniper с двумя независимыми интернетами с другой стороны Linux. Между ними ipsec туннель, не могу понять как сделать так что если один ISP не работал со стороны Juniper туннель поднимался через другой ISP.
поднять два тоннеля, выбирать нужный посредством динамической маршрутизации?
Мне не приходилось, но вот здесь есть подробная инструкция, правда, не только для failover, но и для бондинга каналов: wiki.strongswan.org/projects/strongswan/wiki/HighAvailability
Вообще, должно заработать без всяких настроек, если включен MOBIKE и используется IKEv2.
Вообще, должно заработать без всяких настроек, если включен MOBIKE и используется IKEv2.
Их довольно много, но полноценных и активных на данный момент всего два: strongSwan и libreswan. Вторым я не пользовался, ничего сказать о нем не могу, зато первый — прекрасный и удивительный,Второй конечно менее функциональный, и хуже документирован, но в некоторых случая работает лучше. Например, стабильное и непадающее соединение к Dell SonicWALL у меня получилось поднять только на нём. Дальше, недавно словил багу в strongSwan, когда в процессе rekey-инга соединение падает. Как оказалось, открытый, и очень редкий баг. Race condition. Лечится отключением оного.
А в чём преимущество перед OpenVPN? Я так понимаю, основное теоретически в том, что IPsec поддерживается «из коробки», но, судя по комментариям, теория и практика опять сильно отличаются… и тогда становится совсем не понятно, чего ради связываться с IPsec.
Есть устройства, например, Blackberry и Windows Phone, для которых нет клиента OpenVPN. Ну и роутеры.
Клиент OpenVPN для Windows Phone вроде бы есть.
Что касается роутеров — для OpenWRT есть пакет openvpn (только что посмотрел), для цисковских роутеров тоже есть поддержка (не факт, конечно, что для всех моделей), а для основной массы домашних «коробочек» владельцы которых не настолько сильно волнуются о безопасности чтобы ставить openwrt — сойдёт и pptp, потому что и ключ и сертификат для ipsec у них при желании всё-равно украдут прямо с роутера.
Что касается роутеров — для OpenWRT есть пакет openvpn (только что посмотрел), для цисковских роутеров тоже есть поддержка (не факт, конечно, что для всех моделей), а для основной массы домашних «коробочек» владельцы которых не настолько сильно волнуются о безопасности чтобы ставить openwrt — сойдёт и pptp, потому что и ключ и сертификат для ipsec у них при желании всё-равно украдут прямо с роутера.
Как и хабраюзер vsb, я ушёл со StrongSWAN на OpenVPN (вот сегодня как раз закончил миграцию). StrongSWAN у меня прожил добрых два года и вот месяц назад я принял волевое решение поиска альтернативы.
Какие уроки я выучил:
Я не хочу сказать, что StrongSWAN хуже OpenVPN! Просто он под другие задачи и высказывание:
не есть корректным из-за проблемности NAT. Я не слышал о VPN-провайдерах, которые бы использовали IPsec, думаю из-за вышеизложенных проблем.
Для чего нужен StrongSWAN? Для построения инфраструктуры, когда у вас есть чётко выраженные шлюзы. Например, соединить N датацентров.
Я бы не рекомендовал использовать StrongSWAN на конечных устройствах — это доставляет очень много боли.
Какие уроки я выучил:
- StrongSWAN очень гибок — просто масса вариантов выстрелить себе в ногу.
- Клиенты для StrongSWAN есть большие и разные и у каждого свои тараканы
- iOS поддерживает только IKEv1
- Android и iOS не поддерживают ECDSA и прочие радости жизни (только RSA), поэтому уже было настроив всё я был вынужден пересоздавать PKI ибо у меня даже CA был на ECDSA
- iOS поддерживает только SHA1 в качестве хеш-функции (и снова я пересоздавал PKI...)
- для iOS пришлось всё равно пересобрать сервер StrongSWAN с патчем xauth-noauth (как описано в статье)
- и снова iOS — несмотря на то, что я собрал CA сертификат, сертификат пользователя и ключ пользователя в .p12 — сертификат СА пришлось импортировать отдельно...
- Дальше я нашёл себе другую проблему — чтобы была возможность подключиться нескольким клиентам за одним NAT нужно сделать локальную ноду, к которой будут подключаться клиенты локальной сети, или станцевать вокруг роутера, а именно, отключить VPN passthrough (этот способ я не испытал на себе). По большому счёту — это не вина StrongSWAN или протокола, просто у него другие задачи.
- И последнее — 500 UDP, 4500 UDP — эти два порта нельзя (можно, но с перекомпиляцией) сконфигурировать и как-то у меня так по жизни сожилось, что я попадал в сети, где по каким-либо причинам, но хотябы один порт, да был закрыт. И тут я тоже не обошёл грабли — сначала я пересобрал StrongSWAN с другими портами, а потом понял, что для Android прийдётся клиента тоже пересобирать… (а для iOS и вообще ничего позитивного не обещили в этом плане).
Я не хочу сказать, что StrongSWAN хуже OpenVPN! Просто он под другие задачи и высказывание:
IPsec, по моему мнению, является замечательной альтернативой OpenVPN, который любят многие администраторы. Почему большинство VPN-провайдеров все еще используют L2TP+IPsec для меня остается загадкой, т.к. strongSwan предоставляет всю необходимую функциональность для такого рода серивисов
не есть корректным из-за проблемности NAT. Я не слышал о VPN-провайдерах, которые бы использовали IPsec, думаю из-за вышеизложенных проблем.
Для чего нужен StrongSWAN? Для построения инфраструктуры, когда у вас есть чётко выраженные шлюзы. Например, соединить N датацентров.
Я бы не рекомендовал использовать StrongSWAN на конечных устройствах — это доставляет очень много боли.
iOS поддерживает только IKEv1iOS 8 поддерживает IKEv2, но только через провизинг, через интерфейс нельзя настроить.
Android и iOS не поддерживают ECDSA и прочие радости жизни (только RSA), поэтому уже было настроив всё я был вынужден пересоздавать PKI ибо у меня даже CA был на ECDSAНо, ведь, и актуальная версия OpenVPN тоже не поддерживает ECDSA.
iOS поддерживает только SHA1 в качестве хеш-функции (и снова я пересоздавал PKI...)Точно не уверен, нужно уточнить. Тестировали, вроде, на iOS 8, работал сертификат с SHA256.
для iOS пришлось всё равно пересобрать сервер StrongSWAN с патчем xauth-noauth (как описано в статье)Вот это действительно неудобство, согласен
и снова iOS — несмотря на то, что я собрал CA сертификат, сертификат пользователя и ключ пользователя в .p12 — сертификат СА пришлось импортировать отдельно...Известный баг, к сожалению. Об этом написано в wiki strongSwan.
По поводу пункта 3 ничего сказать не могу, я использую IPsec исключительно через UDP-инкапсуляцию, и не сталкивался с проблемами, описанными вами в пункте 4. Быть может, проблема из-за фрагментации была?
Я не призываю использовать исключительно IPsec. Действительно, почти везде практичней использовать OpenVPN, т.к. у него больше шансов заработать в зафильтрованных сетях, но для многих является плюсом то, что соединение можно настроить через стандартные средства ОС.
К слову, VPN-сервисов с L2TP+IPsec полно.
iOS 8 поддерживает IKEv2, но только через провизинг, через интерфейс нельзя настроить.
«Очень удобно»…
Точно не уверен, нужно уточнить. Тестировали, вроде, на iOS 8, работал сертификат с SHA256.
Я на iOS 8.0 тогда настраивал, так что если и добавили, то в 8.1+
По поводу пункта 3 ничего сказать не могу, я использую IPsec исключительно через UDP-инкапсуляцию, и не сталкивался с проблемами, описанными вами в пункте 4. Быть может, проблема из-за фрагментации была?
Да, я тоже использую UDP и грабли разложены в двух местах:
- фрагментация
- Некоторые роутеры настроены по умолчанию для VPN пакетов заменять только source IP, таким образом от двух клиентов за NAT приходят «неотличимые» запросы и когда приходит ответ NAT отвечает только одному клиенту
- А ещё в 5.1.0 исправили политики для IKEv1, что привело работающие решения в неработающие.
Некоторые роутеры настроены по умолчанию для VPN пакетов заменять только source IP, таким образом от двух клиентов за NAT приходят «неотличимые» запросы и когда приходит ответ NAT отвечает только одному клиентуВ рассылке говорится о L2TP+IPsec, а он работает в транспортном режиме, а не туннельном, но раз вы говорите, что отказались от IPsec из-за этой проблемы, то она, вероятно, частая, хоть я с ней (пока) не сталкивался.
В iOS ≥ 9 сделали нормальный ikev2.
Спасибо огромное за статью, давно ждал именно этой темы. Какое-то время назад для себя настраивал туннель по wiki проекта в связи с тем, что Windows Phone в первую очередь появилась поддержка только IKEv2. В процессе чего обнаружил несколько важных моментов, применимых к windows-клиентам (настраивал PSK авторизацию):
Вдруг это кому-нибудь поможет.
А еще хотелось бы попросить, показать или указать на материалы, как правильно дать доступ из тоннеля во внешнюю сеть, и еще разрешить клиентам обмениваться данными между собой. Потому что использовать следующее, как вариант решения первой проблемы, вроде бы абсолютно неправильно:
Спасибо!
- Серверный сертификат должен обладать x509 v3 extension IKE-посредника(1.3.6.1.5.5.8.2.2).
- CA сертификат от серверного должен присутствовать на клиенте. Self-signed, насколько я помню, не подходил.
Вдруг это кому-нибудь поможет.
А еще хотелось бы попросить, показать или указать на материалы, как правильно дать доступ из тоннеля во внешнюю сеть, и еще разрешить клиентам обмениваться данными между собой. Потому что использовать следующее, как вариант решения первой проблемы, вроде бы абсолютно неправильно:
iptables -t nat -A POSTROUTING -j MASQUERADE
Спасибо!
Серверный сертификат должен обладать x509 v3 extension IKE-посредника(1.3.6.1.5.5.8.2.2).Это очень, очень старый EKU. Мы с разработчиком Easy-RSA и ребятами из #strongswan@freenode, после чтения RFC, сошлись во мнении, что нужно использовать 1.3.6.1.5.5.7.3.17. Работает, вроде бы, везде, кроме старых OS X. Я вот не помню, проверял ли я на Windows Phone, но на iOS, Windows, Linux и Android работает точно. easy-rsa-ipsec генерирует именно такие сертификаты.
CA сертификат от серверного должен присутствовать на клиенте. Self-signed, насколько я помню, не подходил.Мы тестировали на Windows Phone 8, все замечательно работало с Self-Signed CA, естественно, предварительно импортированным. Забавно то, что в Windows Phone удалить импортированные сертификаты нельзя, там их теперь буквально куча.
А еще хотелось бы попросить, показать или указать на материалы, как правильно дать доступ из тоннеля во внешнюю сеть, и еще разрешить клиентам обмениваться данными между собой.iptables -m policy --pol ipsec выбирает трафик уже после расшифровывания, поэтому рекомендую использовать что-то вроде:
# iptables -t nat -I POSTROUTING -m policy --pol ipsec --dir out -j MASQUERADE
Можете еще дополнительно фильтровать по интерфейсам или диапазонам.Потому что использовать следующее, как вариант решения первой проблемы, вроде бы абсолютно неправильноЯ рассказывал об этом в статье «Как IPv6 помогает роутеры ломать»
Эх, нету счастья.
Во-первых, версия 5.2, которую вы обсуждаете, отсуствует в репозиториях (например, для Ubuntu 14 LTS, которой я пользуюсь на Amazon AWS).
Во-вторых, у вас в /etc/ipsec.conf ошибка с отступами в районе строки №16, которая не даёт запустить сервис.
В третьих, вы экспортируете ключ в формате p12, который не кушает Windows Phone (ему cer подавай).
В четвёртых, на Windows 8.1 при попытке подключения выдаёт
Если запустить ipsec с ключом --nofork, получаем на экране
Во-первых, версия 5.2, которую вы обсуждаете, отсуствует в репозиториях (например, для Ubuntu 14 LTS, которой я пользуюсь на Amazon AWS).
Во-вторых, у вас в /etc/ipsec.conf ошибка с отступами в районе строки №16, которая не даёт запустить сервис.
В третьих, вы экспортируете ключ в формате p12, который не кушает Windows Phone (ему cer подавай).
В четвёртых, на Windows 8.1 при попытке подключения выдаёт
Error Code: 13801
Error Description: 13801: IKE authentication credentials are unacceptable.
Possible Causes: This error usually comes in one of the following cases:
1.The machine certificate used for IKEv2 validation on RAS Server does not have 'Server Authentication' as the EKU (Enhanced Key Usage).
2.The machine certificate on RAS server has expired.
3.The root certificate to validate the RAS server certificate is not present on the client.
4.VPN Server Name as given on client doesn’t match with the subjectName of the server certificate.
Если запустить ipsec с ключом --nofork, получаем на экране
05[CFG] selected peer config 'ikev2-pubkey' 05[CFG] using certificate "CN=client1" 05[CFG] using trusted ca certificate "CN=IPSec CA" 05[CFG] checking certificate status of "CN=client1" 05[CFG] certificate status is not available 05[CFG] reached self-signed root ca with a path length of 0 05[IKE] authentication of 'CN=client1' with RSA signature successful 05[IKE] peer supports MOBIKE 05[IKE] no private key found for 'CN=aws.bougakov.com' 05[ENC] generating IKE_AUTH response 1 [ N(AUTH_FAILED) ] 05[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (76 bytes)
И ещё вопрос — не надо ли менять настройку ip_forward, как описано в конце этого вот руководства? www.zeitgeist.se/2013/11/22/strongswan-howto-create-your-own-vpn/
Во-вторых, у вас в /etc/ipsec.conf ошибка с отступами в районе строки №16, которая не даёт запустить сервис.Хм, только что проверил — все отлично. Может, скопировали что-то не так?
05[IKE] no private key found for 'CN=aws.bougakov.com'Приватный ключ сервера положите в /etc/ipsec.d/private/
В третьих, вы экспортируете ключ в формате p12, который не кушает Windows Phone (ему cer подавай).Тестировали на Windows Phone 8, p12 замечально импортируется.
Скопировал и вставил в PuTTY как есть, получив
Ключ в /etc/ipsec.d/private/ лежит.
Ключик в формате p12 положил в корень вебсервера на машине, где установлен strongswan, при открытии его браузером получаю «крокозябры» вместо предложения установить сертификат, как это происходит с cer-файлами.
/etc/ipsec.conf:16: syntax error, unexpected FIRST_SPACES [ ]Впрочем, удаление пустых строк и комментариев решило проблему.
Ключ в /etc/ipsec.d/private/ лежит.
Скрытый текст
root@ip-172-31-28-135:/etc/ipsec.d/private# ls -la
total 12
drwx------ 2 root root 4096 Feb 19 20:12.
drwxr-xr-x 11 root root 4096 Dec 6 23:04…
-rw------- 1 root root 1704 Feb 19 20:12 aws.bougakov.com.key
root@ip-172-31-28-135:/etc/ipsec.d/private# cat aws.bougakov.com.key
-----BEGIN PRIVATE KEY-----
...
total 12
drwx------ 2 root root 4096 Feb 19 20:12.
drwxr-xr-x 11 root root 4096 Dec 6 23:04…
-rw------- 1 root root 1704 Feb 19 20:12 aws.bougakov.com.key
root@ip-172-31-28-135:/etc/ipsec.d/private# cat aws.bougakov.com.key
-----BEGIN PRIVATE KEY-----
...
Ключик в формате p12 положил в корень вебсервера на машине, где установлен strongswan, при открытии его браузером получаю «крокозябры» вместо предложения установить сертификат, как это происходит с cer-файлами.
Ну а в /etc/ipsec.secrets он добавлен?
: RSA aws.bougakov.com.key
Вы правы, у меня в имени файла с ключом ошибка, вместо key было расширение pem.
Сертификат в формате p12 удалось импортировать, выслав его на почту — таким манером он установился сразу.
Сертификат в формате p12 удалось импортировать, выслав его на почту — таким манером он установился сразу.
К сожалению, Windows Phone отвечает до боли знакомым «Attention required» при попытке поднять соединение:
VPN-соединение в десктопной Windows устанавливается, выдаётся IP-адрес 192.168.103.1, но интернет при этом становится недоступным.
Скрытый текст
root@ip-172-31-28-135:/etc/ipsec.d/private# ipsec start --nofork Starting strongSwan 5.1.2 IPsec [starter]... 00[DMN] Starting IKE charon daemon (strongSwan 5.1.2, Linux 3.13.0-44-generic, x86_64) 00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts' 00[CFG] loaded ca certificate "CN=IPSec CA" from '/etc/ipsec.d/cacerts/ca.crt' 00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts' 00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts' 00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts' 00[CFG] loading crls from '/etc/ipsec.d/crls' 00[CFG] loading secrets from '/etc/ipsec.secrets' 00[CFG] expanding file expression '/var/lib/strongswan/ipsec.secrets.inc' failed 00[CFG] loaded RSA private key from '/etc/ipsec.d/private/aws.bougakov.com.key' 00[LIB] loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 rdrand random nonce x509 revocation constraints pkcs1 pkcs7 pkcs8 pkcs12 pem openssl xcbc cmac hmac ctr ccm gcm attr kernel-netlink resolve socket-default stroke updown eap-identity eap-mschapv2 addrblock 00[LIB] unable to load 5 plugin features (5 due to unmet dependencies) 00[LIB] dropped capabilities, running as uid 0, gid 0 00[JOB] spawning 16 worker threads charon (2462) started after 20 ms 11[CFG] received stroke: add connection 'ikev2-pubkey' 11[CFG] left nor right host is our side, assuming left=local 11[CFG] adding virtual IP address pool 192.168.103.0/24 11[CFG] adding virtual IP address pool 2002:25f7:7489:3::/112 11[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 11[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 11[CFG] added configuration 'ikev2-pubkey' 13[CFG] received stroke: add connection 'ikev1-fakexauth' 13[CFG] left nor right host is our side, assuming left=local 13[CFG] reusing virtual IP address pool 192.168.103.0/24 13[CFG] reusing virtual IP address pool 2002:25f7:7489:3::/112 13[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 13[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 13[CFG] added configuration 'ikev1-fakexauth' 15[CFG] received stroke: add connection 'ikev2-eap-tls' 15[CFG] left nor right host is our side, assuming left=local 15[CFG] reusing virtual IP address pool 192.168.103.0/24 15[CFG] reusing virtual IP address pool 2002:25f7:7489:3::/112 15[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 15[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 15[CFG] added configuration 'ikev2-eap-tls' 06[NET] received packet: from 5.228.173.181[500] to 172.31.28.135[500] (616 bytes) 06[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 06[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09 06[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20 06[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19 06[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02 06[IKE] 5.228.173.181 is initiating an IKE_SA 06[IKE] local host is behind NAT, sending keep alives 06[IKE] remote host is behind NAT 06[IKE] sending cert request for "CN=IPSec CA" 06[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] 06[NET] sending packet: from 172.31.28.135[500] to 5.228.173.181[500] (337 bytes) 05[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (1116 bytes) 05[ENC] parsed IKE_AUTH request 1 [ IDi CERTREQ N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV ADDR6 DNS6 SRV6) SA TSi TSr ] 05[IKE] received cert request for "CN=IPSec CA" 05[IKE] received 38 cert requests for an unknown ca 05[CFG] looking for peer configs matching 172.31.28.135[%any]...5.228.173.181[192.168.10.6] 05[CFG] selected peer config 'ikev2-pubkey' 05[IKE] peer requested EAP, config inacceptable 05[CFG] switching to peer config 'ikev2-eap-tls' 05[IKE] loading EAP_TLS method failed 05[IKE] peer supports MOBIKE 05[ENC] generating IKE_AUTH response 1 [ IDr EAP/FAIL ] 05[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (108 bytes) 02[NET] received packet: from 195.16.111.170[24006] to 172.31.28.135[500] (616 bytes) 02[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 02[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09 02[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20 02[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19 02[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02 02[IKE] 195.16.111.170 is initiating an IKE_SA 02[IKE] local host is behind NAT, sending keep alives 02[IKE] remote host is behind NAT 02[IKE] sending cert request for "CN=IPSec CA" 02[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] 02[NET] sending packet: from 172.31.28.135[500] to 195.16.111.170[24006] (337 bytes) 01[NET] received packet: from 195.16.111.170[24006] to 172.31.28.135[500] (616 bytes) 01[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 01[IKE] received retransmit of request with ID 0, retransmitting response 01[NET] sending packet: from 172.31.28.135[500] to 195.16.111.170[24006] (337 bytes) 12[NET] received packet: from 195.16.111.170[24006] to 172.31.28.135[500] (616 bytes) 12[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 12[IKE] received retransmit of request with ID 0, retransmitting response 12[NET] sending packet: from 172.31.28.135[500] to 195.16.111.170[24006] (337 bytes)
VPN-соединение в десктопной Windows устанавливается, выдаётся IP-адрес 192.168.103.1, но интернет при этом становится недоступным.
Скрытый текст
root@ip-172-31-28-135:/home/ubuntu/easy-rsa-ipsec/easyrsa3# ipsec start --nofork Starting strongSwan 5.1.2 IPsec [starter]... 00[DMN] Starting IKE charon daemon (strongSwan 5.1.2, Linux 3.13.0-44-generic, x86_64) 00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts' 00[CFG] loaded ca certificate "CN=IPSec CA" from '/etc/ipsec.d/cacerts/ca.crt' 00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts' 00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts' 00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts' 00[CFG] loading crls from '/etc/ipsec.d/crls' 00[CFG] loading secrets from '/etc/ipsec.secrets' 00[CFG] expanding file expression '/var/lib/strongswan/ipsec.secrets.inc' failed 00[CFG] loaded RSA private key from '/etc/ipsec.d/private/aws.bougakov.com.key' 00[LIB] loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 rdrand random nonce x509 revocation constraints pkcs1 pkcs7 pkcs8 pkcs12 pem openssl xcbc cmac hmac ctr ccm gcm attr kernel-netlink resolve socket-default stroke updown eap-identity eap-mschapv2 addrblock 00[LIB] unable to load 5 plugin features (5 due to unmet dependencies) 00[LIB] dropped capabilities, running as uid 0, gid 0 00[JOB] spawning 16 worker threads charon (2514) started after 20 ms 11[CFG] received stroke: add connection 'ikev2-pubkey' 11[CFG] left nor right host is our side, assuming left=local 11[CFG] adding virtual IP address pool 192.168.103.0/24 11[CFG] adding virtual IP address pool 2002:25f7:7489:3::/112 11[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 11[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 11[CFG] added configuration 'ikev2-pubkey' 13[CFG] received stroke: add connection 'ikev1-fakexauth' 13[CFG] left nor right host is our side, assuming left=local 13[CFG] reusing virtual IP address pool 192.168.103.0/24 13[CFG] reusing virtual IP address pool 2002:25f7:7489:3::/112 13[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 13[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 13[CFG] added configuration 'ikev1-fakexauth' 15[CFG] received stroke: add connection 'ikev2-eap-tls' 15[CFG] left nor right host is our side, assuming left=local 15[CFG] reusing virtual IP address pool 192.168.103.0/24 15[CFG] reusing virtual IP address pool 2002:25f7:7489:3::/112 15[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 15[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 15[CFG] added configuration 'ikev2-eap-tls' 06[NET] received packet: from 5.228.173.181[500] to 172.31.28.135[500] (880 bytes) 06[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 06[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09 06[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20 06[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19 06[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02 06[IKE] 5.228.173.181 is initiating an IKE_SA 06[IKE] local host is behind NAT, sending keep alives 06[IKE] remote host is behind NAT 06[IKE] sending cert request for "CN=IPSec CA" 06[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] 06[NET] sending packet: from 172.31.28.135[500] to 5.228.173.181[500] (337 bytes) 05[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (2684 bytes) 05[ENC] parsed IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV) SA TSi TSr ] 05[IKE] received cert request for "CN=IPSec CA" 05[IKE] received 58 cert requests for an unknown ca 05[IKE] received end entity cert "CN=client1" 05[CFG] looking for peer configs matching 172.31.28.135[%any]...5.228.173.181[CN=client1] 05[CFG] selected peer config 'ikev2-pubkey' 05[CFG] using certificate "CN=client1" 05[CFG] using trusted ca certificate "CN=IPSec CA" 05[CFG] checking certificate status of "CN=client1" 05[CFG] certificate status is not available 05[CFG] reached self-signed root ca with a path length of 0 05[IKE] authentication of 'CN=client1' with RSA signature successful 05[IKE] peer supports MOBIKE 05[IKE] authentication of 'CN=aws.bougakov.com' (myself) with RSA signature successful 05[IKE] IKE_SA ikev2-pubkey[1] established between 172.31.28.135[CN=aws.bougakov.com]...5.228.173.181[CN=client1] 05[IKE] scheduling reauthentication in 10186s 05[IKE] maximum IKE_SA lifetime 10726s 05[IKE] sending end entity cert "CN=aws.bougakov.com" 05[IKE] peer requested virtual IP %any 05[CFG] assigning new lease to 'CN=client1' 05[IKE] assigning virtual IP 192.168.103.1 to peer 'CN=client1' 05[IKE] CHILD_SA ikev2-pubkey{1} established with SPIs c90a27be_i a48883c6_o and TS 0.0.0.0/0 === 192.168.103.1/32 05[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH CPRP(ADDR DNS DNS6) SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(NO_ADD_ADDR) ] 05[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1404 bytes) 03[IKE] sending keep alive to 5.228.173.181[4500]
05[IKE] loading EAP_TLS method failed
Терпеть не могу чрезмерную модульность в Ubuntu.
apt-get install strongswan-plugin-eap-tls
но интернет при этом становится недоступнымВы настроили NAT? В статье описывается только настройка IPsec, подразумевая, что читатель умеет настраивать NAT.
iptables -t nat -I POSTROUTING -m policy --pol ipsec --dir out -j MASQUERADE
sysctl net.ipv4.ip_forward=1
Могу покляться, что ставил plugin-eap-tls. Впрочем, и с переустановкой — «Attention required», ошибка #860:
Скрытый текст
root@ip-172-31-28-135:/home/ubuntu/easy-rsa-ipsec/easyrsa3# ipsec start --nofork Starting strongSwan 5.1.2 IPsec [starter]... 00[DMN] Starting IKE charon daemon (strongSwan 5.1.2, Linux 3.13.0-44-generic, x86_64) 00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts' 00[CFG] loaded ca certificate "CN=IPSec CA" from '/etc/ipsec.d/cacerts/ca.crt' 00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts' 00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts' 00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts' 00[CFG] loading crls from '/etc/ipsec.d/crls' 00[CFG] loading secrets from '/etc/ipsec.secrets' 00[CFG] expanding file expression '/var/lib/strongswan/ipsec.secrets.inc' failed 00[CFG] loaded RSA private key from '/etc/ipsec.d/private/aws.bougakov.com.key' 00[LIB] loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 rdrand random nonce x509 revocation constraints pkcs1 pkcs7 pkcs8 pkcs12 pem openssl xcbc cmac hmac ctr ccm gcm attr kernel-netlink resolve socket-default stroke updown eap-identity eap-mschapv2 eap-tls addrblock 00[LIB] unable to load 5 plugin features (5 due to unmet dependencies) 00[LIB] dropped capabilities, running as uid 0, gid 0 00[JOB] spawning 16 worker threads charon (2656) started after 20 ms 11[CFG] received stroke: add connection 'ikev2-pubkey' 11[CFG] left nor right host is our side, assuming left=local 11[CFG] adding virtual IP address pool 192.168.103.0/24 11[CFG] adding virtual IP address pool 2002:25f7:7489:3::/112 11[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 11[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 11[CFG] added configuration 'ikev2-pubkey' 13[CFG] received stroke: add connection 'ikev1-fakexauth' 13[CFG] left nor right host is our side, assuming left=local 13[CFG] reusing virtual IP address pool 192.168.103.0/24 13[CFG] reusing virtual IP address pool 2002:25f7:7489:3::/112 13[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 13[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 13[CFG] added configuration 'ikev1-fakexauth' 06[CFG] received stroke: add connection 'ikev2-eap-tls' 06[CFG] left nor right host is our side, assuming left=local 06[CFG] reusing virtual IP address pool 192.168.103.0/24 06[CFG] reusing virtual IP address pool 2002:25f7:7489:3::/112 06[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 06[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 06[CFG] added configuration 'ikev2-eap-tls' 16[NET] received packet: from 5.228.173.181[500] to 172.31.28.135[500] (616 bytes) 16[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 16[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09 16[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20 16[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19 16[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02 16[IKE] 5.228.173.181 is initiating an IKE_SA 16[IKE] local host is behind NAT, sending keep alives 16[IKE] remote host is behind NAT 16[IKE] sending cert request for "CN=IPSec CA" 16[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] 16[NET] sending packet: from 172.31.28.135[500] to 5.228.173.181[500] (337 bytes) 05[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (1116 bytes) 05[ENC] parsed IKE_AUTH request 1 [ IDi CERTREQ N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV ADDR6 DNS6 SRV6) SA TSi TSr ] 05[IKE] received cert request for "CN=IPSec CA" 05[IKE] received 38 cert requests for an unknown ca 05[CFG] looking for peer configs matching 172.31.28.135[%any]...5.228.173.181[192.168.10.6] 05[CFG] selected peer config 'ikev2-pubkey' 05[IKE] peer requested EAP, config inacceptable 05[CFG] switching to peer config 'ikev2-eap-tls' 05[IKE] initiating EAP_TLS method (id 0xE4) 05[IKE] peer supports MOBIKE 05[IKE] authentication of 'CN=aws.bougakov.com' (myself) with RSA signature successful 05[IKE] sending end entity cert "CN=aws.bougakov.com" 05[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/TLS ] 05[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1260 bytes) 04[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (188 bytes) 04[ENC] parsed IKE_AUTH request 2 [ EAP/RES/TLS ] 04[TLS] negotiated TLS 1.0 using suite TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 04[TLS] sending TLS server certificate 'CN=aws.bougakov.com' 04[TLS] sending TLS cert request for 'CN=IPSec CA' 04[ENC] generating IKE_AUTH response 2 [ EAP/REQ/TLS ] 04[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1100 bytes) 03[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (76 bytes) 03[ENC] parsed IKE_AUTH request 3 [ EAP/RES/TLS ] 03[ENC] generating IKE_AUTH response 3 [ EAP/REQ/TLS ] 03[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (380 bytes) 02[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (1340 bytes) 02[ENC] parsed IKE_AUTH request 4 [ EAP/RES/TLS ] 02[TLS] received TLS peer certificate 'CN=client1' 02[TLS] no trusted certificate found for '192.168.10.6' to verify TLS peer 02[TLS] sending fatal TLS alert 'certificate unknown' 02[ENC] generating IKE_AUTH response 4 [ EAP/REQ/TLS ] 02[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (92 bytes) 01[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (76 bytes) 01[ENC] parsed IKE_AUTH request 5 [ EAP/RES/TLS ] 01[IKE] EAP method EAP_TLS failed for peer 192.168.10.6 01[ENC] generating IKE_AUTH response 5 [ EAP/FAIL ] 01[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (76 bytes) 12[NET] received packet: from 5.228.173.181[500] to 172.31.28.135[500] (616 bytes) 12[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 12[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09 12[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20 12[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19 12[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02 12[IKE] 5.228.173.181 is initiating an IKE_SA 12[IKE] local host is behind NAT, sending keep alives 12[IKE] remote host is behind NAT 12[IKE] sending cert request for "CN=IPSec CA" 12[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] 12[NET] sending packet: from 172.31.28.135[500] to 5.228.173.181[500] (337 bytes) 14[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (1116 bytes) 14[ENC] parsed IKE_AUTH request 1 [ IDi CERTREQ N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV ADDR6 DNS6 SRV6) SA TSi TSr ] 14[IKE] received cert request for "CN=IPSec CA" 14[IKE] received 38 cert requests for an unknown ca 14[CFG] looking for peer configs matching 172.31.28.135[%any]...5.228.173.181[192.168.10.6] 14[CFG] selected peer config 'ikev2-pubkey' 14[IKE] peer requested EAP, config inacceptable 14[CFG] switching to peer config 'ikev2-eap-tls' 14[IKE] initiating EAP_TLS method (id 0xD1) 14[IKE] peer supports MOBIKE 14[IKE] authentication of 'CN=aws.bougakov.com' (myself) with RSA signature successful 14[IKE] sending end entity cert "CN=aws.bougakov.com" 14[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/TLS ] 14[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1260 bytes) 15[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (188 bytes) 15[ENC] parsed IKE_AUTH request 2 [ EAP/RES/TLS ] 15[TLS] negotiated TLS 1.0 using suite TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 15[TLS] sending TLS server certificate 'CN=aws.bougakov.com' 15[TLS] sending TLS cert request for 'CN=IPSec CA' 15[ENC] generating IKE_AUTH response 2 [ EAP/REQ/TLS ] 15[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1100 bytes) 13[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (76 bytes) 13[ENC] parsed IKE_AUTH request 3 [ EAP/RES/TLS ] 13[ENC] generating IKE_AUTH response 3 [ EAP/REQ/TLS ] 13[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (380 bytes) 06[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (1340 bytes) 06[ENC] parsed IKE_AUTH request 4 [ EAP/RES/TLS ] 06[TLS] received TLS peer certificate 'CN=client1' 06[TLS] no trusted certificate found for '192.168.10.6' to verify TLS peer 06[TLS] sending fatal TLS alert 'certificate unknown' 06[ENC] generating IKE_AUTH response 4 [ EAP/REQ/TLS ] 06[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (92 bytes) 11[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (76 bytes) 11[ENC] parsed IKE_AUTH request 5 [ EAP/RES/TLS ] 11[IKE] EAP method EAP_TLS failed for peer 192.168.10.6 11[ENC] generating IKE_AUTH response 5 [ EAP/FAIL ] 11[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (76 bytes) 16[NET] received packet: from 5.228.173.181[500] to 172.31.28.135[500] (616 bytes) 16[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 16[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09 16[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20 16[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19 16[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02 16[IKE] 5.228.173.181 is initiating an IKE_SA 16[IKE] local host is behind NAT, sending keep alives 16[IKE] remote host is behind NAT 16[IKE] sending cert request for "CN=IPSec CA" 16[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] 16[NET] sending packet: from 172.31.28.135[500] to 5.228.173.181[500] (337 bytes) 05[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (1116 bytes) 05[ENC] parsed IKE_AUTH request 1 [ IDi CERTREQ N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV ADDR6 DNS6 SRV6) SA TSi TSr ] 05[IKE] received cert request for "CN=IPSec CA" 05[IKE] received 38 cert requests for an unknown ca 05[CFG] looking for peer configs matching 172.31.28.135[%any]...5.228.173.181[192.168.10.6] 05[CFG] selected peer config 'ikev2-pubkey' 05[IKE] peer requested EAP, config inacceptable 05[CFG] switching to peer config 'ikev2-eap-tls' 05[IKE] initiating EAP_TLS method (id 0xA4) 05[IKE] peer supports MOBIKE 05[IKE] authentication of 'CN=aws.bougakov.com' (myself) with RSA signature successful 05[IKE] sending end entity cert "CN=aws.bougakov.com" 05[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/TLS ] 05[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1260 bytes) 04[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (188 bytes) 04[ENC] parsed IKE_AUTH request 2 [ EAP/RES/TLS ] 04[TLS] negotiated TLS 1.0 using suite TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 04[TLS] sending TLS server certificate 'CN=aws.bougakov.com' 04[TLS] sending TLS cert request for 'CN=IPSec CA' 04[ENC] generating IKE_AUTH response 2 [ EAP/REQ/TLS ] 04[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1100 bytes) 03[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (76 bytes) 03[ENC] parsed IKE_AUTH request 3 [ EAP/RES/TLS ] 03[ENC] generating IKE_AUTH response 3 [ EAP/REQ/TLS ] 03[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (380 bytes) 02[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (1340 bytes) 02[ENC] parsed IKE_AUTH request 4 [ EAP/RES/TLS ] 02[TLS] received TLS peer certificate 'CN=client1' 02[TLS] no trusted certificate found for '192.168.10.6' to verify TLS peer 02[TLS] sending fatal TLS alert 'certificate unknown' 02[ENC] generating IKE_AUTH response 4 [ EAP/REQ/TLS ] 02[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (92 bytes) 01[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (76 bytes) 01[ENC] parsed IKE_AUTH request 5 [ EAP/RES/TLS ] 01[IKE] EAP method EAP_TLS failed for peer 192.168.10.6 01[ENC] generating IKE_AUTH response 5 [ EAP/FAIL ] 01[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (76 bytes)
подразумевая, что читатель умеет настраивать NAT.Вы слишком льстите читателям…
Так, похоже, я забыл про:
eap_identity в ikev2-eap-tls:
Попробуйте, пожалуйста. Если не сработает, поставьте eap_identity=%any и попробуйте снова.
eap_identity в ikev2-eap-tls:
conn ikev2-eap-tls
also="ikev2-pubkey"
rightauth=eap-tls
eap_identity=%identity
Попробуйте, пожалуйста. Если не сработает, поставьте eap_identity=%any и попробуйте снова.
Теперь получилось [в варианте с %identity], спасибо. Но NAT победить так и не удалось, у меня есть ощущение, что приведённая вами команда игнорируется — когда я набираю iptables -L, я не вижу, чтобы что-то добавилось.
Нужно iptables -t nat -nL
А если просто iptables -t nat -I POSTROUTING -j MASQUERADE, работает? Если нет, что в tcpdump?
А если просто iptables -t nat -I POSTROUTING -j MASQUERADE, работает? Если нет, что в tcpdump?
Замена rightdns на Google DNS и использование второй команды решило проблему. VPN поднимается, whatismyip.com открывается и радостно сообщает, что я в Портленде. Спасибо за терпение!
Вы там не забудьте лишние записи удалить в iptables, особенно последнюю, если выполняли ее. Рад, что заработало.
Я рано радовался. Видимо, я упёрся в ту проблему, что из-за одного NAT не получается подключиться разным клиентам (или тому же самому клиенту, но попозже). Windows выдаёт ошибку 809, хотя в консоли всё прилично:
В результате я решил перезагрузить и локальный роутер, и амазоновскй сервер.
Проблему с переподключением это решило, но вот NAT поломался, Windows помечает соединение как «ограниченное». Хотя с конфигурацией iptables, сохранённой в iptables-persistent, всё в порядке:
Скрытый текст
ubuntu@ip-172-31-28-135:~$ sudo ipsec start --nofork Starting strongSwan 5.1.2 IPsec [starter]... 00[DMN] Starting IKE charon daemon (strongSwan 5.1.2, Linux 3.13.0-44-generic, x86_64) 00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts' 00[CFG] loaded ca certificate "CN=IPSec CA" from '/etc/ipsec.d/cacerts/ca.crt' 00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts' 00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts' 00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts' 00[CFG] loading crls from '/etc/ipsec.d/crls' 00[CFG] loading secrets from '/etc/ipsec.secrets' 00[CFG] expanding file expression '/var/lib/strongswan/ipsec.secrets.inc' failed 00[CFG] loaded RSA private key from '/etc/ipsec.d/private/aws.bougakov.com.key' 00[LIB] loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 rdrand random nonce x509 revocation constraints pkcs1 pkcs7 pkcs8 pkcs12 pem openssl xcbc cmac hmac ctr ccm gcm attr kernel-netlink resolve socket-default stroke updown eap-identity eap-mschapv2 eap-tls addrblock 00[LIB] unable to load 5 plugin features (5 due to unmet dependencies) 00[LIB] dropped capabilities, running as uid 0, gid 0 00[JOB] spawning 16 worker threads charon (1610) started after 20 ms 11[CFG] received stroke: add connection 'ikev2-pubkey' 11[CFG] left nor right host is our side, assuming left=local 11[CFG] adding virtual IP address pool 192.168.103.0/24 11[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 11[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 11[CFG] added configuration 'ikev2-pubkey' 13[CFG] received stroke: add connection 'ikev1-fakexauth' 13[CFG] left nor right host is our side, assuming left=local 13[CFG] reusing virtual IP address pool 192.168.103.0/24 13[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 13[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 13[CFG] added configuration 'ikev1-fakexauth' 06[CFG] received stroke: add connection 'ikev2-eap-tls' 06[CFG] left nor right host is our side, assuming left=local 06[CFG] reusing virtual IP address pool 192.168.103.0/24 06[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt' 06[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com' 06[CFG] added configuration 'ikev2-eap-tls' 16[NET] received packet: from 5.228.173.181[500] to 172.31.28.135[500] (880 bytes) 16[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ] 16[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09 16[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20 16[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19 16[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02 16[IKE] 5.228.173.181 is initiating an IKE_SA 16[IKE] local host is behind NAT, sending keep alives 16[IKE] remote host is behind NAT 16[IKE] sending cert request for "CN=IPSec CA" 16[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] 16[NET] sending packet: from 172.31.28.135[500] to 5.228.173.181[500] (337 bytes) 05[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (2684 bytes) 05[ENC] parsed IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV) SA TSi TSr ] 05[IKE] received cert request for "CN=IPSec CA" 05[IKE] received 58 cert requests for an unknown ca 05[IKE] received end entity cert "CN=client1" 05[CFG] looking for peer configs matching 172.31.28.135[%any]...5.228.173.181[CN=client1] 05[CFG] selected peer config 'ikev2-pubkey' 05[CFG] using certificate "CN=client1" 05[CFG] using trusted ca certificate "CN=IPSec CA" 05[CFG] checking certificate status of "CN=client1" 05[CFG] certificate status is not available 05[CFG] reached self-signed root ca with a path length of 0 05[IKE] authentication of 'CN=client1' with RSA signature successful 05[IKE] peer supports MOBIKE 05[IKE] authentication of 'CN=aws.bougakov.com' (myself) with RSA signature successful 05[IKE] IKE_SA ikev2-pubkey[1] established between 172.31.28.135[CN=aws.bougakov.com]...5.228.173.181[CN=client1] 05[IKE] scheduling reauthentication in 10197s 05[IKE] maximum IKE_SA lifetime 10737s 05[IKE] sending end entity cert "CN=aws.bougakov.com" 05[IKE] peer requested virtual IP %any 05[CFG] assigning new lease to 'CN=client1' 05[IKE] assigning virtual IP 192.168.103.1 to peer 'CN=client1' 05[IKE] CHILD_SA ikev2-pubkey{1} established with SPIs cf74f20d_i b323abc2_o and TS 0.0.0.0/32 === 192.168.103.1/32 05[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH CPRP(ADDR DNS DNS) SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(NO_ADD_ADDR) ] 05[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1404 bytes) 04[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (2684 bytes) 04[ENC] parsed IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV) SA TSi TSr ] 04[IKE] received retransmit of request with ID 1, retransmitting response 04[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1404 bytes) 03[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (2684 bytes) 03[ENC] parsed IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV) SA TSi TSr ] 03[IKE] received retransmit of request with ID 1, retransmitting response 03[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1404 bytes) 02[IKE] sending keep alive to 5.228.173.181[4500]
В результате я решил перезагрузить и локальный роутер, и амазоновскй сервер.
Проблему с переподключением это решило, но вот NAT поломался, Windows помечает соединение как «ограниченное». Хотя с конфигурацией iptables, сохранённой в iptables-persistent, всё в порядке:
/etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Sat Feb 21 14:13:02 2015 *mangle :PREROUTING ACCEPT [359:24419] :INPUT ACCEPT [359:24419] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [291:63968] :POSTROUTING ACCEPT [291:63968] -A FORWARD -p tcp -m policy --dir out --pol ipsec -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360 -A FORWARD -p tcp -m policy --dir in --pol ipsec -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360 COMMIT # Completed on Sat Feb 21 14:13:02 2015 # Generated by iptables-save v1.4.21 on Sat Feb 21 14:13:02 2015 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -m policy --dir out --pol ipsec -j MASQUERADE COMMIT # Completed on Sat Feb 21 14:13:02 2015 # Generated by iptables-save v1.4.21 on Sat Feb 21 14:13:02 2015 *filter :INPUT ACCEPT [484:32599] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [373:75140] COMMIT # Completed on Sat Feb 21 14:13:02 2015
А пинги ходят?
Из вашего лога похоже, что вы таки наступили на ту проблему, что я и описывал выше (несмотря на то, что ValdikSS утверждает, что проблемы не встречал).
Ваши клиенты за NAT'ом выходят из NAT'a с одинаковыми портами 4500, что свидетельствует о том, что ваш роутер работает в режиме VPN passthrough, то есть не трогает source port, а меняет только source IP. Таким образом для двух клиентов за одним NAT'ом у вас, с точки зрения StrongSWAN сервера, одинаковый source IP + source port. При всём желании роутер ничего с этим не может поделать если ему приходит UDP ответ на 5.228.173.181[4500] — он отправляет этот пакет всегда последнему клиенту.
Если у вас есть возможность настроить роутер для клиентов, то вам нужно выключить опцию VPN passthrough, вот так это выглядит у меня на роутере: awesomescreenshot.com/0494hgvb13
Ваши клиенты за NAT'ом выходят из NAT'a с одинаковыми портами 4500, что свидетельствует о том, что ваш роутер работает в режиме VPN passthrough, то есть не трогает source port, а меняет только source IP. Таким образом для двух клиентов за одним NAT'ом у вас, с точки зрения StrongSWAN сервера, одинаковый source IP + source port. При всём желании роутер ничего с этим не может поделать если ему приходит UDP ответ на 5.228.173.181[4500] — он отправляет этот пакет всегда последнему клиенту.
Если у вас есть возможность настроить роутер для клиентов, то вам нужно выключить опцию VPN passthrough, вот так это выглядит у меня на роутере: awesomescreenshot.com/0494hgvb13
Кстати, а что это у вас за IPv4-адрес в rightdns, тут нет ошибки?
У меня рекурсивный DNS-сервер на этой же машине. Замените его, например, на 8.8.8.8
Ну и IPv6 везде уберите, если не используете.
Утром допишу статью.
Ну и IPv6 везде уберите, если не используете.
Утром допишу статью.
Ключик в формате p12 положил в корень вебсервера на машине, где установлен strongswan, при открытии его браузером получаю «крокозябры» вместо предложения установить сертификат, как это происходит с cer-файлами.Думаю, дело в Content-Type.
Мои 5 копеек, чтобы осталось для поисковиков.
1. Для того чтобы IPsec в IOS7/8 не спрашивал пароль нужно в профиле *.mobileconfig который получен с помощью Apple Configurator добавить следующее:
2. На MacOS X 10.10.2 в нативном клиенте нет поддержки IKEv2, а в IKEv1 есть проблемы разрывом соединения из-за XAuth.
1. Для того чтобы IPsec в IOS7/8 не спрашивал пароль нужно в профиле *.mobileconfig который получен с помощью Apple Configurator добавить следующее:
<key>RemoteAddress</key>
<string>ip сервера</string>
<key>XAuthEnabled</key>
<integer>1</integer>
<key>XAuthName</key>
<string>имя пользователя</string>
<key>XAuthPassword</key>
<string>пароль</string>
2. На MacOS X 10.10.2 в нативном клиенте нет поддержки IKEv2, а в IKEv1 есть проблемы разрывом соединения из-за XAuth.
3. В Windows Phone(в другом windows phone может быть иначе) при использовании EAP нужно писать в ipsec.secrets имя клиента вот так:
"Windows Phone\username" : EAP "пароль"
Правильно я понял, что оверхэд у IPsec в tunnel mode меньше, чем у L2TP/IPsec как transport? Кстати можно ли L2TP/IPsec использовать как tunnel?
Да, ведь L2TP инкапсулирует Ethernet, а не IP.
Кстати можно ли L2TP/IPsec использовать как tunnel?Можно, наверное, но зачем? Для IPsec в транспортном режиме весь L2TP-пакет является данными, поэтому будет зашифрован, а т.к. L2TP-сервер расположен на этом же IP, что и IPsec, то в Destination IP будет IP-адрес сервера.
Классический L2TP не умеет инкапсулировать Ethernet. Эта возможность была добавлена только недавно в рамках L2TPv3.
До этого там внутри был обычный ppp, и L2 в названии означало совсем другое — возможность работы не только поверх IP, но и поверх L2 сетей типа ATM.
Преимущество L2TP — работа через любой NAT любого количества клиентов с одним и тем же сервером без малейших проблем.
До этого там внутри был обычный ppp, и L2 в названии означало совсем другое — возможность работы не только поверх IP, но и поверх L2 сетей типа ATM.
Преимущество L2TP — работа через любой NAT любого количества клиентов с одним и тем же сервером без малейших проблем.
В статье полно грубых неточностей:
Security Association (SA) — протокол для настройки AH или ESP
SA — это не протокол, это просто Security Association, параметры безопасности.
Туннельный режим. Подписывает (если AH) и шифрует (если ESP) весь пакет.
Во первых, ESP тоже подписывает пакет. Во-вторых, ESP подписывает не весь пакет, а только его часть, AH подписывает весь пакет включая туннельный IP. Именно поэтому не верна следующая информация:
AH и ESP используют свои протоколы (не порты TCP/UDP, а протоколы), но в современном мире, где NAT стоит за NAT у NAT с NAT'ом, следует использовать что-то более привычное, поэтому сейчас повсеместно используется инкапсуляция AH и ESP-пакетов в UDP.
AH не совместим с Travers-NAT, т.к. он подписывает весь пакет вместе с UDP, соответственно при прохождении через NAT при трансляции портов нарушается целостность. Второй момент. Сама формулировка AH и ESP используют свои протоколы кривая. ESP и AH — не используют никакие протоколы. Грамотно было бы написать вот так — AH и ESP — транспортные протоколы, инкапсулируемые прямо в IP и имеют собственные значение для поля Protocol в IP-заголовке, ESP — 50, AH — 51. И кстати у этих протоколов есть аналог портов — SPI, который используется для мультиплексирования, так же, как и порты в UDP/TCP.
Security Association (SA) — протокол для настройки AH или ESP
SA — это не протокол, это просто Security Association, параметры безопасности.
Туннельный режим. Подписывает (если AH) и шифрует (если ESP) весь пакет.
Во первых, ESP тоже подписывает пакет. Во-вторых, ESP подписывает не весь пакет, а только его часть, AH подписывает весь пакет включая туннельный IP. Именно поэтому не верна следующая информация:
AH и ESP используют свои протоколы (не порты TCP/UDP, а протоколы), но в современном мире, где NAT стоит за NAT у NAT с NAT'ом, следует использовать что-то более привычное, поэтому сейчас повсеместно используется инкапсуляция AH и ESP-пакетов в UDP.
AH не совместим с Travers-NAT, т.к. он подписывает весь пакет вместе с UDP, соответственно при прохождении через NAT при трансляции портов нарушается целостность. Второй момент. Сама формулировка AH и ESP используют свои протоколы кривая. ESP и AH — не используют никакие протоколы. Грамотно было бы написать вот так — AH и ESP — транспортные протоколы, инкапсулируемые прямо в IP и имеют собственные значение для поля Protocol в IP-заголовке, ESP — 50, AH — 51. И кстати у этих протоколов есть аналог портов — SPI, который используется для мультиплексирования, так же, как и порты в UDP/TCP.
Да, хочу добавить, что де-факто AH больше не используется, используется только ESP.
Спасибо за замечания!
Туннельный режим. Подписывает (если AH) и шифрует (если ESP) весь пакет.Я не знаю, как лучше переформулировать, поэтому и написал «и», а не «или». Т.е. подписывает AH и шифрует ESP, а не подписывает AH или шифрует ESP.
Во первых, ESP тоже подписывает пакет.
А как несколько клиентов живут на одном сервере? Для них нужно создавать отдельный интерфейс?
А не известно о добавлении поддержки openvpn на WP? Было бы гораздно проще
Статья обновлена: добавлен параметр leftid в конфигурационный файл, чтобы обойти баг IKEv2 в новом OS X El Capitan, добавлены 3des в ike и esp, тоже для El Capitan (если настраиваете через интерфейс, нельзя поменять cipher, только 3des).
Спасибо за хинт с багой маршрутизации. По следам вышел на workaround — тут
bugs.launchpad.net/ubuntu/+source/strongswan/+bug/1309594/comments/8
А в кратце на хосте для venet (а в моем случае для vethX.0) интерфейса надо выставить
и маршрутизация заработала.
bugs.launchpad.net/ubuntu/+source/strongswan/+bug/1309594/comments/8
А в кратце на хосте для venet (а в моем случае для vethX.0) интерфейса надо выставить
echo 1 > /proc/sys/net/ipv4/conf/veth24.0/disable_policy
и маршрутизация заработала.
В strongswan-e (включая последние версии 5.4-rc*) есть неприятный глюк.
Поверх ikev6 в виндовые клиенты не передаётся default-route для ipv6.
Кто-то может подсказать, какой другой ikev2-софт можно поставить на линукс, чтобы обойти этот глюк?
Спасибо.
Поверх ikev6 в виндовые клиенты не передаётся default-route для ipv6.
Кто-то может подсказать, какой другой ikev2-софт можно поставить на линукс, чтобы обойти этот глюк?
Спасибо.
Это не глюк, это такая реализация в Windows. Нужно отправлять Router Advertisement прямо внутри туннеля, чтобы Windows устанавливал маршрут, и еще и периодически их слать после подключения, чтобы маршрут не потерялся (Windows не запрашивает Router Solicitation).
https://wiki.strongswan.org/issues/817 (мой комментарий)
www.mail-archive.com/users%40lists.strongswan.org/msg09241.html
https://wiki.strongswan.org/issues/817 (мой комментарий)
www.mail-archive.com/users%40lists.strongswan.org/msg09241.html
У меня не заработал этот обход.
Не стала винда реагировать на эти advertisements через туннельный интерфейс от strongswan с плагинами kernel-libipsec и link-local-ts.
У вас получилось?
Что у вас для туннельного интерфейса было написано в radvd.conf ?
Что касается реализации в Windows. От Microsoft RAS получет же винда default route нормально.
Не стала винда реагировать на эти advertisements через туннельный интерфейс от strongswan с плагинами kernel-libipsec и link-local-ts.
У вас получилось?
Что у вас для туннельного интерфейса было написано в radvd.conf ?
Что касается реализации в Windows. От Microsoft RAS получет же винда default route нормально.
Да, у меня работает, именно с kernel-libipsec.
radvd.conf:
Вы патч применили, плагин включили?
radvd.conf:
interface ipsec0
{
AdvSendAdvert on;
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
UnicastOnly on;
AdvLinkMTU 1300;
};
Вы патч применили, плагин включили?
Применили, включили.
То есть ничего особого неожиданного не написано в radvd-шном конфиге?
Странно это всё…
Я вот так и не понял почему винда не реагирует на advertisements… Может, ещё поупражняться надо…
У вас, кстати, на которой клиентской винде заработало? Может, в версии винды ещё тоже дело?
То есть ничего особого неожиданного не написано в radvd-шном конфиге?
Странно это всё…
Я вот так и не понял почему винда не реагирует на advertisements… Может, ещё поупражняться надо…
У вас, кстати, на которой клиентской винде заработало? Может, в версии винды ещё тоже дело?
Посмотрите сниффером, действительно ли ходят Solicitation и Advertisement, или что-то не так настроили. Тестировал на Windows 7 и 10.
Смотрел на стороне линукса, ходили.
Жаль, на стороне винды не посмотришь. Wireshark на туннельнх интерфейсах не хочет. :-(
Или мож есть чего из виндовых снифферов не pcap-based, пофичастее?...
Жаль, на стороне винды не посмотришь. Wireshark на туннельнх интерфейсах не хочет. :-(
Или мож есть чего из виндовых снифферов не pcap-based, пофичастее?...
Насколько я знаю, на Windows действительно нельзя PPP-интерфейсы прослушивать.
Каков вывод swanctl -l с подключенным клиентом?
Каков вывод swanctl -l с подключенным клиентом?
Сейчас уже не скажу. Надо снова тестовую лабу поднять.
Но я обязаткельно в этот тред ещё отпишусь через некотрое время. :-)
Спасибо вам за участие!
Кстати, а почеу этот плагин (link-local-ts) в официальный код всё не попадает?
Но я обязаткельно в этот тред ещё отпишусь через некотрое время. :-)
Спасибо вам за участие!
Кстати, а почеу этот плагин (link-local-ts) в официальный код всё не попадает?
При попытке подключения к серверу из под Windows 7, возникает ошибка 13806. Сертификаты генерировал как в Вашей статье. Пробовал создавать сертификаты с паролем и без, пробовал отключить проверку. Результат нулевой.
В процессе поисков нашел вот эту статью, но она не помогла. С телефона, под управлением Android, туннель поднимается нормально. В чем может быть проблема?
В процессе поисков нашел вот эту статью, но она не помогла. С телефона, под управлением Android, туннель поднимается нормально. В чем может быть проблема?
Вы по доменному имени подключаетесь, или по IP? Что на стороне сервера в логах?
Подключаюсь по доменному имени. Вот лог
Mar 2 17:23:34 16[IKE] <ikev1|1> sending keep alive to ххх.59.119.ххх[61728]
Mar 2 17:23:37 09[NET] <3> received packet: from ххх.27.194.ххх[500] to 172.16.10.1[500] (528 bytes)
Mar 2 17:23:37 09[ENC] <3> parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
Mar 2 17:23:37 09[IKE] <3> ххх.27.194.ххх is initiating an IKE_SA
Mar 2 17:23:37 09[IKE] <3> local host is behind NAT, sending keep alives
Mar 2 17:23:37 09[IKE] <3> remote host is behind NAT
Mar 2 17:23:37 09[IKE] <3> sending cert request for "CN=IPsec CA"
Mar 2 17:23:37 09[ENC] <3> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
Mar 2 17:23:37 09[NET] <3> sending packet: from 172.16.10.1[500] to ххх.27.194.ххх[500] (333 bytes)
Mar 2 17:23:52 11[IKE] <ikev1|1> sending DPD request
Mar 2 17:23:52 11[ENC] <ikev1|1> generating INFORMATIONAL_V1 request 525638760 [ HASH N(DPD) ]
Mar 2 17:23:52 11[NET] <ikev1|1> sending packet: from 172.16.10.1[4500] to 176.ххх.119.ххх[61728] (92 bytes)
Mar 2 17:23:55 13[NET] <ikev1|1> received packet: from 176.ххх.119.ххх[61728] to 172.16.10.1[4500] (108 bytes)
Mar 2 17:23:55 13[ENC] <ikev1|1> parsed INFORMATIONAL_V1 request 2466957200 [ HASH N(DPD_ACK) ]
Mar 2 17:23:57 14[IKE] <3> sending keep alive to ххх.27.194.ххх[500]
Так у вас CA в Windows импортирован? В системную ключницу, а не пользовательскую? CA нельзя импортировать двойным кликом в Windows 7.
https://wiki.strongswan.org/projects/strongswan/wiki/Win7Certs
https://wiki.strongswan.org/projects/strongswan/wiki/Win7Certs
Именно так я и делал.

А x220, видимо, клиентский? Он должен быть в "личное", а не в "доверенные корневые центры сертификации".
Большое спасибо, все заработало! Можно еще один вопрос, вы случаем не сталкивались с установкой strongswan в openvz контейнер. Проблема в том, что не ходит трафик при поднятии туннеля. В интернете пишут что необходимо в контейнере добавить
Не помогло.
net.ipv4.conf.eth0.disable_policy=1
net.ipv4.conf.eth0.disable_xfrm=1
Не помогло.
Надо и на хост-ноде изменять настройки. Если вы не владелец хоста, а используете VPS под OpenVZ, то куда проще использовать kernel-libipsec, это userspace-вариант, который использует tun, и прекрасно работает в OpenVZ. Если у вас Debian, то придется перекомпилировать, если какая-нибудь Fedora или CentOS, то там в репозиториях есть.
Хост под моим управлением. Сейчас попробовал добавить и на хосте, не помогло
P.S. на хосте CentOS 2.6.32-042stab113.11
echo 1 > /proc/sys/net/ipv4/conf/venet0/disable_policy
echo 1 > /proc/sys/net/ipv4/conf/venet0/disable_xfrm
P.S. на хосте CentOS 2.6.32-042stab113.11
Т.е. я правильно понимаю, этот параметр нужно добавить как на хосте, так и в контейнер?
Проблема решена использованием kernel-libipsec plugin.
Тоже получаю 13806 для IKEv2, в win7 все сертификаты импортированы, в логах:
iOS 9 тоже не подключается. Единственное, что работает это strongswan client для android
Как быть?
Jul 12 15:00:09 strongswan charon[31013]: 12[NET] received packet: from 1.1.1.1[500] to 2.2.2.2[500] (792 bytes)
Jul 12 15:00:09 strongswan charon[31013]: 12[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
Jul 12 15:00:09 strongswan charon[31013]: 12[IKE] 1.1.1.1 is initiating an IKE_SA
Jul 12 15:00:09 strongswan charon[31013]: 12[IKE] 1.1.1.1 is initiating an IKE_SA
Jul 12 15:00:09 strongswan charon[31013]: 12[IKE] remote host is behind NAT
Jul 12 15:00:09 strongswan charon[31013]: 12[IKE] sending cert request for "CN=domain.me"
Jul 12 15:00:09 strongswan charon[31013]: 12[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
Jul 12 15:00:09 strongswan charon[31013]: 12[NET] sending packet: from 2.2.2.2[500] to 1.1.1.1[500] (337 bytes)
iOS 9 тоже не подключается. Единственное, что работает это strongswan client для android
Как быть?
Есть вариант без необходимости импортировать в клиентскую систему какие-либо сертификаты https://hub.zhovner.com/geek/universal-ikev2-server-configuration/
ValdikSS, не знаю, как других, а меня вы точно запутали. Раз в своё время начали использовать такую связку, IPsec+L2TP, значит зачем-то оно было надо? Нет, конечно тем, кто сходу перечислит 7 уровней модели OSI (в правильном порядке) оно может быть очевидно, но я к ним, к сожалению, не отношусь… Вообще, каково предназначение чистого L2TP, и отдельно IPsec?
Раз в своё время начали использовать такую связку, IPsec+L2TP, значит зачем-то оно было надо?До Windows 7 в Windows была поддержка IPsec только в транспортном режиме, только с PSK, и ее нужно было настраивать вручную через правила файрволла. Поэтому и использовали L2TP для аутентификации и установления L2-туннеля, а IPsec — для шифрования L2TP-туннеля.
В наше время, когда поддержка IKEv2 или хотя бы IKEv1 есть везде, L2TP нужен только в том случае, если вам нужна L2-связность, т.е. нужно, чтобы в сети можно было передавать broadcast, multicast трафик. Обычно нужна только L3-связность, поэтому L2TP использовать нецелесообразно — он повышает накладные расходы на инкапсуляцию, что сказывается на размере пакета и производительности.
А что может быть, если и ipsec statusall без ошибок, и systemctl status strongswan вроде тоже, а в выводе netstat ни намёка на порты 500 или 4500?
И ещё до кучи вопрос. Вот у OpenVPN свой виртуальный адаптер — там понятно, виртуальный адаптер — виртуальный адрес: у сервера .1, у клиентов .2 .3 .4 и тп. А как это работает с IPsec, если клиент получит адрес из 192.168.103.0/24 он же там будет в полном одиночестве? Форвардинг только ради этого включать не хочется.
И ещё до кучи вопрос. Вот у OpenVPN свой виртуальный адаптер — там понятно, виртуальный адаптер — виртуальный адрес: у сервера .1, у клиентов .2 .3 .4 и тп. А как это работает с IPsec, если клиент получит адрес из 192.168.103.0/24 он же там будет в полном одиночестве? Форвардинг только ради этого включать не хочется.
А что может быть, если и ipsec statusall без ошибок, и systemctl status strongswan вроде тоже, а в выводе netstat ни намёка на порты 500 или 4500?Вы соединения в конфигурации указали?
Работает это для strongSwan следующим образом: когда подключается клиент, ему выдается IP-адрес, и маршрут до этого IP-адреса (/32 в случае IPv4) заносится в таблицу машрутизации 220, и, конечно, в ядро добавляется xfrm-запись для этого IP. Не уверен, можно ли как-то сделать так, чтобы клиенты могли обмениваться трафиком друг с другом без включения forwarding. Возможно, сетевые интерфейсы vti вам в этом помогут. Вот только зачем?
Покажите ipsec.conf.
Показываю
# ipsec.conf - strongSwan IPsec configuration file
config setup
# strictcrlpolicy=yes
# uniqueids = no
conn %default
keyexchange=ikev2
ike=aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
esp=aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1024,3des-sha1-modp1024,aes128-aes256-sha1-sha256,aes128-sha1,3des-sha1!
dpdaction=clear
dpddelay=35s
dpddelay=300s
rekey=no
left=%any
leftauth=pubkey
leftid=backdoor.vk.com
leftcert=vpnhostcert.der
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightauth=pubkey
rightsourceip=10.2.2.0/24
#rightdns=8.8.8.8,2001:4860:4860::8888
conn ikev2-pubkey
keyexchange=ikev2
auto=add
# strictcrlpolicy=yes
# uniqueids = no
conn %default
keyexchange=ikev2
ike=aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
esp=aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1024,3des-sha1-modp1024,aes128-aes256-sha1-sha256,aes128-sha1,3des-sha1!
dpdaction=clear
dpddelay=35s
dpddelay=300s
rekey=no
left=%any
leftauth=pubkey
leftid=backdoor.vk.com
leftcert=vpnhostcert.der
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightauth=pubkey
rightsourceip=10.2.2.0/24
#rightdns=8.8.8.8,2001:4860:4860::8888
conn ikev2-pubkey
keyexchange=ikev2
auto=add
Вы соединения в конфигурации указали?Если речь про conn, то вроде бы, одно. Яблочной техникой не пользуюсь.
клиенты могли обмениваться трафиком друг с другомТак этого и не требуется. Обычный домашний NAS/htpc.
Вот только зачем?Чтобы не настраивать iptables и ломать голову кому что можно, а кому нельзя…
Какая у вас версия strongswan?
Посмотрите вывод ipsec listall, представлена ли в нем корректно цепочка сертификатов.
Есть ли у самого первого сверху сертификата такая строка:
Если нет, убедитесь, что вы правильно разложили файлы сертификатов и ключ в папки.
Вот здесь есть подробное описание https://hub.zhovner.com/geek/universal-ikev2-server-configuration/
Включите отладку:
И посмотрите лог при запуске `journalctl -f -u strongswan`
Посмотрите вывод ipsec listall, представлена ли в нем корректно цепочка сертификатов.
Есть ли у самого первого сверху сертификата такая строка:
pubkey: RSA 4096 bits, has private key
Если нет, убедитесь, что вы правильно разложили файлы сертификатов и ключ в папки.
Вот здесь есть подробное описание https://hub.zhovner.com/geek/universal-ikev2-server-configuration/
Включите отладку:
conn setup
charondebug = ike 3, cfg 3
И посмотрите лог при запуске `journalctl -f -u strongswan`
Я как белый человек доверил сборку профессионалам (в смысле, с репов убунтовских скачал).
Поэтому версия 5.3.5:
Строка наличествует:
Отладочный лог получить не смог, наверное что-то не так делаю… Прикладываю обычный.
Поэтому версия 5.3.5:
dpkg -l | grep swan
dpkg -l | grep swan
ii libstrongswan 5.3.5-1ubuntu3 amd64 strongSwan utility and crypto library
ii libstrongswan-standard-plugins 5.3.5-1ubuntu3 amd64 strongSwan utility and crypto library (standard plugins)
ii strongswan 5.3.5-1ubuntu3 all IPsec VPN solution metapackage
ii strongswan-charon 5.3.5-1ubuntu3 amd64 strongSwan Internet Key Exchange daemon
ii strongswan-libcharon 5.3.5-1ubuntu3 amd64 strongSwan charon library
ii strongswan-plugin-xauth-noauth 5.3.5-1ubuntu3 all strongSwan plugin for the generic XAuth backend
ii strongswan-starter 5.3.5-1ubuntu3 amd64 strongSwan daemon starter and configuration file parser
ii strongswan-tnc-base 5.3.5-1ubuntu3 amd64 strongSwan Trusted Network Connect's (TNC) — base files
ii libstrongswan 5.3.5-1ubuntu3 amd64 strongSwan utility and crypto library
ii libstrongswan-standard-plugins 5.3.5-1ubuntu3 amd64 strongSwan utility and crypto library (standard plugins)
ii strongswan 5.3.5-1ubuntu3 all IPsec VPN solution metapackage
ii strongswan-charon 5.3.5-1ubuntu3 amd64 strongSwan Internet Key Exchange daemon
ii strongswan-libcharon 5.3.5-1ubuntu3 amd64 strongSwan charon library
ii strongswan-plugin-xauth-noauth 5.3.5-1ubuntu3 all strongSwan plugin for the generic XAuth backend
ii strongswan-starter 5.3.5-1ubuntu3 amd64 strongSwan daemon starter and configuration file parser
ii strongswan-tnc-base 5.3.5-1ubuntu3 amd64 strongSwan Trusted Network Connect's (TNC) — base files
Строка наличествует:
List of X.509 End Entity Certificates:
List of X.509 End Entity Certificates:
altNames: backdoor.vk.com
subject: «C=RU, O=home, CN=backdoor.vk.com»
issuer: «C=RU, O=home, CN=strongswan root ca»
serial:…
validity: not before Aug 27 17:18:00 2016, ok
not after Jul 06 17:18:00 2026, ok
pubkey: RSA 4096 bits, has private key
keyid:…
subjkey:…
authkey:…
List of X.509 CA Certificates:
subject: «C=RU, O=home, CN=strongswan root ca»
issuer: «C=RU, O=home, CN=strongswan root ca»
serial:…
validity: not before Aug 27 17:05:23 2016, ok
not after Aug 25 17:05:23 2026, ok
pubkey: RSA 4096 bits
keyid:…
subjkey:…
List of X.509 End Entity Certificates:
altNames: backdoor.vk.com
subject: «C=RU, O=home, CN=backdoor.vk.com»
issuer: «C=RU, O=home, CN=strongswan root ca»
serial:…
validity: not before Aug 27 17:18:00 2016, ok
not after Jul 06 17:18:00 2026, ok
pubkey: RSA 4096 bits, has private key
keyid:…
subjkey:…
authkey:…
List of X.509 CA Certificates:
subject: «C=RU, O=home, CN=strongswan root ca»
issuer: «C=RU, O=home, CN=strongswan root ca»
serial:…
validity: not before Aug 27 17:05:23 2016, ok
not after Aug 25 17:05:23 2026, ok
pubkey: RSA 4096 bits
keyid:…
subjkey:…
Отладочный лог получить не смог, наверное что-то не так делаю… Прикладываю обычный.
Лог
— Logs begin at Вс 2016-08-28 00:56:57 +06. — авг 29 03:15:21 sweethome-server charon[14797]: 00[CFG] opening triplet file /etc/ipsec.d/triplets.dat failed: No such file or directory
авг 29 03:15:21 sweethome-server charon[14797]: 00[CFG] loaded 0 RADIUS server configurations
авг 29 03:15:21 sweethome-server charon[14797]: 00[LIB] loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm attr kernel-netlink resolve socket-default connmark farp stroke updown eap-identity eap-sim eap-sim-pcsc eap-aka eap-aka-3gpp2 eap-simaka-pseudonym eap-simaka-reauth eap-md5 eap-gtc eap-mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap eap-tnc xauth-generic xauth-eap xauth-pam xauth-noauth tnc-tnccs tnccs-20 tnccs-11 tnccs-dynamic dhcp lookip error-notify certexpire led addrblock unity
авг 29 03:15:21 sweethome-server charon[14797]: 00[LIB] dropped capabilities, running as uid 0, gid 0
авг 29 03:15:21 sweethome-server charon[14797]: 00[JOB] spawning 16 worker threads
авг 29 03:15:21 sweethome-server ipsec_starter[14796]: charon (14797) started after 60 ms
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] received stroke: add connection 'ikev2-pubkey'
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] adding virtual IP address pool 10.2.2.0/24
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] loaded certificate «C=RU, O=sweethome, CN=blablabla» from 'vpnhostcert.der'
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] added configuration 'ikev2-pubkey'
авг 29 03:15:21 sweethome-server charon[14797]: 00[CFG] loaded 0 RADIUS server configurations
авг 29 03:15:21 sweethome-server charon[14797]: 00[LIB] loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm attr kernel-netlink resolve socket-default connmark farp stroke updown eap-identity eap-sim eap-sim-pcsc eap-aka eap-aka-3gpp2 eap-simaka-pseudonym eap-simaka-reauth eap-md5 eap-gtc eap-mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap eap-tnc xauth-generic xauth-eap xauth-pam xauth-noauth tnc-tnccs tnccs-20 tnccs-11 tnccs-dynamic dhcp lookip error-notify certexpire led addrblock unity
авг 29 03:15:21 sweethome-server charon[14797]: 00[LIB] dropped capabilities, running as uid 0, gid 0
авг 29 03:15:21 sweethome-server charon[14797]: 00[JOB] spawning 16 worker threads
авг 29 03:15:21 sweethome-server ipsec_starter[14796]: charon (14797) started after 60 ms
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] received stroke: add connection 'ikev2-pubkey'
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] adding virtual IP address pool 10.2.2.0/24
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] loaded certificate «C=RU, O=sweethome, CN=blablabla» from 'vpnhostcert.der'
авг 29 03:15:21 sweethome-server charon[14797]: 04[CFG] added configuration 'ikev2-pubkey'
config setup
# strictcrlpolicy=yes
# uniqueids = no
charondebug = "ike 4, cfg 4"
А вы точно уверены, что есть проблема с биндингом портов?
sudo netstat -ntlup | grep 500
Фейспалм… Я похоже ключ n забыл… )
Надоменьше пить больше спать
Надо
Значит, 809-я ошибка из-за чего-то другого. Выше обсуждение читал, но не мой случай видимо. Идёт нормальное соединение… Сервер определяет, что он за натом (роутер, 500 и 4500 порты проброшены), клиент тоже за натом (ничего не проброшено, SNAT). Они договариваются, начинают сессию… а потом… разрыв по таймауту…
Спойлер:
Спойлер:
спойлер
Aug 29 13:04:43 sweethome-server charon: 07[NET] received packet: from 1.2.3.4[500] to 192.168.100.10[500] (528 bytes)
Aug 29 13:04:43 sweethome-server charon: 07[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
Aug 29 13:04:43 sweethome-server charon: 07[CFG] looking for an ike config for 192.168.100.10...1.2.3.4
Aug 29 13:04:43 sweethome-server charon: 07[CFG] ike config match: 28 (192.168.100.10 1.2.3.4 IKEv2)
Aug 29 13:04:43 sweethome-server charon: 07[CFG] candidate: %any...%any, prio 28
Aug 29 13:04:43 sweethome-server charon: 07[CFG] found matching ike config: %any...%any with prio 28
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 1.2.3.4 is initiating an IKE_SA
Aug 29 13:04:43 sweethome-server charon: 07[IKE] IKE_SA (unnamed)[1] state change: CREATED => CONNECTING
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] proposal matches
Aug 29 13:04:43 sweethome-server charon: 07[CFG] received proposals: IKE:3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024, IKE:AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024, IKE:3DES_CBC/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_1024, IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_1024, IKE:3DES_CBC/HMAC_SHA2_384_192/PRF_HMAC_SHA2_384/MODP_1024, IKE:AES_CBC_256/HMAC_SHA2_384_192/PRF_HMAC_SHA2_384/MODP_1024
Aug 29 13:04:43 sweethome-server charon: 07[CFG] configured proposals: IKE:AES_GCM_16_256/AES_GCM_12_256/AES_GCM_16_128/AES_GCM_12_128/HMAC_SHA2_256_128/HMAC_SHA1_96/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_4096/MODP_1024, IKE:AES_CBC_256/AES_CBC_128/HMAC_SHA2_256_128/HMAC_SHA1_96/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_4096/MODP_1024, IKE:3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selected proposal: IKE:AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C0… ..d…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 5C… \...U.....S.6gH.
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: F3 ...]
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3 5… .V&.7.fY…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C2……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @ 0x7f00
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 92 0D .....`..F`F..n…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C5 .5.$
Aug 29 13:04:43 sweethome-server charon: 07[IKE] precalculated src_hash => 20 bytes @ 0x7f0…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 92… .....`…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C5 .5.$
Aug 29 13:04:43 sweethome-server charon: 07[IKE] precalculated dst_hash => 20 bytes @ 0x7…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 5C… \...U…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: F3… ...]
Aug 29 13:04:43 sweethome-server charon: 07[IKE] received src_hash => 20 bytes @ 0x7f8…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: D3… .)….
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: A7 ..(a
Aug 29 13:04:43 sweethome-server charon: 07[IKE] received dst_hash => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 83… .~.}…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C8 ..GR
Aug 29 13:04:43 sweethome-server charon: 07[IKE] local host is behind NAT, sending keep alives
Aug 29 13:04:43 sweethome-server charon: 07[IKE] remote host is behind NAT
Aug 29 13:04:43 sweethome-server charon: 07[IKE] shared Diffie Hellman secret => 128 bytes @ 0x7f0…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 77……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: FB……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 32: F93……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 48: 11……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 64: 4F… O…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 80: B8… .]$.=…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 96: 35… 5… @
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 112: 6F… o…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] SKEYSEED => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 31… 1…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: B4… .h…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_d secret => 20 bytes @ 0x7f0
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 7D………
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 8E… ..CS
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_ai secret => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 2E……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 6B 3F D4 67 k?.g
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_ar secret => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: C2…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: BE 1D C2 51 ...Q
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_ei secret => 32 bytes @ 0x7…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 57…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 1C 4…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_er secret => 32 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 97…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: E2…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_pi secret => 20 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0:…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: F5… ...U
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_pr secret => 20 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0:…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 35… 5…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @ 0x7f0…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C0… ..d…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @ 0x7…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 16…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: D3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C2……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 2E…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: A2……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] sending cert request for «C=RU, O=home, CN=strongswan root ca»
Aug 29 13:04:43 sweethome-server charon: 07[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
Aug 29 13:04:43 sweethome-server charon: 07[NET] sending packet: from 192.168.100.10[500] to 1.2.3.4[500] (337 bytes)
Aug 29 13:05:01 sweethome-server CRON[14832]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 29 13:05:03 sweethome-server charon: 06[IKE] sending keep alive to 1.2.3.4[500]
Aug 29 13:05:13 sweethome-server charon: 01[JOB] deleting half open IKE_SA after timeout
Aug 29 13:05:13 sweethome-server charon: 01[IKE] IKE_SA (unnamed)[1] state change: CONNECTING => DESTROYING
Aug 29 13:04:43 sweethome-server charon: 07[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
Aug 29 13:04:43 sweethome-server charon: 07[CFG] looking for an ike config for 192.168.100.10...1.2.3.4
Aug 29 13:04:43 sweethome-server charon: 07[CFG] ike config match: 28 (192.168.100.10 1.2.3.4 IKEv2)
Aug 29 13:04:43 sweethome-server charon: 07[CFG] candidate: %any...%any, prio 28
Aug 29 13:04:43 sweethome-server charon: 07[CFG] found matching ike config: %any...%any with prio 28
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 1.2.3.4 is initiating an IKE_SA
Aug 29 13:04:43 sweethome-server charon: 07[IKE] IKE_SA (unnamed)[1] state change: CREATED => CONNECTING
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] no acceptable ENCRYPTION_ALGORITHM found
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selecting proposal:
Aug 29 13:04:43 sweethome-server charon: 07[CFG] proposal matches
Aug 29 13:04:43 sweethome-server charon: 07[CFG] received proposals: IKE:3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024, IKE:AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024, IKE:3DES_CBC/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_1024, IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_1024, IKE:3DES_CBC/HMAC_SHA2_384_192/PRF_HMAC_SHA2_384/MODP_1024, IKE:AES_CBC_256/HMAC_SHA2_384_192/PRF_HMAC_SHA2_384/MODP_1024
Aug 29 13:04:43 sweethome-server charon: 07[CFG] configured proposals: IKE:AES_GCM_16_256/AES_GCM_12_256/AES_GCM_16_128/AES_GCM_12_128/HMAC_SHA2_256_128/HMAC_SHA1_96/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_4096/MODP_1024, IKE:AES_CBC_256/AES_CBC_128/HMAC_SHA2_256_128/HMAC_SHA1_96/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_4096/MODP_1024, IKE:3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
Aug 29 13:04:43 sweethome-server charon: 07[CFG] selected proposal: IKE:AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C0… ..d…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 5C… \...U.....S.6gH.
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: F3 ...]
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3 5… .V&.7.fY…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C2……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @ 0x7f00
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 92 0D .....`..F`F..n…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C5 .5.$
Aug 29 13:04:43 sweethome-server charon: 07[IKE] precalculated src_hash => 20 bytes @ 0x7f0…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 92… .....`…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C5 .5.$
Aug 29 13:04:43 sweethome-server charon: 07[IKE] precalculated dst_hash => 20 bytes @ 0x7…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 5C… \...U…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: F3… ...]
Aug 29 13:04:43 sweethome-server charon: 07[IKE] received src_hash => 20 bytes @ 0x7f8…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: D3… .)….
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: A7 ..(a
Aug 29 13:04:43 sweethome-server charon: 07[IKE] received dst_hash => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 83… .~.}…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C8 ..GR
Aug 29 13:04:43 sweethome-server charon: 07[IKE] local host is behind NAT, sending keep alives
Aug 29 13:04:43 sweethome-server charon: 07[IKE] remote host is behind NAT
Aug 29 13:04:43 sweethome-server charon: 07[IKE] shared Diffie Hellman secret => 128 bytes @ 0x7f0…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 77……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: FB……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 32: F93……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 48: 11……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 64: 4F… O…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 80: B8… .]$.=…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 96: 35… 5… @
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 112: 6F… o…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] SKEYSEED => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 31… 1…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: B4… .h…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_d secret => 20 bytes @ 0x7f0
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 7D………
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 8E… ..CS
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_ai secret => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 2E……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 6B 3F D4 67 k?.g
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_ar secret => 20 bytes @ 0x7f…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: C2…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: BE 1D C2 51 ...Q
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_ei secret => 32 bytes @ 0x7…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 57…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 1C 4…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_er secret => 32 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 97…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: E2…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_pi secret => 20 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0:…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: F5… ...U
Aug 29 13:04:43 sweethome-server charon: 07[IKE] Sk_pr secret => 20 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0:…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: 35… 5…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @ 0x7f0…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C0… ..d…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @ 0x7…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 16…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: D3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_chunk => 22 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: B3…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: C2……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] natd_hash => 20 bytes @…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 0: 2E…
Aug 29 13:04:43 sweethome-server charon: 07[IKE] 16: A2……
Aug 29 13:04:43 sweethome-server charon: 07[IKE] sending cert request for «C=RU, O=home, CN=strongswan root ca»
Aug 29 13:04:43 sweethome-server charon: 07[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
Aug 29 13:04:43 sweethome-server charon: 07[NET] sending packet: from 192.168.100.10[500] to 1.2.3.4[500] (337 bytes)
Aug 29 13:05:01 sweethome-server CRON[14832]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Aug 29 13:05:03 sweethome-server charon: 06[IKE] sending keep alive to 1.2.3.4[500]
Aug 29 13:05:13 sweethome-server charon: 01[JOB] deleting half open IKE_SA after timeout
Aug 29 13:05:13 sweethome-server charon: 01[IKE] IKE_SA (unnamed)[1] state change: CONNECTING => DESTROYING
Есть подозрение, что тут без форвардинга всё же никак(
А что вы хотите получить, включив форвардинг?
Да нет, показалось, ничего)
Тут Павел комментарием ниже намекает, что у меня только UDP-TCP проброшены… и оно да, так и есть, но ведь должен включиться NAT-traversal. Либо не включается, либо одно из двух..? Клиент — семёрка.
Тут Павел комментарием ниже намекает, что у меня только UDP-TCP проброшены… и оно да, так и есть, но ведь должен включиться NAT-traversal. Либо не включается, либо одно из двух..? Клиент — семёрка.
IKEv2
The IKEv2 protocol includes NAT traversal in the core standard, but it's optional to implement. strongSwan implements it, and there is no configuration involved.
Установил KB2523881 и добавил ключ в реестр для включения traversal — не помогло. Подключается только в пределах локальной сети, а через интернет сначала клиент с сервером обмениваются udp-пакетами isakmp на 500 порт, после этого клиент шлёт группу больших (чуть больше 1500) не-udp пакетов, без номера порта, как я понимаю, это AH или ESP. И тишина, видимо NAT их зарезал. Сервер в это время пытается поддерживать keep-alive, но его пакеты тоже не доходят. Windows делает три попытки и рисует ошибку. Почему же не включается NAT-T?
Что у вас за ОС-то? Windows Vista? Ваша ссылка говорит о ключе реестра для сервера, а не клиента. И вообще, там речь об L2TP.
Подозреваю, что дело во фрагментации. Windows не поддерживает фрагментацию для IKEv2 (хотя для IKEv1 поддерживает).
Подозреваю, что дело во фрагментации. Windows не поддерживает фрагментацию для IKEv2 (хотя для IKEv1 поддерживает).
Семёрка. В вольном переводе наших русских блоггеров слова «для сервера» как-то потерялись, я тут не виноват)
Что значит, не поддерживает фрагментацию? Не понимаю. В моём идеальном мире (*где живут только пони*) приложение отправляет кусок данных, а задача системы — разбить его на порции, равные mtu интерфейса. Где-то ещё есть какая-то фрагментация?
Что значит, не поддерживает фрагментацию? Не понимаю. В моём идеальном мире (*где живут только пони*) приложение отправляет кусок данных, а задача системы — разбить его на порции, равные mtu интерфейса. Где-то ещё есть какая-то фрагментация?
Я говорил о фрагментации на уровне протокола. IP-фрагментация, конечно же, поддерживается, но некоторые провайдеры или устройства, по какой-то причине, не пропускают фрагментированные IP-пакеты, например, я с таким сталкивался на мобильном МТС по всей России, и это известная проблема, поэтому приходится использовать фрагментацию на уровне протокола (она работает только во время установки соединения, на передаче данных это не отражается).
Попробуйте использовать ECDSA-ключи, или RSA 1024. Если заработает, то проблема точно во фрагментации и вашем оборудовании или провайдере.
Попробуйте использовать ECDSA-ключи, или RSA 1024. Если заработает, то проблема точно во фрагментации и вашем оборудовании или провайдере.
Всё, я вкурил. Ключи не менял, просто в wireshark поглубже зарылся: действительно, первый пакет IKE_SA_INIT маленький, 570 байт, он проходит. А следующий — IKE_AUTH на уровне IP разбивается на пять с половиной IP-пакетов по 1514 байт, что в сумме даёт 7-8К байт, и его сервер не получает.
Проверяю с консоли сервера:
А теперь из-под клиента:
Число 4432, похоже, не случайно. С учётом заголовков 4432 байта укладываются ровно в три IP-пакета по 1514, а 4433 уже не укладываются. Получается, что доблестный пров, хоть и далеко не МТС (а наоборот, один из несчастных, поглощённых Билайном), режет всё, что в сумме больше трёх пакетов.
Чтоб они долго жили, что ещё сказать…
Проверяю с консоли сервера:
ping 8.8.8.8 -s 64000
64008 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=72.8 ms
А теперь из-под клиента:
ping 8.8.8.8 -l 4433
Обмен пакетами с 8.8.8.8 по с 4433 байтами данных:
Превышен интервал ожидания для запроса.
ping 8.8.8.8 -l 4432
Обмен пакетами с 8.8.8.8 по с 4432 байтами данных:
Ответ от 8.8.8.8: число байт=4432 время=92мс TTL=59
Число 4432, похоже, не случайно. С учётом заголовков 4432 байта укладываются ровно в три IP-пакета по 1514, а 4433 уже не укладываются. Получается, что доблестный пров, хоть и далеко не МТС (а наоборот, один из несчастных, поглощённых Билайном), режет всё, что в сумме больше трёх пакетов.
Чтоб они долго жили, что ещё сказать…
Если будете у своего провайдера спрашивать причины такого поведения, то меня поставьте в известность, пожалуйста. Я решительно не понимаю, для чего может быть нужна блокировка фрагментированных пакетов.
А еще вы можете через traceroute отследить, какой конкретно хост их отбрасывает.
А еще вы можете через traceroute отследить, какой конкретно хост их отбрасывает.
Это рабочий интернет, я на провайдера выхода не имею… Хорошо, что я не назвал его вслух, как бы не пришлось извиняться :) Потому что вот тут человек нашёл причину у себя в железе. А у нас в качестве интернет-роутера как раз списанная персоналка «из-нулевых»…
Поменял сетевушку — не помогло. Кто отбрасывает — выяснить не удалось, я видимо плохо знаю traceroute. До провайдерского «шлюза по-умолчанию» доходят пакеты только с TTL>5, т.е. по логике как минимум 5 невидимых устройств стоят где-то по пути (и могут косячить). Обычно в выводе утилиты такое обозначается звёздочками, но тут — нет, как ни в чём ни бывало, рисует сразу шлюз. Ну, в любом случае, это уже не наша инфраструктура, я конечно сообщил, там чешут репу, но на результат можно не надеяться.
Кстати, c местным франчайзи Beeline KZ (Кар-Тел), тоже не работает пинг с пакетами больше 14XX. Однако ж VPN подключается влёт. Чудеса?
Кстати, c местным франчайзи Beeline KZ (Кар-Тел), тоже не работает пинг с пакетами больше 14XX. Однако ж VPN подключается влёт. Чудеса?
С какого клиента вы подключаетесь? Какой версии windows?
Как вы настраивали форвардинг портов 500 и 4500 на роутере за которым находится strongswan?
Помимо UDP могут использоваться протоколы ESP, IKE. Не уверен использует ли их windows, или инкапсулирует все в UDP, но попробуйте на всякий случай прокинуть и эти протоколы на те же порты.
Вы уверены, что правильно импортировали клиентский сертификат + ключ + корневой сертификат в windows? Я отправил вам в личных сообщениях видео как добавляется сертификат в windows 7.
Как вы настраивали форвардинг портов 500 и 4500 на роутере за которым находится strongswan?
Помимо UDP могут использоваться протоколы ESP, IKE. Не уверен использует ли их windows, или инкапсулирует все в UDP, но попробуйте на всякий случай прокинуть и эти протоколы на те же порты.
Вы уверены, что правильно импортировали клиентский сертификат + ключ + корневой сертификат в windows? Я отправил вам в личных сообщениях видео как добавляется сертификат в windows 7.
Так и не удается настроить по статье. Получаю neagent[58163]: Received error: Error (Authentication Failed) на OS X и iOS.
Не ясно, как сервер понимает, что пользователь «свой». Просто глядя на то, что его сертификат подписан тем же CA, чьи ключи указаны в ipsec.secrets?
Не ясно куда копать. Вроде бы все рекомендации и инструкции учел. Только вот dns имени нет, указывал везде и всюду вместо него IP адрес…
Не ясно, как сервер понимает, что пользователь «свой». Просто глядя на то, что его сертификат подписан тем же CA, чьи ключи указаны в ipsec.secrets?
Не ясно куда копать. Вроде бы все рекомендации и инструкции учел. Только вот dns имени нет, указывал везде и всюду вместо него IP адрес…
Удалось ли побороть проблему? По трем разным тьюториалам пытался поднять — все бестолку (MacOS Sierra).
Используете самодписаный сертификат? Попробуйте мой способ hub.zhovner.com/geek/universal-ikev2-server-configuration/
Не ясно, как сервер понимает, что пользователь «свой». Просто глядя на то, что его сертификат подписан тем же CA, чьи ключи указаны в ipsec.secrets?Аутентификация будет успешна, если клиент предоставит любой сертификат, чей CA есть в директории
/etc/ipsec.d/cacerts
. Ограничение CA регулируется директивой rightca
Может не подключаться из-за IP-адреса. По крайней мере в SAN его нужно указывать с параметром IP, а не DNS.
После недели балета «Лебединое озеро» в попытках подружить андроид 4.4.2 и strongswan сервер НОРМАЛЬНО, непрерывно куря багтрекер StrongSwan, чтобы при подключении, например, на телефоне вайфая не исполнялась прощальная лебединая песня раком, сделал все за полчаса на OpenVPN
Что я могу сказать. Концепция хороша, но сыровато пока
Что я могу сказать. Концепция хороша, но сыровато пока
Здесь вопросы только к отсталому Android, который не развивает vpn фреймворк. На Windows/iOS/MacOS все работает из коробки, в саму операционную систему встроен отличный клиент.
Основная часть плясок была с клиентом от StrongSwan. Но уж если ты поднял VPN на мобильном интернете и ВНЕЗАПНО включил wifi — всё, пиши пропало, впн типа работает, убить ее нельзя никак, весь трафик идет просто так напрямую
В общем да, наверно андроид виноват больше, но и серверная часть, честно говоря… Там выше прекрасный есть коммент, что StrongSwan предоставляет тысячу и один способ выстрелить в колено
В общем да, наверно андроид виноват больше, но и серверная часть, честно говоря… Там выше прекрасный есть коммент, что StrongSwan предоставляет тысячу и один способ выстрелить в колено
О, это проблема не клиента strongSwan, а VPNService API в вашей прошивке. В OpenVPN больше костылей для обхода проблем прошивок, поэтому и работает. У вас, случаем, не Cyanogenmod? Там вечно VPNService сломанный.
Попробуйте клиент strongSwan, а не встроенный в Android
Может ли strongSwan работать без аутентификации пользователя или сервера?
Как это выглядит на сервере? Создаётся дополнительный интерфейс на который маршрутизируются пакеты?
Вообще, уже долго бьюсь головой, пытаясь понять, как именно мне настроить VPN.
Задача — на сервере есть «белый» IP, и три «чёрные» внутренние сети, которые ходят во внешний мир через NAT. Нужно добавить виртуальную четвёртую внутреннюю сеть, по которой ходили бы бродкасты от внутренних сетей, для неограниченного числа пользователей, и из которой можно было бы ходить в интернет через NAT с белого айпи.
Мотивация очень простая — хочется время от времени рубануть по сетке в игрушки, координирующиеся по бродкасту, при этом игроков неограниченное число, и часть из них находится у меня в гостях (то есть в физических трёх сетях. Также хочется, находясь в странах с меньшей свободой информации, чем в России, мочь выйти в интернет с русского айпи.
Как реализовать неограниченность пользователей — вообще непонятно. Но тут-то ладно, в принципе можно заводить UNIX-пользователей на машине, только понять, как бы сказать серверу впн проверять не свой файл secrets, а использовать системную аутентификацию.
Но это пол-беды. Полная беда в том, что под одним пользователем должны подключаться много машин. (Ну, как минимум, мои собственные лаптоп, воркстейшен и телефон.)
В strongSwan не радует, что приходится устанавливать сертификат на каждую клиентскую машину. Хотелось бы обходиться без этого. Может быть, лучше всего было бы хранить публичный ключ от сервера в DNS.
Как это выглядит на сервере? Создаётся дополнительный интерфейс на который маршрутизируются пакеты?
Вообще, уже долго бьюсь головой, пытаясь понять, как именно мне настроить VPN.
Задача — на сервере есть «белый» IP, и три «чёрные» внутренние сети, которые ходят во внешний мир через NAT. Нужно добавить виртуальную четвёртую внутреннюю сеть, по которой ходили бы бродкасты от внутренних сетей, для неограниченного числа пользователей, и из которой можно было бы ходить в интернет через NAT с белого айпи.
Мотивация очень простая — хочется время от времени рубануть по сетке в игрушки, координирующиеся по бродкасту, при этом игроков неограниченное число, и часть из них находится у меня в гостях (то есть в физических трёх сетях. Также хочется, находясь в странах с меньшей свободой информации, чем в России, мочь выйти в интернет с русского айпи.
Как реализовать неограниченность пользователей — вообще непонятно. Но тут-то ладно, в принципе можно заводить UNIX-пользователей на машине, только понять, как бы сказать серверу впн проверять не свой файл secrets, а использовать системную аутентификацию.
Но это пол-беды. Полная беда в том, что под одним пользователем должны подключаться много машин. (Ну, как минимум, мои собственные лаптоп, воркстейшен и телефон.)
В strongSwan не радует, что приходится устанавливать сертификат на каждую клиентскую машину. Хотелось бы обходиться без этого. Может быть, лучше всего было бы хранить публичный ключ от сервера в DNS.
На сколько я понял из документации, есть несколько методов аутентификации, в т.ч. и по пользователю/паролю
https://wiki.strongswan.org/projects/strongswan/wiki/IntroductiontostrongSwan#Authentication-Basics
https://wiki.strongswan.org/projects/strongswan/wiki/IntroductiontostrongSwan#Authentication-Basics
Вам бы научиться документацию читать
Когда-то интересовался этим вопросом, тоже хотел организовать сеть для игр.
Вопрос сложный. Давайте по пунктам.
1) Организовать броадкаст-домен не так уж и просто. Скорее всего придется ставить L2TP-туннель поверх IPsec-а. Это несложно, материала по этой теме полно, но лично я этой темой не интересовался. Ещё есть некий плагин, но его я тоже не пробовал.
2) По поводу неограниченного количества клиентов — вообще не проблема. Никто не мешает всем пользователям иметь один и тот же логин/сертификат. Unix-пользователи тут вообще не при чем, у strongswan по умолчанию своя база пользователей. Но если очень хочется, есть плагин для PAM-аутентификации.
3) По поводу сертификата есть две новости, хорошая и плохая. Хорошая — для создания сертификата вполне подойдет сервис Let's Encrypt, сертификаты у него вполне валидные и не требуют ручного импорта в систему. Плохая — Windows почему-то не доверяет им (конкретно IPsec, браузеры отлично работают). Может быть я где-то накосячил, но практика дала такие результаты. С другой стороны, в Win10 импорт сертификатов — секундное действие. Ещё есть штука под названием PSK-аутентификация, которой сертификаты вообще не нужны, но Windows-клиенты не позволяют её настроить из GUI.
Итого. Для игр я бы организовал VPN на основе OpenVPN (в L2-режиме) или PPTP, а для своих нужд — IPsec в соответствие со статьей. Если у вас есть какие-то другие идеи — пишите, мне тоже интересно :)
Вопрос сложный. Давайте по пунктам.
1) Организовать броадкаст-домен не так уж и просто. Скорее всего придется ставить L2TP-туннель поверх IPsec-а. Это несложно, материала по этой теме полно, но лично я этой темой не интересовался. Ещё есть некий плагин, но его я тоже не пробовал.
2) По поводу неограниченного количества клиентов — вообще не проблема. Никто не мешает всем пользователям иметь один и тот же логин/сертификат. Unix-пользователи тут вообще не при чем, у strongswan по умолчанию своя база пользователей. Но если очень хочется, есть плагин для PAM-аутентификации.
3) По поводу сертификата есть две новости, хорошая и плохая. Хорошая — для создания сертификата вполне подойдет сервис Let's Encrypt, сертификаты у него вполне валидные и не требуют ручного импорта в систему. Плохая — Windows почему-то не доверяет им (конкретно IPsec, браузеры отлично работают). Может быть я где-то накосячил, но практика дала такие результаты. С другой стороны, в Win10 импорт сертификатов — секундное действие. Ещё есть штука под названием PSK-аутентификация, которой сертификаты вообще не нужны, но Windows-клиенты не позволяют её настроить из GUI.
Итого. Для игр я бы организовал VPN на основе OpenVPN (в L2-режиме) или PPTP, а для своих нужд — IPsec в соответствие со статьей. Если у вас есть какие-то другие идеи — пишите, мне тоже интересно :)
Windows почему-то не доверяет им (конкретно IPsec, браузеры отлично работают)
Использую сертификат от WoSign (StartCom) для ipsec и для https. В большинстве случаев, на windows нет проблем, аутентификация сервера проходит успешно. Этот же сертификат прикручен к веб-серверу https://zhovner.com
Иногда только возникают проблемы на старых редакциях windows 7, на которых отключены обновления. Не знаю точно в чем дело, но винду не устраивает серверный сертификат. Причем проблема проходит сама спустя несколько часов после настройки подключения.Звучит странно, но такое поведение многократно повторялось именно в этом виде на разных машинах. Так что попробуйте проверить подключиться потом.
Маленькая заметка про Android (7):
При настройке штатного VPN, для включения "Постоянного VPN" (автоподнятия VPN при любом подключении к интернету) необходимо обязательно в настройках VPN-соединения:
- в качестве адреса сервера указать IP (не домен)
- указать в дополнительных параметрах DNS-сервер.
В Android <=6 это отдельная настройка в меню VPN, и там выводится ошибка с этим пояснением. А в Android >=7 эта галка в настройках VPN-соединения, и если ее поставить, не выполнив вышеуказанное — будет просто недоступна кнопка "Сохранить", без каких-либо пояснений.
Для Windows нужен сертификат на конкретный домен, Windows не умеет работать с wildcard-сертификатами для VPN.
аутентификация по SIM-карте в мобильном устройстве
Android и iOS это поддерживают?
А где можно почитать об этом подробнее?
Подскажите L2TP без IPsec. Везде инструкции с шифрование, как поднять сервер L2TP без шифрования IPsec
Это, мягко говоря, неправда. Полно инструкций для чистого L2TP. К тому же, не могу сообразить, что вам мешает просто не настраивать IPsec.

Да, на скриншоте реализация для конкретного типа устройств, но что-то подсказывает, что принцип работы должен быть одинаков всюду.

Да, на скриншоте реализация для конкретного типа устройств, но что-то подсказывает, что принцип работы должен быть одинаков всюду.
Спасибо! Мне надо для Убунту. Просто проблема в том, что если ты не понимаешь вообще, то если инструкция L2TP+IPsec, то ты просто не знаешь как разделить и где, даже если L2TP без шифрования проще.
Просто у меня нет права на ошибку, потому что устанавливать буду удаленно, и если что то зависнет или опрокину интернет, то конец
А что это у вас скриншот за программа?
Просто у меня нет права на ошибку, потому что устанавливать буду удаленно, и если что то зависнет или опрокину интернет, то конец
А что это у вас скриншот за программа?
так это роутер. Мне нужно на компьютере. в Убунту
xl2tpd
Поэтому я и сказал что в интернете в основном инструкции L2TP+IPsec, а мне нужно просто L2TP, а вы не поняли
xl2tpd
Поэтому я и сказал что в интернете в основном инструкции L2TP+IPsec, а мне нужно просто L2TP, а вы не поняли
Я ведь писал же:
Если на Микротике возможно настроить L2TP без IPsec, не должно ли это означать, что это же возможно сделать на другой платформе?
Да, на скриншоте реализация для конкретного типа устройств, но что-то подсказывает, что принцип работы должен быть одинаков всюду.
Если на Микротике возможно настроить L2TP без IPsec, не должно ли это означать, что это же возможно сделать на другой платформе?
Sign up to leave a comment.
VPN везде и всюду: IPsec без L2TP со strongSwan