Связаться по:
vkarabedyants Telegram Viber

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

L2TP/IPSec VPN установка на Centos 6 (64-bit) для использования с Android ICS и iOS 5 клиентами

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

Установка была успешно протестирована с Android 4.0.3 и прошивкой 5.0.1 в сценарии сети:

L2TP-IPSec-VPN-Scenario

Параметр или значение Описание использование
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 скрин установки

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

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

Установите 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-серверу для следующих портов:

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

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

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

yum -y install ipsec-tools

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

Layer 2 Tunnelling Protocol Daemon

yum -y install xl2tpd

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

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

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

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

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

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

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

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

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

chmod 600 /etc/racoon/racoon.conf

Racoon файл ключей

Создайте файл ключей для аутентификации IKE. 1-й столбец IPSec Идентификатор, 2-й столбец является предварительный ключ IPSec.

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

myhomelan d41d8cd98f00b204e980

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

* d41d8cd98f00b204e980

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

Настройка L2TP Daemon

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

[global]
ipsec saref = yes
force userspace = yes
[lns default]
local ip = 10.203.123.200
ip range = 10.203.123.201-10.203.123.210
refuse pap = yes
require authentication = yes
ppp debug = yes
length bit = yes
pppoptfile = /etc/ppp/options.xl2tpd

Настройка PPP

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

ms-dns 10.203.120.41
ms-dns 8.8.8.8
require-mschap-v2
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 10
lcp-echo-failure 100

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

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

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

chkconfig racoon on
chkconfig xl2tpd on
service racoon start
service xl2tpd start
/etc/racoon/init.sh

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

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

Android ICS клиент

Настройка VPN

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

AndroidVPNSetup

 

VPN соединение

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

AndroidVPNConnect

IOS Клиент iPhone и Ipad

Настройка VPN

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

IOS-LTP-VPN-Setup

VPN соединение

IOS-LTP-VPN-Running

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

3 Responses

  1. admin

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

  2. Turnskin

    Для 7 centos пойдет?
    Я настроил по мануалу, но никто никуда не идет

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.