Авторизация

НАСТРОЙКА VPN СОЕДИНЕНИЯ PPTP НА DEBIAN JESSIE (ДЛЯ RASPBERRY PI)

Настройки на этой странице предназначены для подключения к сервису VPNKI, а не к любому VPN серверу в Интернет. Настройка VPN соединения PPTP на Debian (Raspberry)

Важно! Перед началом настройки ознакомьтесь с "Общими сведениями" о работе системы. Ссылка здесь https://vpnki.ru/settings/before-you-begin/main-tech-info.

Настройка VPN соединения PPTP на Debian (Raspberry). Два варианта

-----------------------------------------------------------------------

Вариант 1. С использованием статических маршрутов

-----------------------------------------------------------------------

1. Обновимся.
sudo apt-get update -y
sudo apt-get upgrade -y

2. Установим пакет pptp-linux.
sudo apt-get install -y pptp-linux

3. Создадим соединение.
sudo pptpsetup --create vpnki --server msk.vpnki.ru --username <имя туннеля> --password <пароль туннеля>

4. Подключим туннель.
sudo pon vpnki updetach

5. Проверим что создан интерфейс ppp0.
ifconfig -s

6. Проверим пинг адреса VPNKI.
ping 172.16.0.1

7. Отключим туннель.
sudo poff vpnki

8. Проверим отключение ppp0.
ifconfig -s

9. Добавим установление PPTP туннеля при загрузке компьютера, открываем файл.
sudo nano -B /etc/rc.local

10. И перед "exit 0" вставляем туда текст.

vpn="on"
if [ $vpn = on ]; then
printf "\nVPN connection to VPNKI\n"
pon vpnki updetach
sleep 5
sudo route add -net "172.16.0.0/16" dev "ppp0" #Маршрут к сети VPNKI
sudo route add -net "192.168.100.0/24" dev "ppp0" #Например маршрут к "другому" вашему туннелю (в домашнюю сеть 192.168.100.0/24)
printf "Netstat output of all PPTP sockets\n"
netstat -a | grep "/var/run/pptp/"
fi


Сохраняем Ctrl+X.

11. Тестируем работу local.rc без перезагрузки.
sudo /etc/rc.local

12. Проверяем наличие ppp0.
ifconfig -s

13. В случае обрыва связи нам потребуется автоматическая переустановка соединения, для этого откройте файл.

sudo nano -B /etc/ppp/peers/vpnki

14. В конец файла добавьте.

persist
maxfail 0
holdoff 10

Сохраните нажав Ctrl+X.

15. В случае обрыва связи и ее восстановлении нам также потребуется автоматически прописать маршруты к сети VPNKI и к вашей "другой" сети. Для этого создайте файл.

sudo nano -B /etc/ppp/ip-up.d/routeadd

16. Добавьте в файл следующие строки.

#!/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 (если такая существует через сеть VPNKI)

Сохраните нажав Ctrl+X.

17. Измените права на исполнение файла при поднятии интерфейса ppp0.

chmod 755 /etc/ppp/ip-up.d/routeadd

 

------------------------------------------------------------------------------------------------

Вариант 2. С использованием протокола DHCP для получения маршрутов

------------------------------------------------------------------------------------------------

Этот вариант НЕ основной, так как не на всех инсталляциях нами был получен качественный результат.

Дело в том, что используемый нами далее скрипт splitp не вполне корректно ведет себя с маршрутами, в которых встречаются адреса с маской /32. Из-за этого могут быть сложности с маршрутизацией.

1. Обновимся.

sudo apt-get update -y
sudo apt-get upgrade -y

2. Установим пакет pptp-linux.
sudo apt-get install -y pptp-linux

3. Создадим соединение.
sudo pptpsetup --create vpnki --server msk.vpnki.ru --username <имя туннеля> --password <пароль туннеля>

4. Подключим туннель.
sudo pon vpnki updetach

5. Проверим что создался интерфейс ppp0.
ifconfig -s

6. Проверим пинг адреса VPNKI.
ping 172.16.0.1

7. Отключим туннель.
sudo poff vpnki

8. Проверим отключение ppp0.
ifconfig -s

9. Добавим установление PPTP туннеля при загрузке компьютера, открываем файл.
sudo nano -B /etc/rc.local

10. И перед "exit 0" вставляем туда текст.

vpn="on"
if [ $vpn = on ]; then
printf "\nVPN connection to VPNKI\n"
pon vpnki updetach
sleep 5
printf "Netstat output of all PPTP sockets\n"
netstat -a | grep "/var/run/pptp/"
fi


Сохраняем Ctrl+X.

11. Тестируем работу local.rc без перезагрузки.
sudo /etc/rc.local

12. Проверяем наличие ppp0.
ifconfig -s

13. В случае обрыва связи нам потребуется автоматическая переустановка соединения, для этого откройте файл.

sudo nano -B /etc/ppp/peers/vpnki

14. В конец файла добавьте.

persist
maxfail 0
holdoff 10

Сохраните нажав Ctrl+X.

15. Для получения маршрутов о сети VPNKI и сетей ваших других туннелей (DHCP Option 249) необходимо скачать, разархивировать и разместить этот файл (с названием splitp) в /etc/ppp/ip-up.d .

16. Измените права для исполнения файла при поднятии интерфейса.

chmod 755 /etc/ppp/ip-up.d/splitp

 

 

Особенность 1

Для использования соединения с шифрованием вам необходимо в настройках соединения:
- использовать авторизацию MS-CHAPv2 и указать что будет использоваться шифрование (MPPE).

Для соединения без шифрования вам необходимо:
- использовать авторизацию CHAP и указать, что шифрование использоваться не будет.

Будьте внимательны,
все иные сочетания методов авторизации и шифрования будут приводить к неработоспособности подключения!

 

Особенность 2

Работа протокола PPTP осуществляется с использованием протокола GRE, с которым у некоторых интернет провайдеров России имеются технические сложности. Эти сложности не позволят вам использовать PPTP для построения VPN туннлей. К таким провайдерам относятся МГТС (Московская городская телефонная сеть), Yota, Мегафон. Однако, такая ситуация не во всех частях их сетей.

Для пользователя ситуация будет выглядеть так, что проверка имени пользователя и пароля проходить не будут. Точнее до этого момента даже не дойдет...В пункте меню "События безопасности" вы будете видеть начало успешного подключения и последней будет являться фраза, говорящая о том, что мы готовы проверять имя и пароль, но ...

Access granted. No whitelist is set for user. Ready to check username / password.

Отсуствие соединения и дальнейших записей в логе (при том, что вы твердо уверены в том, что логин и пароль верные), скорее всего, говорит о том, что GRE у вашего провайдера не пропускается. Можете погуглить на этот счет.

 

PS: В целях борьбы с зависшими сессиями мы принудительно отключаем пользовательские туннели с протоколами PPTP, L2TP, L2TP/IPsec, SSTP через 24 часа после установления соединения. При правильной настройке соединения должны автоматически переустановиться.

 

 

Наша система будет работать с многими типами домашних и офисных маршрутизаторов. Более подробно смотрите в разделе по настройке оборудования, а начать настройку лучше с этого примера.

ДОПОЛНИТЕЛЬНО ПО ТЕМЕ

  • Про VPN и протоколы можно почитать здесь.