Rate this post

Этот документ описывает настройку L2TP / IPSec на сервере CentOS 6 для использования с клиентами Android ICS. Как  сообщает Openswan, существуют проблемы с Android ICS ( 7 байт ISAKMP NAT-ОА Payload должен быть равен нулю ), установкой VPN основанной на IPSec-инструментах.nnУстановка была успешно протестирована с Android 4.0.3 и прошивкой 5.0.1 в сценарии сети:L2TP-IPSec-VPN-Scenarion

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

Параметр или значение Описание использование
10.203.120.0/22 локальная сеть
10.203.123.200 локальный IP или PPP устройство /etc/xl2tpd/xl2tpd.conf
10.203.123.201-10.203.123.210 IP в локальной сети зарезервированные для клиентов /etc/xl2tpd/xl2tpd.conf
10.203.120.40 локальный IP адрес VPN сервера Firewall/Router port forwarding
10.203.120.41 основной сервер имен /etc/ppp/options.xl2tpd
8.8.8.8 второстепенный сервер имен (Google) /etc/ppp/options.xl2tpd
vpn.mydomain.com Адрес сервера Android VPN скрин установки и iOS VPN скрин установки
myhomelan IPSec идентификатор /etc/racoon/psk.txt and Android VPN скрин установки. Не применимо к iOS.
d41d8cd98f00b204e980 IPSec ключ /etc/racoon/psk.txt, Android VPN скрин установки и iOS VPN скрин установки
janedoe имя /etc/ppp/chap-secrets, Android VPN скрин соединения и iOS VPN скрин установки
jd480227 пароль /etc/ppp/chap-secrets, Android VPN скрин соединения и iOS VPN скрин установки

n

Базовая установка CentOS сервера

Производим обычную установку сервера. Если вам нужна установка сервера Linux и настройка любого ПО, обращайтесь в контакты.n

Установите Nikoforge репозиторий

rpm -ivH http://repo.nikoforge.org/redhat/el6/nikoforge-release-latest

Установите EPEL репозиторий

yum -y install http://vesta.informatik.rwth-aachen.de/ftp/pub/Linux/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

Брандмауэр / Конфигурирование маршрутизатора

Настройка Port Forwarding от WAN к VPN-серверу для следующих портов:n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

Port Protocol Description
500 UDP L2TP IKE
4500 UDP L2TP NAT-T
1701 UDP L2TP Traffic

n

 L2TP / IPSec Установка

Инструменты для настройки и использования IPSECn

yum -y install ipsec-tools

Пакет IPSec-инструментов в nikoforge репозитории является исправленная версия, что позволяют использовать символ подстановки «*» в качестве идентификатора IPSec . Не требуется для Android, как для iOS.n

Layer 2 Tunnelling Protocol Daemon

yum -y install xl2tpd

Скрипт запуска

Создание сценария /etc/racoon/init.shn

#!/bin/shn# set security policiesnecho -e "flush;\n\n        spdflush;\n\n        spdadd 0.0.0.0/0[0] 0.0.0.0/0[1701] udp -P in  ipsec esp/transport//require;\n\n        spdadd 0.0.0.0/0[1701] 0.0.0.0/0[0] udp -P out ipsec esp/transport//require;\n"\n        | setkey -cn# enable IP forwardingnecho 1 > /proc/sys/net/ipv4/ip_forward
chmod 750 /etc/racoon/init.sh

Добавьте вызов скрипта в rc.localn

sed --in-place '/\/etc\/racoon\/init.sh/d'  /etc/rc.d/rc.localnecho /etc/racoon/init.sh >> /etc/rc.d/rc.local

Конфигурация IPSec

Создаем конфигурационный фал racoon /etc/racoon/racoon.confn

path include "/etc/racoon";npath pre_shared_key "/etc/racoon/psk.txt";npath certificate "/etc/racoon/certs";npath script "/etc/racoon/scripts";nremote anonymousn{n        exchange_mode    aggressive,main;n        passive          on;n        proposal_check   obey;n        support_proxy    on;n        nat_traversal    on;n        ike_frag         on;n        dpd_delay        20;n        proposaln        {n                encryption_algorithm  aes;n                hash_algorithm        sha1;n                authentication_method pre_shared_key;n                dh_group              modp1024;n        }n        proposaln        {n                encryption_algorithm  3des;n                hash_algorithm        sha1;n                authentication_method pre_shared_key;n                dh_group              modp1024;n        }n}nsainfo anonymousn{n        encryption_algorithm     aes,3des;n        authentication_algorithm hmac_sha1;n        compression_algorithm    deflate;n        pfs_group                modp1024;n}

Задание разрешенийn

chmod 600 /etc/racoon/racoon.conf

Racoon файл ключей

Создайте файл ключей для аутентификации IKE. 1-й столбец IPSec Идентификатор, 2-й столбец является предварительный ключ IPSec.nnЭто прописуем в /etc/racoon/psk.txt для клиентов Android:n

myhomelan d41d8cd98f00b204e980

Это прописуем в /etc/racoon/psk.txt для IPhone и IPad IOS клиентов:n

* d41d8cd98f00b204e980

Установка разрешенийn

Настройка L2TP Daemon

Создайте конфигурационный файл /etc/xl2tpd/xl2tpd.conf:n

[global]nipsec saref = yesnforce userspace = yesn[lns default]nlocal ip = 10.203.123.200nip range = 10.203.123.201-10.203.123.210nrefuse pap = yesnrequire authentication = yesnppp debug = yesnlength bit = yesnpppoptfile = /etc/ppp/options.xl2tpd

Настройка PPP

Создать файла  /etc/ppp/options.xl2tpd:n

ms-dns 10.203.120.41nms-dns 8.8.8.8nrequire-mschap-v2nasyncmap 0nauthncrtsctsnlocknhide-passwordnmodemndebugnname l2tpdnproxyarpnlcp-echo-interval 10nlcp-echo-failure 100

Создайте секретный файл CHAP /etc/ppp/chap-secrets:n

# client       server    secret       IP addressesn  janedoe      *         jd480227     *
chmod 600 /etc/ppp/chap-secrets

Запустите службы

chkconfig racoon onnchkconfig xl2tpd onnservice racoon startnservice xl2tpd startn/etc/racoon/init.sh

Обновление для Centos 6.3 или выше

Убедитесь, что вы установили force userspace = yes в секции [global] в файле /etc/xl2tpd/xl2tpd.confn

Android ICS клиент

Настройка VPN

Настройки -> Подробнее … -> VPN -> Добавить VPN сетиnnAndroidVPNSetupnn n

VPN соединение

Настройки -> Подробнее … -> VPN -> Главная LANnnAndroidVPNConnectn

IOS Клиент iPhone и Ipad

Настройка VPN

Настройки -> Общие -> Сеть -> VPN -> Добавить конфигурацию VPNnnIOS-LTP-VPN-Setupn

VPN соединение

IOS-LTP-VPN-Runningn

Установка и настройка VPN, обращайтесь [email protected]