Как стать автором
Обновить

Комментарии 43

Какая у вас iOS? Или вы изменили значок VPN в статусбаре? Вроде он был не такой…
НЛО прилетело и опубликовало эту надпись здесь
Да, все правильно, у меня iOS6.
Всегда такой был, сколько помню его.
Спасибо.
а если сервер не имеет статического ip-адреса?
но, допустим, подключен один из сервисов dyndns?
По идее Вы можете прописать DNS адрес своего сервера во все места где это требуется (для сервера в /etc/ipsec.conf, /etc/ipsec.secrets и соответственно в настройках iOS или Win).
Сервер не должен быть за NAT, ipsec _очень_ плохо работает с NAT и вообще не работает через 2 NAT.

У меня есть аналогичная статья, но про racoon+xl2tpd libc6.org/page/l2tp-ipsec-server-howto

И ещё, VPN должна иметь сеть отличающуюся от локальной сети. Типа 10.178.59.0/24
НЛО прилетело и опубликовало эту надпись здесь
Все работает корректно. Одновременно работали два подключения с телефона и компьютера. Оба были подключены к одному роутеру. Подключались под разными учетными записями, использовать одно и то же имя и пароль я не пробовал.
НЛО прилетело и опубликовало эту надпись здесь
Нет, не наблюдалось. Из-за специфики iOS подключение к VPN постоянно разрывается, а на компьютере оно висит постоянно.

Через 3G сеть от Мегафона подключается тоже без проблем.
Жаль яблоки не хотят openvpn подписать(
НЛО прилетело и опубликовало эту надпись здесь
Cisco IPSec реализуется на racoon или strongswan, хоть под Linux, хоть под BSD. При использовании чистого IPSec и авторизации по сертификатам можно создать профиль VPN с параметром On-Demand и прописать ресурсы, при обращении к которым VPN будет подниматься автоматически. Сервер надо настраивать с поддержкой NAT-T, тогда весь ESP трафик будет инкапсулироваться в UDP-пакеты на порт 4500.
НЛО прилетело и опубликовало эту надпись здесь
Подтверждаю, завести «Cisco IPSec» можно едва ли не проще. Для затравки, конфиг racoon:

path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

listen {
	isakmp #{src_ip} [500];
	isakmp_natt #{src_ip} [4500];
}

remote anonymous {
	proposal_check obey;
	passive on;
	exchange_mode main,aggressive;
	my_identifier fqdn "#{host_fqdn}";
	mode_cfg on;
	verify_cert off;
	ike_frag on;
	generate_policy on;
	nat_traversal on;
	dpd_delay 20;
	proposal {
		encryption_algorithm aes;
		hash_algorithm sha1;
		authentication_method xauth_psk_server;
		dh_group 2;
	}
}

mode_cfg {
	conf_source local;

	auth_source system;
	save_passwd on;
	
	dns4 8.8.8.8;
	network4 10.0.0.1;
	pool_size 255;
}

sainfo anonymous {
	encryption_algorithm aes;
	authentication_algorithm hmac_sha1;
	compression_algorithm deflate;
}


Уберите main из exchange_mode main,aggressive;
Для xauth_psk в iOS поддерживается только aggressive mode.
Сэкономите одну итерацию IKEv1.
Не нужно, из-за этого снижается безопасность соединения.
Как она может снижаться, если main все равно не используется?
Видимо я чего-то недопонял, когда разбирался с Cisco IPSec. Попробую чуть позже посмотреть, сейчас особо нет времени разбираться.
Напрягает его постоянно включать а айфоне после разблокировки.
Чтобы избежать этого надо делать Cisco IPSec c авторизацией по сертификатам и генерить профиль в iPhone Configuration Tool c параметром On-Demand для всех сайтов.
А он будет включаться только при просмотре сайтов или при инициации иных приложений тоже? В данный момент у меня висит еще и VNC сервер. Сейчас я включаю VPN и после этого запускаю VNC клиент на телефоне и подключаюсь уже через VPN, шифруя соединение VNC (590x порты закрыты для и настроено так что к VNC серверу можно подключиться только из подсети 10.1.2.0/24). При включении On-Demand можно будет просто включать VNC клиент и VPN автоматически запустится?
Все зависит, как вы пропишите параметр On-demand. Если для всех IP, тогда абсолютно весь трафик с телефона будет ходить через VPN.
В вашем конкретном случае можно прописать On-demand для подсети 10.1.2.0/24, тогда все будет подключаться автоматически.
Не мой случай, как простого пользователя, к сожалению. :)
Maximus43, расскажи как заставить айфон авторизироваться по сертификату? Бьюсь головой об конфиг racoon уже который день, всё равно упорно продолжает спрашивать логин и пароль.
Это потому что кроме аутентификации по сертификату айфону нужна авторизация по имени и паролю (XAuth). Надо в конфиге racoon помимо остальных настроек прописать save_passwd on
Есть. И «save_passwd on», и пользователь в Configuration Utility записан. Внешне всё хорошо, но айфон упорно хочет имя пользователя и пароль каждый раз, когда поднимает VPN. Собственно, вот конфиг:

