Этот документ описывает настройку 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 сетиnnnn n
VPN соединение
Настройки -> Подробнее … -> VPN -> Главная LANnnn
IOS Клиент iPhone и Ipad
Настройка VPN
Настройки -> Общие -> Сеть -> VPN -> Добавить конфигурацию VPNnnn
VPN соединение
Установка и настройка VPN, обращайтесь [email protected]