Ikev2 ipsec psk как настроить на андроид
Перейти к содержимому

Ikev2 ipsec psk как настроить на андроид

  • автор:

Ikev2 ipsec psk как настроить на андроид

Прикрепленное изображение

IPsec — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP, позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов. IPsec также включает в себя протоколы для защищённого обмена ключами в сети Интернет. В основном, применяется для организации vpn-соединений.

PPTP (англ. Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.

L2TP (англ. Layer 2 Tunneling Protocol — протокол туннелирования второго уровня) — в компьютерных сетях туннельный протокол, использующийся для поддержки виртуальных частных сетей. Главное достоинство L2TP состоит в том, что этот протокол позволяет создавать туннель не только в сетях IP, но и в таких, как ATM, X.25 и Frame Relay.[1]

OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT-firewall, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.

  1. Нажмите Главная (домик) , Меню, затем Настройки для открытия приложения «Настройки».
  2. Нажмите Беспроводной доступ и сети > Настройки VPN.
  3. Нажмите Добавить VPN.
  4. Нажмите тип VPN, который следует добавить.
  5. На открывшемся экране выполните инструкции, предоставленные администратором сети, для настройки всех параметров VPN.
  6. Нажмите Меню , затем Сохранить.
  1. Откройте приложение «Настройки».
  2. Нажмите Беспроводной доступ и сети > Настройки VPN.
  3. Добавленные сети VPN отображаются в списке на экране «Настройки VPN».
  4. Нажмите сеть VPN, к которой следует подключиться.
  5. В открывшемся диалоговом окне введите необходимые учетные данные и нажмите Подключить.

Отключение от VPN:

Откройте панель уведомлений и нажмите текущее уведомление о подключении VPN.

  1. Откройте приложение «Настройки».
  2. Нажмите Беспроводной доступ и сети > Настройки VPN.
  3. Добавленные сети VPN отображаются в списке на экране «Настройки VPN».
  4. Нажмите и удерживайте сеть VPN, настройки которой следует изменить.
  5. В открывшемся диалоговом окне нажмите Изменить сеть.
  6. Измените настройки VPN.
  7. Нажмите Меню , затем Сохранить.
  1. Откройте приложение «Настройки».
  2. Нажмите Беспроводной доступ и сети > Настройки VPN.
  3. Добавленные сети VPN отображаются в списке на экране «Настройки VPN».
  4. Нажмите и удерживайте VPN, которую следует удалить.
  5. В открывшемся диалоговом окне нажмите Удалить сеть.
  6. В диалоговом окне с подтверждением удаления сети VPN нажмите кнопку ОК.
  1. На главном экране или экране «Приложения» нажмите на значок «Настройки» .
  2. В разделе «Беспроводные сети» нажмите Дополнительно > VPN.
  3. На экране VPN нажмите Добавить сеть VPN.
  4. В появившейся форме введите информацию, полученную у администратора сети.
  5. Нажмите Сохранить.
  1. На экране VPN нажмите на название сети VPN.
  2. В открывшемся диалоговом окне введите учетные данные.
  3. Нажмите Подключиться.
  1. На экране VPN нажмите и удерживайте название нужной сети.
  2. В открывшемся диалоговом окне нажмите Изменить сеть.
  3. Измените настройки VPN.
  4. Нажмите Сохранить.
  1. На экране VPN выберите нужную сеть.
  2. Нажмите и удерживайте название этой сети.
  3. В открывшемся диалоговом окне нажмите Удалить сеть.

Полезные программы:
Сборник полезных программ: Подключение к виртуальным частным сетям (VPN) (Пост #30802112)
VpnROOT — PPTP — Manager (Менеджер VPN соединений)
Fing — Network Tools (Универсальный инструмент для изучения и исследования своей сети.)
Ping & DNS (Еще одна утилита для проверки сети)
OpenVPN для Android (Программа-клиент для подключения к OpenVPN серверу)
AnyConnect ICS+ (VPN-клиент от компании Cisco)
VPN host

Q: Добавил VPN подключение на устройство и теперь недоступна простая разблокировка. Можно ли ее вернуть обратно?
A: Такой возможности нет, это стандартная мера защиты в ОС Android, при добавлении VPN подключения возможность использования простой разблокировки отключается, остается только: Графический ключ, PIN-код и Пароль. Вариант обхода данного ограничения.

Q: Как раздать VPN?

Сообщение отредактировал ahmetov-82 — 28.10.20, 07:56

Подскажите у кого есть успешный опыт настройки VPN подключения с устройства на Android? Добавляю в настройках новое VPN подключение, задаю параметры и пробую подключится, а мне в ответ — "Не удалось подключится. Повторить попытку?" . С компьютера дома подключится могу а с телефона не выходит :help:

Сообщение отредактировал vmaxim — 05.02.13, 17:01

Тоже столкнулся с проблемой, опишу, что делал:

Дома круглосуточно включен Eee901 с WinXP Home, на нем настроил входящее VPN соединение с шифрованием (PPTP) и выключил виндовский файрволл (он все равно особо не нужен). На ADSL роутере настроил port forward для PPTP и клиента для Dynamic DNS, IP у меня динамический.

На коммуникаторе (HTC Legend, Android 2.1) настроил встроенного VPN клиента и жму "подключиться". Все соединяется отлично, с коммуникатора я вижу все ресурсы внутренней сети — могу роутером порулить, например. Но с коммуникатора не ресолвятся интернетовские адреса, если вводить IP — странички открываются.

В настройках VPN на коммуникаторе есть только "Имя сети", "адрес сервера", галочка шифрования и "домены поиска DNS" — туда пробовал и адрес роутера, и компьютера и даже гуглевский 8.8.8.8 вводить — не помогает.

YMA,
Просто в "домены поиска DNS" нужно добавить адрес DNS сервера твого интернет-провайдера, а не адрес твоего роутера и т.д. :yes2:

Сообщение отредактировал klyon — 13.07.10, 00:32

Я так понял на компе сначало надо VPN соеденение создавать? А потом через комуникатор к ниму подключатся?

А если например у меня интеренет обыкновенный без ВПН, как к ниму то поключится, кто смог это сделать выложите плз пошаговое FAQ, заранее благодарен

Kamikadz,
Сразу скажу, что у меня не получилось. Входящее ВПН подключение на компе настроил, настроил брандмауэр, настроил свой роутер. Обычные ПК ко мне присоединяются нормально, а телефон не хочет.

Как настроить входящее ВПН подключение на компе:
Зайти в сетевое окружение, туда где список подключений. Нажать альт, файл — входящее подключение, выбрать пользователей, которым разрешен доступ (у этих пользователей обязательно должен быть пароль), настроить диапазон адресов, которые будут выдаваться пользователям и всё. На ПК, которые будут к тебе подключаться нужно создать исходящее ВПН подключение, ввести сервер (адрес твоего ПК), запустить соединение, ввести логин и пароль пользователя, нажать подключиться.
Важно: у твоего ПК должен быть реальный адрес, то есть он должен пинговаться с интернета.

Сотового оператора или провайдера проводного интернета? Проводного пробовал — не помогло. Сотового — сходу не смог найти DNS Билайна, кто знает — подскажете?

Насчет раздачи адресов подключающимся по VPN — даже XP Home нормально раздает адреса. У меня проблема только с DNS сервисом, до сих пор не получилось добиться нормальной работы. А так — во внутренней сети все ПК доступны, могу на Popcorn зайти и управлять торрентами и проигрывателем.

Вообще-то нужно добавить ДНС провайдера того интернета, которым собираетесь пользоваться через телефон. В Вашем случае это ДНС проводного провайдера. Почему не работает не знаю. У меня телефон вообще не подключается никуда через ВПН. :rolleyes:

Сообщение отредактировал klyon — 15.07.10, 01:10

вобще то, днс должны определять автоматом, ввести нужно только адрес сревера, и установить настройки шифрования, ну логин и пароль разумеется тоже.

Также столкнулся с проблемой PPTP. I570EXXJF2 + LK2.06 + SamTURBOMod_V3.4. К серверу PPTP подключиться не удается, при этом на сервере следующий лог:

Jul 25 19:11:04 vladimir-laptop pptpd[3670]: CTRL: Client 192.168.0.101 control connection started
Jul 25 19:11:04 vladimir-laptop pptpd[3670]: CTRL: Starting call (launching pppd, opening GRE)
Jul 25 19:11:04 vladimir-laptop pppd[3672]: pppd 2.4.5 started by root, uid 0
Jul 25 19:11:04 vladimir-laptop NetworkManager: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jul 25 19:11:04 vladimir-laptop NetworkManager: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
Jul 25 19:11:04 vladimir-laptop pptpd[3670]: CTRL: EOF or bad error reading ctrl packet length.
Jul 25 19:11:04 vladimir-laptop pptpd[3670]: CTRL: couldn't read packet header (exit)
Jul 25 19:11:04 vladimir-laptop pptpd[3670]: CTRL: CTRL read failed
Jul 25 19:11:04 vladimir-laptop pptpd[3670]: CTRL: Reaping child PPP[3672]
Jul 25 19:11:04 vladimir-laptop pppd[3672]: Failed to set PPP kernel option flags: Inappropriate ioctl for device
Jul 25 19:11:04 vladimir-laptop pppd[3672]: Using interface ppp0
Jul 25 19:11:04 vladimir-laptop pppd[3672]: Connect: ppp0 <—> /dev/pts/0
Jul 25 19:11:04 vladimir-laptop pppd[3672]: Modem hangup
Jul 25 19:11:04 vladimir-laptop pppd[3672]: Connection terminated.
Jul 25 19:11:04 vladimir-laptop NetworkManager: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jul 25 19:11:04 vladimir-laptop pppd[3672]: Exit.
Jul 25 19:11:04 vladimir-laptop pptpd[3670]: CTRL: Client 192.168.0.101 control connection finished

Кому-то удалось победить?

У легенды проблема проброса GRE протокола или 1723 порта.

Подключаешь железку шнурком, соединяешься с работающим VPN сервером, а он показывает БОЛТ. На Ноке работало без проблем.

господа +1 к этой проблеме, уже какой день пытаюсь подключиться впном куданибудь и не важно пптп это или нет! дело в том что я заметил что при вводже пароля он его не запоминает, тоесть он с пустым паролем ломиться на впн. что делать незнаю может как то через кансоль можно прописать логин и пароль и тогда получиться .

телефон: HTC Desire на Android 2.1

Тоже не могу разобраться с настройкой vpn — этих настроек в андроиде слишком мало, хочу подсоединиться к рабочему компу (windows 2003 sever r2), с настольного компьютера подключение проходит отлично, а с андроида (2,1) — нет.

VPN везде и всюду: IPsec без L2TP со strongSwan

image
достаточно сильный лебедь

Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

Небольшое введение в мир IPsec

Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.

  • Authentication Header (AH) — протокол, обеспечивающий аутентификацию отправителя и целостность данных. Подписывает не только данные пакета, но и все заголовки, кроме изменяемых полей (ToS, TTL, чексумма).
  • Encapsulating Security Payload (ESP) — протокол, обеспечивающий аутентификацию, целостность и конфиденциальность
  • Security Association (SA) — параметр с настройками шифрования канала
  • Internet Key Exchange (IKE и IKEv2) — протокол обмена параметрами, настройками и согласования SA
  • Транспортный режим. Подписывает заголовки и данные (если AH) или подписывает и шифрует данные (если ESP) пакета. Не скрывает IP-адрес получателя пакета, если он маршрутизируется. Этот режим используется для связки L2TP+IPsec.
  • Туннельный режим. Подписывает (если AH) и еще шифрует (если ESP) весь пакет.

Все современные десктопные ОС (Windows Vista/7/8/8.1, OS X, Linux), мобильные устройства (Android, iOS, Windows Phone, Blackberry) и некоторые роутеры поддерживают VPN с использованием IPsec ESP в туннельном режиме и его настройкой через протокол Internet Key Exchange (IKE) версии 1 или 2, а значит IPsec мы именно так и будем настраивать.

Кстати, писать правильно IPsec, но Cisco IPSec.

IPsec в Linux

В OpenVZ есть поддержка IPsec, и она вполне себе годна для запуска L2TP+IPsec, но там что-то явно не так с маршрутизацией на не-локальные интерфейсы. Вероятно, это можно починить добавлением пары правил на хостовую машину, но это довольно проблематично, если у вас нет доступа к ней, как бывает во подавляющем большинстве случаев. Поэтому для OpenVZ необходимо использовать userspace IPsec, который можно собрать параметром —enable-kernel-libipsec

Жизнь со swanctl:
image

Жизнь без swanctl:
image

  • xauth-noauth — поддельный аутентификатор, позволяет вводить любой логин и пароль. Нужен для iPhone и iPad при аутентификации только по ключам, т.к. там нет возможности отключить аутентификацию по логину и паролю.
  • vici — интерфейс для swanctl.
  • libipsec — для userspace IPsec (для OpenVZ и, возможно, других контейнеров).

Переходим к настройке

Будем настраивать подключение через IKEv2 (Windows, Linux, Blackberry), IKEv1+XAUTH (iOS, OS X, Android) и IKEv2+EAP-TLS (Windows Phone). Используем ключи, никаких PSK!
Разработчики strongSwan предлагают нам использовать команду «ipsec pki» для генерации ключей, но она настолько же неудобная, насколько и обычный openssl, поэтому я адаптировал Easy-RSA v3 из OpenVPN для генерации как OpenVPN, так и IPsec-совместимых ключей. С ним вы можете использовать одну связку ключей для двух протоколов!
github.com/ValdikSS/easy-rsa-ipsec
Easy-RSA чрезвычайно простой, поддерживать PKI-инфраструктуру с ним одно удовольствие!

Итак, инициализируем PKI и создаем CA, серверный и клиентский ключи. Важно, чтобы название серверного ключа совпадало с FQDN (доменом, проще говоря) вашего сервера!

Ключи сгенерированы. Я добавлял параметр nopass на каждом шагу, чтобы ключи не были защищены паролем (его можно установить позже в любое время).

Теперь нам необходимо скопировать их в нужные директории внутри /etc/ipsec.d/ , чтобы strongSwan нашел их:

Переходим к настройке strongSwan!
Первым делом, указываем наш приватный ключ в /etc/ipsec.secrets
Редактируем конфигурационный файл /etc/ipsec.conf

  • dpdaction=clear включает механизм Dead Peer Detection (DPD) и указывает, что нужно забывать о клиенте, если он не отзывался дольше таймаута
  • dpddelay=35s — задержка до включения DPD
  • dpdtimeout=300s — таймаут для DPD
  • fragmentation=yes — включение внутренней фрагментации пакетов. Позволяет использовать IPsec с провайдерами, у которых сломана IP-фрагментация пакетов (привет, мобильный МТС!)
  • rekey=no — выключение инициации смены ключей со стороны сервера. Windows это не любит.
  • ike — перечень ciphersuites для использования с IKE (т.е. во время установки шифрованного соединения для передачи конфигурационных параметров, в том числе и ключей для установки SA)
  • esp — перечень ciphersuites для шифрования трафика
  • left и right — случаем все интерфейсы и принимаем всех клиентов
  • leftid — указываем наш FQDN. Нужно для сломанного IKEv2 в OS X El Capitan
  • leftauth/rightauth=pubkey — используем аутентификацию по ключам
  • leftsubnet — подсети, которые мы отправляем клиенту для маршрутизации (весь IPv4 и IPv6-интернет). Уберите IPv6, если не используете его.
  • rightsourceip — пул IP-адресов, из которого выдаем адрес клиенту. Уберите IPv6, если не используете его.
  • rightdns — IP-адреса DNS-серверов

Если у вас нет модуля xauth-noauth для соединения ikev1-fakexauth , то вы можете заменить его просто на xauth и создать пользователя в /etc/ipsec.secrets , например, с логином и паролем client1:

Теперь у нас есть три подключения: ikev2-pubkey для IKEv2, ikev1-fakexauth для IKEv1 с фейковой проверкой логина и пароля и ikev2-eap-tls — IKEv2+EAP-TLS для Windows Phone. Перезапускаем strongSwan.

Если все верно, вы увидите следующий вывод команды swanctl -L

Проблемы MTU

Из-за особенностей и ошибок в реализации разных IPsec-клиентов, MTU внутри туннеля нельзя угадать заранее, а на Android вообще устанавливается MTU 1500, из-за чего большие пакеты не передаются и вообще ничего не работает. Чтобы нивелировать этот недостаток, достаточно изменять параметр TCP MSS в момент установки TCP-соединения на стороне сервера. Будем использовать значение 1360 для IPv4 и 1340 для IPv6, чтобы размер пакета не превышал 1400 байт внутри туннеля:

На этом настройка сервера закончена. Не забудьте настроить NAT, если вам он нужен!

Настройка клиентов

Алгоритм настройки клиентов в общих чертах заключается в импорте сертификатов из файла *.p12, создании нового подключения с типом IPsec PKI, IPsec XAUTH RSA или IKEv2 (в зависимости от устройства), указания клиентского сертификата и адреса сервера.
Внимание! Нужно вводить именно тот адрес сервера, который вы вводили при создании серверного ключа. Подключиться по другому домену или просто по IP-адресу, если сертификат был сгенерирован на домен, не получится!

Windows
OS X и iOS
Android

Вы можете использовать как IPsec-клиент Android и подключаться по протоколу IKE, так и клиент strongSwan и использовать IKEv2. Клиент strongSwan работает стабильнее и надежно переподключает в случае потери соединения.

Импортируйте сертификат либо через файловый менеджер, либо используя пункт «Установка с SD-карты» в разделе «Безопасность». Перейдите в настройки VPN, создайте новое подключение с типом «IPSec Xauth RSA», в поле «Адрес сервера» впишите, собственно, адрес сервера, в поле «Сертификат пользователя IPSec» и «Сертификат ЦС IPSec» укажите сертификат «client1». Нажмите на соединение, введите любые логин и пароль и попробуйте подключиться.

IPSec with IKEv2 setup guide

On your Android device, go to Google Play , search and install strongSwan VPN Client app.

Launch the app, click on the Add VPN Profile button and fill in the following configuration:

Server — choose any from the server list (i.e. gb.gw.ivpn.net)
VPN Type – IKEv2 EAP (Username/Password).
Username – your IVPN account ID that begins with letters ‘ivpnXXXXXXXX’ or ‘i-XXXX-XXXX-XXXX’ (case-sensitive).
Password – ivpn .
CA certificate – check Select automatically .
Profile name – give it any name you prefer.
Server identity (check Show advanced settings) – same as the Server field.
Hit Save .

You have successfully created a new VPN profile. Tap on it to connect or disconnect.

Configuring IPsec IKEv2 Remote Access VPN Clients on Android¶

Android considers using a VPN an action that must be secure. When activating any VPN option the OS will force the user to add a lock method to the device if one is not already present. It does not matter which type of lock is chosen (PIN lock, Pattern lock, Password, etc) but it will not allow a VPN to be configured until a secure lock has been added.

On Android devices with Face lock, that is not available as a secure lock type on its own.

There are two methods to configuring IKEv2 on Android: Natively on Android 11.x and later, or using the strongSwan app from the Play Store.

Native IKEv2 on Android¶

Android 11.x and later now include several IKEv2 client options compatible with mobile IPsec on pfSense® software. This example covers EAP-MSCHAPv2 which also works with EAP-RADIUS.

The settings below are from pure Android 11.x. These exact settings may not present on all Android devices, depending on the Android version and changes made by the OEM.

Import the Server CA¶

To validate the server, the client needs to know the server certificate CA. The Android IKEv2 client will only validate against CA entities imported by the user.

Though this validation is optional it is the best practice as otherwise the client cannot verify it is connecting to the correct server.

Installing a self-signed root CA into Android in this manner carries some danger as the CA could also be used to impersonate other servers. The danger is lower since this is controlled by firewall administrators but the warnings presented when this is done may still confuse and worry end users.

If this is unacceptable, use the strongSwan application instead. It can validate against an existing root CA as well as validating a CA without installing it into the operating system trust store.

Copy the CA certificate to the device

Swipe down twice from the top of the screen

Tap the Settings cog

Tap Security, Encryption & Credentials

Tap Install a certificate

Tap CA certificate

Read the warning text

Tap Install anyway to continue

Locate and tap the CA certificate which was copied to the device

Setup the VPN Connection¶

Swipe down twice from the top of the screen

Tap the Settings cog

Tap Networks & Internet, Advanced, VPN

Enter the connection settings as follows:

ExampleCo Mobile VPN or another suitable description

The address of the server.

This must match a value in the server certificate. For example, a hostname or IP address in a certificate SAN entry.

The identifier on the EAP pre-shared key for this user (e.g. a username or e-mail address)

IPsec CA Certificate

Select the imported CA (optional, but the best practice)

The identifier for this user again.

The EAP key value associated with the identifier for this user.

Tap Save

Connecting and Disconnecting¶

Swipe down twice from the top of the screen

Tap the Settings cog

Tap Networks & Internet, Advanced, VPN

Tap the name of the VPN

Tap Connect

Android displays a key icon in the notification bar near the network status icons and clocks while a VPN is connected.

Swipe down twice from the top of the screen

Tap the Settings cog

Tap Networks & Internet, Advanced, VPN

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *