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 в сценарии сети:
Параметр или значение | Описание | использование |
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 сети
VPN соединение
Настройки -> Подробнее … -> VPN -> Главная LAN
IOS Клиент iPhone и Ipad
Настройка VPN
Настройки -> Общие -> Сеть -> VPN -> Добавить конфигурацию VPN
VPN соединение
Установка и настройка VPN, обращайтесь [email protected]
echo /etc/racoon/init.sh >> /etc/rc.d/rc.local
-bash: syntax error near unexpected token `;&’
Скорее всего вы скопировали скрытый символ с сайта, который используется для форматирование текста.
Для 7 centos пойдет?
Я настроил по мануалу, но никто никуда не идет