Этот документ описывает настройку L2TP / IPSec на сервере CentOS 6 для использования с клиентами Android ICS. Как  сообщает Openswan, существуют проблемы с Android ICS ( 7 байт ISAKMP NAT-ОА Payload должен быть равен нулю ), установкой VPN основанной на IPSec-инструментах.nnУстановка была успешно протестирована с Android 4.0.3 и прошивкой 5.0.1 в сценарии сети:
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
| 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 сетиnn
nn n
VPN соединение
Настройки -> Подробнее … -> VPN -> Главная LANnn
n
IOS Клиент iPhone и Ipad
Настройка VPN
Настройки -> Общие -> Сеть -> VPN -> Добавить конфигурацию VPNnn
n
VPN соединение
Установка и настройка VPN, обращайтесь office@itfb.com.ua