log debug;
path certificate "/etc/racoon/certs";
listen {
    isakmp ip.add.re.ss [500];
    isakmp_natt ip.add.re.ss [4500];
}

remote anonymous {
    lifetime time 24 hour;
    proposal_check obey;
    passive on;
    exchange_mode aggressive,main;
    my_identifier asn1dn;
    peers_identifier asn1dn;
    verify_identifier on;
    certificate_type x509 "server.crt" "server.key";
    ca_type x509 "ca.crt";
    mode_cfg on;
    verify_cert on;
    ike_frag on;
    generate_policy on;
    nat_traversal on;
    dpd_delay 20;
    proposal {
        encryption_algorithm aes;
        hash_algorithm sha1;
        authentication_method xauth_rsa_server;
        dh_group modp1024;
    }
}

mode_cfg {
    conf_source local;

    auth_source system;
    auth_throttle 3;
    save_passwd on;

    dns4 8.8.8.8;
    network4 10.9.8.1;
    netmask4 255.255.255.0;
    pool_size 128;
}

sainfo anonymous {
    pfs_group 2;
    lifetime time 3600 sec;
    encryption_algorithm aes;
    authentication_algorithm hmac_sha1;
    compression_algorithm deflate;
}
Если айфон не увидел параметр save_passwd on во время первого подключения, то он больше его не проверяет и всегда запрашивает пароль, даже если конфиг сервера потом поменять. Помогает удаление профиля VPN на устройстве и создание нового.
После ввода соединение устанавливается? Тут стоит auth_source system, а параметра path pre_shared_key я не вижу. Работать не должно. Серверу надо знать, как проверять имя-пароль.
Да, после ввода соединение устанавливается, это без проблем вообще. Пересоздать подключение попробую позже, спасибо.

Что касается «auth_source system» — это значит, что надо использовать системных пользователей. Наличие пути для PSK не обязательно, если PSK не используется.
Все, я разглядел xauth_rsa_server. Я сходу не заметил.
Пристальное изучение лога айфона показало:

Oct 30 22:42:41 iPhone racoon[151] <Notice>: IPSec Extended Authentication Passed.
Oct 30 22:42:41 iPhone racoon[151] <Notice>: IPSec Network Configuration requested.
Oct 30 22:42:41 iPhone racoon[151] <Warning>: Ignored attribute APPLICATION_VERSION
Oct 30 22:42:41 iPhone racoon[151] <Warning>: Ignored short attribute UNITY_SAVE_PASSWD
Oct 30 22:42:41 iPhone racoon[151] <Notice>: IPSec Network Configuration established.
Oct 30 22:42:41 iPhone racoon[151] <Notice>: >>>>> phase change status = phase 1 established


Вот это вот «Ignored short attribute UNITY_SAVE_PASSWD» меня очень смущает. Для чистоты эксперимента даже перезагрузил айфон после удаления профиля. Что-то там нечисто.
Если честно, очень интересует на сколько хватает телефона при работе через VPN.(естественно при включенном пуше и т.д.)
Думается не на много меньше чем без него, но для себя я отметил такой плюс — при подключении по VPN и использовании кеширующего прокси сервера (например squid) использование интернета от сотового оператора становится приятнее в связи с заметно возросшей скоростью загрузки страниц. Интернет на прокси сервере гораздо быстрей 3G и т.п. что в свою очередь избавляет телефон от ожидания соединения с сайтами и ожидания загрузки различных ресурсов типа картинок, css, js (они подгружаются на прокси сервере и в телефон поступают на максимально возможной скорости и без задержек).
Особой разницы я не заметил. Я думаю что основное потребление энергии идет от 3G или Wi-Fi модуля, а дополнительные затраты на шифрование не особо должны быть заметны.
А какие провайдеры блокируют PPTP? Я ни разу не сталкивался. У меня PPTP до домашнего роутера поднимается. И Cisco IPSec до работы. Ни разу не испытывал проблем с неработоспособностью ни того ни другого.
Когда разбирался, видел относительно много постов о том, что сотовые операторы могут резать GRE пакеты нужные для PPTP. Сам лично с таким не сталкивался и решил, что лучше сразу настроить IPSec, чтобы не столкнуться с этой проблемой в командировке или отпуске.
НЛО прилетело и опубликовало эту надпись здесь
Вы правы. В случае iOS порт, в настройках изменить нельзя. Поэтому да, если зарежут, то будет печально. Единственное решение, которое я вижу — это сменить телефон на Андроид)
Так-то оно все, конечно, круто, но ничего не получилось :-( Хостинг тот же, все по инструкции, а в итоге в логе подключения (стандартный клиент Mac OS X 10.8):

pppd[10746]: IPSec connection started
racoon[1193]: Connecting.
racoon[1193]: IPSec Phase1 started (Initiated by me).
racoon[1193]: IKE Packet: transmit success. (Initiator, Main-Mode message 1).
racoon[1193]: IKE Packet: transmit success. (Phase1 Retransmit).
--- last message repeated 2 times ---
pppd[10746]: IPSec connection failed


Что может быть неправильно?
А, все, разобрался по ссылке внизу. Прошу прощения.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории