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 репозиторий
1 |
rpm -ivH http://repo.nikoforge.org/redhat/el6/nikoforge-release-latest |
Установите EPEL репозиторий
1 |
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
1 |
yum -y install ipsec-tools |
Пакет IPSec-инструментов в nikoforge репозитории является исправленная версия, что позволяют использовать символ подстановки «*» в качестве идентификатора IPSec . Не требуется для Android, как для iOS.
Layer 2 Tunnelling Protocol Daemon
1 |
yum -y install xl2tpd |
Скрипт запуска
Создание сценария /etc/racoon/init.sh
1 2 3 4 5 6 7 8 9 |
#!/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 |
1 |
chmod 750 /etc/racoon/init.sh |
Добавьте вызов скрипта в rc.local
1 2 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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; } |
Задание разрешений
1 |
chmod 600 /etc/racoon/racoon.conf |
Racoon файл ключей
Создайте файл ключей для аутентификации IKE. 1-й столбец IPSec Идентификатор, 2-й столбец является предварительный ключ IPSec.
Это прописуем в /etc/racoon/psk.txt для клиентов Android:
1 |
myhomelan d41d8cd98f00b204e980 |
Это прописуем в /etc/racoon/psk.txt для IPhone и IPad IOS клиентов:
1 |
* d41d8cd98f00b204e980 |
Установка разрешений
Настройка L2TP Daemon
Создайте конфигурационный файл /etc/xl2tpd/xl2tpd.conf:
1 2 3 4 5 6 7 8 9 10 11 |
[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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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:
1 2 |
# client server secret IP addresses janedoe * jd480227 * |
1 |
chmod 600 /etc/ppp/chap-secrets |
Запустите службы
1 2 3 4 5 |
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 пойдет?
Я настроил по мануалу, но никто никуда не идет