Настройки на этой странице предназначены для подключения к сервису VPNKI, а не к любому VPN серверу в сети Интернет.
Перед началом настройки соединения ознакомьтесь с "Общими сведениями" о работе системы. Ссылка здесь - https://vpnki.ru/settings/before-you-begin/main-tech-info .
Правила и маршруты на сервере VPNKI применяются при подключении туннеля. Если изменили настройки в личном кабинете, то переподключите туннели.
-------
Важно! Прежде чем начать нам потребуется узнать версию Raspbian (Debian) на вашей машине. От этого будут зависеть некоторые тонкости.
1. Выполните команду.
sudo cat /etc/os-release
в первой строке вывода будет информация о версии. Например:
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
Итак, если у вас Jessie, то выполняйте пункты с 1 по ... Если Wheezy, то идите в конец страницы, там вас ждут некоторые небольшие хлопоты.
Немного теории.
Установления соединения L2TP/IPsec происходит следующим образом. Сначала устанавливаем соединение IPsec, которое и создает шифрованный туннель с общим ключом. Затем внутри этого туннеля запускается протокол L2TP для авторизации по имени пользователя и паролю системы VPNKI.
2. Установим пакет strongswan для шифрования IPsec.
sudo apt-get install -y strongswan
3. Добавим в файл /etc/ipsec.secrets общий ключ для всех соединений.
sudo nano /etc/ipsec.secrets
вот прямо вот такой текст.
: PSK "vpnki"
Сохраняем Ctrl+X.
4. Откроем файл /etc/ipsec.conf.
sudo nano /etc/ipsec.conf
и добавим в конец.
conn %default
ikelifetime=16h
keylife=12h
rekeymargin=3m
keyingtries=1
keyexchange=ikev1
authby=secret
aggressive = no
conn vpnki-l2tp
authby=secret
auto=add
rekey=no
type=transport
right=msk.vpnki.ru ### в случае использования московского сервера vpnki
rightid=%any
rightprotoport=17/1701
ike=aes256-sha1-modp2048
esp=aes256-null
left=%any
leftprotoport=17/%any
dpdaction=clear
Сохраняем Ctrl+X.
5. Перезапустим strongswan.
sudo ipsec restart
6. Проверим что IPsec устанавливает туннель, выполните команду.
sudo ipsec up vpnki-l2tp
7. Проверим, что ассоциации созданы.
sudo ipsec statusall
(добавить скриншот :))
Инструкция для версии xl2tpd-1.3.1. Узнать версию можно из /var/log/syslog при старте xl2tpd.
8. Установим пакет xl2tpd для подключения по протоколу L2TP.
sudo apt-get install -y xl2tpd
9. Настроим пакет xl2tpd, для этого добавим в файл /etc/xl2tpd/xl2tpd.conf новое соединение с именем vpnki.
sudo nano /etc/xl2tpd/xl2tpd.conf
и добавим в конец следующий текст.
[lac vpnki]
lns = msk.vpnki.ru
require chap = yes
refuse pap = yes
require authentication = yes
name = <имя пользователя в формате userXXXX>
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
10. Создадим новый файл.
sudo nano /etc/ppp/options.l2tpd.client
и добавим туда.
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-chap
noccp
noauth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
#proxyarp
connect-delay 5000
name <имя пользователя vpnki в формате userXXXX>
password <пароль для пользователя vpnki userXXXX>
remotename vpnki
ipparam vpnki
Сохраняем Ctrl+X.
11. Создайте управляющий файл для демона xl2tpd.
sudo mkdir -p /var/run/xl2tpd
sudo touch /var/run/xl2tpd/l2tp-control
12. Перезапустите демон xl2tpd.
sudo service xl2tpd restart
13. Теперь запустите соединение.
sudo echo "c vpnki" > /var/run/xl2tpd/l2tp-control
14. Проверим, что соединение успешно установлено. Для этого выполните команду.
sudo ifconfig -s
в ней вы должны обнаружить работающий интерфейс ppp0.
15. Выполните команду ping для проверки доступности сервера VPNKI.
ping 172.16.0.1
16. Разорвите соединение командой и перезапустите xl2tpd.
sudo echo "d vpnki" > /var/run/xl2tpd/l2tp-control
К сожалению, на момент написания инструкции эта команда приводит к крэшу демона xl2tpd на одной из двух тестируемых нами систем. Это описано в баге 838998. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838998
Поэтому после разрыва соединения лучше выполнить команду перезагрузки демона.
sudo service xl2tpd restart
17. Добавим установление соединения ipsec к серверу VPNKI при старте системы. Для этого выполните:
sudo nano /etc/ipsec.conf
найдите параметр auto=add и замените его на auto=start .
18. Осталось уже немного. Добавим старт соединения к серверу VPNKI через соединение xl2tpd при старте системы.
Для этого откроем файл.
sudo nano /etc/rc.local
и добавим в него:
#!/bin/sh -e
sudo service xl2tpd restart
sudo echo "c vpnki" > /var/run/xl2tpd/l2tp-control
exit 0
Сохраняем Ctrl+X.
Обратите внимание, что в скрипте запуска есть команда перезапуска демона xl2tpd. Она нужна по причине наличия ранее описанного бага.
19. Протестируем rc.local без перезагрузки.
sudo /etc/rc.local
20. Соединение должно установиться. Для проверки выполните команду.
sudo ifconfig -s
в ней вы должны обнаружить работающий интерфейс ppp0.
Если все ок, значит скрипт в /etc/rc.local работает корректно.
21. Осталось прописать маршруты. Сделать это можно как вручную, так и получив по DHCP от сервера vpnki
Для автоматического получения о сети VPNKI и сетей ваших других туннелей (DHCP Option 249) необходимо скачать, разархивировать и разместить этот файл (с названием splitp) в /etc/ppp/ip-up.d
Вариант с получением маргрутор по DHCP - НЕ основной, так как не на всех инсталляциях нами был получен качественный результат. Дело в том, что используемый нами далее скрипт splitp не вполне корректно ведет себя с маршрутами в которых встречаются адреса с маской /32 и из-за этого могут быть сложности с маршрутизацией.
Лучше переходите к п.23.
22. Измените права для исполнения файла при поднятии интерфейса
sudo chmod 755 /etc/ppp/ip-up.d/splitp
23. Если вы хотите все прописать руками, то сделать это можно так
В случае обрыва связи и ее восстановлении нам также потребуется автоматически прописать маршруты к сети VPNKI и к вашей "другой" сети. Для этого создайте файл
sudo nano -B /etc/ppp/ip-up.d/routeadd
Добавьте в файл следующие строки:
#!/bin/sh -e
route add -net "172.16.0.0/16" dev "ppp0" #Маршрут к сети VPNKI
route add -net "192.168.100.0/24" dev "ppp0" #Например маршрут к вашей "другой" сети 192.168.100.0/24
Сохраните нажав Ctrl+X.
24. Измените права на исполнение файла при поднятии интерфейса ppp0.
chmod 755 /etc/ppp/ip-up.d/routeadd
-------------------------------------------------
К сожалению для пользователей Wheezy, из репозитория устанавливается пакет strongswan версии 4.x.x, но устанавливается некорректно (по крайней мере у нас) и поэтому не работает. Для нашей же конфигурации требуется версия пакета strongswan 5.2.1 который легко устанавливается на Jessie. Однако установить его на Wheezy все-таки возможно. Мы, конечно, должны предупредить, что вы делаете все на свой страх и риск и обязательно сделайте бэкап.
Для этого необходимо в перечень репозиториев добавить новые источники:
1. Выполните sudo nano /etc/apt/sources.list и сделайте так, что бы ваша Raspberry могла получать пакеты для двух типов ОС:
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
# Source repository to add
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
# Source repository to add
deb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
Сохраните Ctrl-X.
2. Добавим новые слова для выбора версии ОС при обновлении. Для этого создайте новый файл.
sudo nano /etc/apt/preferences
и добавьте в него.
Package: *
Pin: release n=jessie
Pin-Priority: 900
Package: *
Pin: release n=wheezy
Pin-Priority: 300
Package: *
Pin: release o=Raspbian
Pin-Priority: -10
Or, if you want to stick to wheezy
Package: *
Pin: release n=wheezy
Pin-Priority: 900
Package: *
Pin: release n=jessie
Pin-Priority: 300
Package: *
Pin: release o=Raspbian
Pin-Priority: -10
Сохраните Ctrl-X.
3. Сделайте команду apt-get upgrade для загрузки новых версий приложений.
4. Установите требуемую версию strongswan 5.2.1 из репозитория Jessie командой.
sudo apt-get install -t jessie strongswan
Если все успешно установилось, то переходите к настройкам ipsec и xl2tpd, которые приведены в пунктах 1 - 24.
Ну вот и все. Вы успешно выполнили настройку удаленного подключения по протоколу L2TP. Надеемся, что все заработало!
Более подробно почитать о протоколе L2TP вы можете в нашем материале по этой ссылке.
После успешной настройки подключения мы рекомедуем вам выполнить несколько важных шагов. Они дадут вам уверенность в том, что VPN соединение работоспособно в полном объеме.
Надеемся, что вы успешно прошли все пункты советов! Теперь ваше соединение работает успешно. А вы познакомились с основными инструментами сервера.
Если в дальнейшем возникнут сложноси с настроенным подключением, то эти советы помогут вам в поиске неисправностей.
*** Если вдруг что-то не получилось, обращайтесь на Форум.
Если вы не планируете передачу видео трафика, то мы рекомендуем вам начинать с выбора тарифа PLAN-MYDEV. Если передача видео будет осуществляться, то стоит сразу начинать с PLAN-VIDEO. Если скорости хватать не будет, то в любое время вы можете изменить тариф на более скоростной.
Если вы используете нашу систему для решения бизнес задач, то начинайте с аналогичных тарифов с приставкой BUSINESS-.
Контролировать объем переданного трафика вы можете на странице с графиками использования.
Узнать реальную скорость своего VPN соединения вы можете утилитой iperf3 на странице "Инструменты". Стоит отметить, что вопрос скорости передачи полезных данных будет зависеть от трех факторов:
Худшим вариантом по скорости окажется вариант, когда в качестве транспортного протокола для VPN соединения используется TCP. При этом ваше устройство размещено далеко от сервера VPNKI. В этом случае, реальная скорость передачи данных будет определяться необходимостью подтверждения передачи каждого пакета в протоколе TCP.
Кроме настройки по этой инструкции вам могут пригодиться другие примеры конфигурации и использования системы.
По ссылкам ниже вы можете ознакомиться с информацией, связанной с темой VPN соединений.