Объяснения принципов работы протоколов vpn-безопасности: понимание pptp

Активации канала PPP и его фазы

  • Link Dead. Эта фаза наступает, когда связь нарушена либо одной из сторон указали не подключаться (например, пользователь завершил модемное соединение.)
  • Link Establishment Phase. В данной фазе проводится настройка Link Control. Если настройка была успешной, управление переходит в фазу аутентификации либо в фазу Network-Layer Protocol, в зависимости от того, требуется ли аутентификация.
  • Authentication Phase. Данная фаза является необязательной. Она позволяет сторонам проверить друг друга перед установкой соединения. Если проверка успешна, управление переходит в фазу Network-Layer Protocol.
  • Network-Layer Protocol Phase. В данной фазе вызывается NCP для желаемого протокола. Например, IPCP используется для установки IP сервисов. Передача данных по всем успешно установленным протоколам также проходит в этой фазе. Закрытие сетевых протоколов тоже включается в данную фазу.
  • Link Termination Phase. Эта фаза закрывает соединение. Она вызывается в случае ошибок аутентификации, если было настолько много ошибок контрольных сумм, что обе стороны решили закрыть соединение, если соединение неожиданно оборвалось либо если пользователь отключился. Данная фаза пытается закрыть всё настолько аккуратно, насколько возможно в данных обстоятельствах.

INFO

PPTP был разработан еще до создания стандартов IPsec и PKI и в настоящее
время является самым популярным VPN-протоколом.

Нажмите кнопку Пуск, выберите Панель Управления

Выберите Центр управления сетями и общим доступом

Выберите Создание нового подключения или сети

Выберите вариант подключения Подключение к рабочему месту

На вопрос системы «Использовать существующее подключение?» ответьте Нет, создать новое подключение

В следующем окне выберите Использовать мое подключение к Интернету (VPN)

Введите адрес VPN-сервера (172.17.0.1) и название для подключения (например, Конкорт-1)

Вспоминаем и вводим Ваш логин\пароль на статистику. Ставим галочку «Запомнить этот пароль». Примечание
на текущий момент логин\пароль на VPN совпадает с Вашим логином\паролем на статистику. Если Вы измените пароль на странице абонента, то к изменению пароля на соединение VPN это не приведет!

Жмем «Пропустить»

Откройте свойства созданного подключения (в примере Конкорт-1), нажав правой кнопкой мыши по соединению.

Установите параметры соответственно рисунку

Вероятно, многие пользователи слышали о таком термине, как «соединение PPTP». Что это такое, некоторые не представляют себе даже отдаленно. Однако, если описывать принципы установки соединения на основе этого протокола простым языком, понять их совершенно нетрудно.

Информация о PPTP

PPTP, что это такое и для чего предназначено?

PPTP, созданный в 1999 году, является одним из старейших протоколов VPN и используется до сих пор. Разработанный Microsoft, он использовался во всех версиях Windows с момента создания Windows 95. Сегодня почти все устройства, настольные и мобильные платформы поддерживают PPTP.

С PPTP туннели VPN поддерживают сетевое соединение, а также шифруют любые данные, которые передаются по этой сети. За прошедшие годы технология продвинулась вперед, PPTP развился в направлении поиска новых способов сбора данных для того, чтобы оставаться по-прежнему передовой разработкой в области шифрования данных.

В конце концов, PPTP наиболее популярен, потому что это самый быстрый, самый распространенный и самый простой протокол VPN для настройки.

  • Поддерживаются: Windows, MacOSX, Linux, iOS, Android, DD-WRT, на смартфонах, планшетах и маршрутизаторах.
  • Шифрование: MPPE-128 бит
  • Скорость: 70 Мбит/с при широкополосном соединении 100 Мбит/с.
  • Безопасность: PPTP не является абсолютно безопасным, однако его трудно расшифровать. PPTP хорош для использования в качестве резервной системы безопасности.

Как работает PPTP

PPTP шифрует, аутентифицирует и согласовывает PPP, любые данные, которые проходят и инкапсулируют данные в IP-конверте. Когда данные собраны, они перемещается по «туннелю». Каждый маршрутизатор или машина, через которые проходят данные, будут восприниматься как IP-пакет. Эти туннели обеспечивают безопасное использование для локальных сетей или для WAN. Даже если вы подключились к публичной сети, информация будет безопасно передана.

PPTP туннели

Существует два типа туннелей:

  1. Самостоятельное туннелирование — инициируется клиентом.
  2. Обязательное туннелирование — инициируется сервером PPTP.

Туннели создаются, когда пользователь запускает клиент PPTP, который подключается к их интернет-провайдеру (ISP), это и есть вариант добровольного туннелирования. Когда туннелирование инициируется сервером, это называется принудительным туннелированием. Для принудительного туннелирования должен обязательно быть запущен маршрутизатор. Добровольное туннелирование не нуждается в маршрутизаторах, мостах или поддержке ISP.

Добровольное туннелирование создает соединение протокола управления передачей (TCP) между клиентом и сервером. После установления VPN туннель PPTP может поддерживать два разных типа потока информации:

  • Контролирующие сообщения для управления VPN-соединением. Эти сообщения передаются непосредственно между клиентом и сервером.
  • Пакеты данных, которые проходят через туннель к клиенту или от него.

Аутентификация и шифрование

В Vista и Win2k8 список опознавательных протоколов PPP заметно сокращен.
Исключены SPAP, EAP-MD5-CHAP и MS-CHAP, которые давно признаны небезопасными (в
них используются алгоритмы хеширования MD4 и шифрования DES). Список доступных
протоколов теперь выглядит так: PAP, CHAP, MSCHAP-v2 и EAP-TLS (требует наличия
пользовательских сертификатов или смарт-карт). Настоятельно рекомендуется
использовать MSCHAP-v2
, поскольку он надежнее и обеспечивает взаимную
аутентификацию клиента и сервера. Также посредством групповой политики предпиши
обязательное применение сильных паролей.

Для шифрования VPN-соединения при помощи MPPE используются 40, 56 и
128-битные RSA RC4 ключи. В первых версиях Windows из-за ограничений на экспорт
военных технологий был доступен только 40-битный ключ и с некоторыми оговорками
– 56-битный. Они уже давно признаны недостаточными, и, начиная с Vista,
поддерживается исключительно 128-битная длина ключа. Может возникнуть ситуация,
что у клиента поддержки такой возможности нет, поэтому для старых версий Windows
надо накатить все сервис-паки или обновления безопасности. Например, WinXP SP2
без проблем подключится к серверу Win2k8.

Чтобы самостоятельно просмотреть список поддерживаемых системой алгоритмов и
длин ключей, обратись к ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL.
В частности, настройки алгоритмов шифрования находятся в ветке Ciphers\RC4.
Принудительно активировать нужную опцию можно, создав параметр dword «Enabled» и
установив его значение в «ffffffff». Есть и другой способ, который Microsoft не
рекомендует, – активировать поддержку 40/56-битных RC4 ключей на сервере Win2k8.
Для этого необходимо установить в «1» параметр реестра HKLM\System\CurrentControlSet\Services\Rasman\Parameters\AllowPPTPWeakCrypto
и перезапустить систему.

Шаг 1 — Установка PPTP

Вам необходимо выбрать один сервер, который будет отвечать за раздачу IP-адресов другим серверам и авторизацию всех Ваших серверов в Вашей VPN. Он и станет Вашим PPTP-сервером.

На CentOS 6 x64:

Rpm -i http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
yum -y install pptpd

На Ubuntu 12.10 x64:

Apt-get install pptpd

Теперь необходимо отредактировать файл /etc/pptpd.conf , добавив в него следующие строчки:

Localip 10.0.0.1
remoteip 10.0.0.100-200

В данном случае, localip — это IP-адрес вашего сервера, а remoteip — IP-адреса, которые будут присваиваться клиентам, которые в ним соединяются.

Здесь сlient — это имя пользователя (логин), server — тип сервиса (в нашем примере — pptpd), secret — пароль, а в IP addresses указывается, какие IP-адреса могут авторизоваться (с данным логином и паролем). Установив в поле IP-адресов звёздочку * Вы указываете, что данная пара логин/пароль должна приниматься с любого IP.

Need a Service With a Nice Selection of VPN Protocols?

We’ve got you covered – CactusVPN provides access to the most popular VPN protocols there are: OpenVPN, SoftEther, IKEv2, SSTP, L2TP/IPSec and PPTP.

Choosing which VPN protocol you want to use is extremely simple – just use the drop-down menu in our VPN app to make your choice before connecting to one of our servers, and you’re good to go. No complex setup processes at all.

Enjoy Top-Notch Online Security Too

Our VPN protocols use AES-256 encryption ciphers to make sure your personal data and Internet traffic are safe and sound.

Plus, we provide access to a reliable Kill Switch as well, so that you can enjoy peace of mind while browsing the web knowing that your traffic will not be exposed even if you happen to encounter connectivity issues.

Oh, and on top of that all we also enforce a strict no-logging policy at our company, meaning you don’t need to worry about anyone here at CactusVPN seeing what you do online.

Преимущества и недостатки PPTP

PPTP существует уже более десяти лет. Сервис имеет множество преимуществ от безопасности до скорости. Однако все же существуют некоторые недостатки, связанные с использованием PPTP. Вот преимущества и недостатки использования PPTP.

Преимущества

PPTP поддерживает все существующие операционные системы (от компьютера до телефона)

Это самое важное преимущество использования PPTP. Если вы пользователь Windows, операционные системы Windows автоматически поддерживают PPTP.
PPTP — это самый простой протокол VPN для настройки даже для тех, у кого мало опыта в настройке VPN.
Из-за низкого уровня шифрования это отлично подходит для загрузки, потоковой передачи и общего использования

Это самый быстрый протокол VPN используемый на сегодняшний день. Например, с помощью него можно разблокировать гео-ограниченный контент, к примеру Hulu или Showtime.
PPTP недорог.

Недостатки

  • Ограничение до 128-битного шифрования делает PPTP устаревшим VPN протоколом. Это небезопасный протокол. Зашифрованную секретную информацию не рекомендуется пропускать через PPTP.
  • Правительственные организации, такие как NSA, смогли взломать протокол PPTP .
  • Стабильность соединения может изменяться в зависимости от сети, что приводит к более медленной скорости.
  • Протокол может быть легко заблокирован интернет-провайдерами, поскольку он работает исключительно через порт 1723 и использует нестандартные GRE-пакеты, которые легко идентифицировать.
  • Не подходит для онлайн-безопасности и онлайн-анонимности.

Если вы намереваетесь использовать протокол, который легко настроить и который обеспечивает высокую скорость работы, но при этом вам не обязательно наличие 100% гарантии высокотехнологичных алгоритмов шифрования, PPTP — это протокол VPN на который вам стоит обратить внимание при настройке и установке дома или в офисе

Настройки в консоли

В окне консоли теперь будет доступно дерево установок. Желательно пройтись по
всем пунктам, чтобы разобраться, что где находится. Так, в пункте «Интерфейсы
сети» будут показаны все настроенные ранее сетевые интерфейсы. Выбрав в меню
пункт «Создать новый интерфейс вызова по требованию», можно добавить подключение
к VPN или PPPoE-серверам. Для просмотра списка протоколов, используемых портов и
их состояния переходим в «Порты». Кнопка «Настроить» в окне «Свойства» позволяет
изменить параметры работы выбранного протокола. Например, по умолчанию
количество PPTP-, L2TP- и SSTP-подключений (портов) ограничено 128, а также
разрешены все подключения (удаленного доступа и по требованию). В качестве
(необязательного) идентификатора сервера используется телефон, введенный в поле
«Номер телефона для этого устройства».

В пункте «Клиенты удаленного доступа» отображается список подключенных
клиентов. Цифра рядом с названием пункта подскажет их количество. При помощи
контекстного меню можно проверить состояние клиента и при необходимости его
отключить. Два пункта IPv4 и IPv6 позволяют настроить IP-фильтры, статические
маршруты, агент DHCP ретрансляции и некоторые другие параметры.

Описание

Протокол PPTP поддерживает шифрование и инкапсуляцию многопротокольного трафика с использованием IP-заголовка для отправки по IP-сети или общедоступной IP-сети, например по Интернету. Протокол PPTP может использоваться для подключений удаленного доступа и VPN-подключений типа «сеть-сеть». При использовании Интернета в качестве общедоступной сети для VPN-подключений PPTP-сервер представляет собой VPN-сервер с поддержкой PPTP, один интерфейс которого находится в Интернете, а второй — в интрасети.

Протокол PPTP инкапсулирует PPP-кадры в IP-датаграммы для передачи по сети. Протокол PPTP использует TCP-соединение для управления туннелем и измененную версию протокола GRE с целью инкапсуляции PPP-кадров для туннелированных данных. Полезные данные инкапсулированных PPP-кадров могут быть шифрованными, сжатыми или и теми, и другими одновременно.

Кадр PPP (IP-, IPX- или Appletalk-датаграмма) заключается в оболочку с заголовком GRE (Generic Routing Encapsulation) и заголовком IP. В заголовке IP-адреса источника и приемника соответствуют VPN-клиенту и VPN-серверу.

Заголовок GRE состоит из 2 частей по 2 байта:
1-2 байты — флаги:

  1. ChecksumPresent – бит 0, если равен 1, то в заголовке GRE присутствует необязательное поле контрольной суммы – Checksumfield;
  2. Key Present – бит 2, если равен 1, то в заголовке GRE присутствует необязательное поле, содержащее ключ – Key field;
  3. Sequence Number Present – бит 3, если равен 1, то в заголовке GRE присутствует необязательное поле порядкового номера – SequenceNumberfield;
  4. Version Number – биты 13–15. Данное поле обозначает версию реализации GRE. Значение 0 обычно используется для GRE. Point-To-Point протокол (PP2P) использует версию 1.

3-4 байты, в свою очередь, содержат тип протокола (ethertype) инкапсулированного пакета.

PPTP является наиболее часто используемым протоколом для построения VPN многие годы. Он опирается на различные методы аутентификации для обеспечения безопасности (как правило, MS-CHAP v.2). Является стандартным протокол почти во всех операционных системах и устройствах, поддерживающих VPN. Его главное преимущество заключается в том, что он использует меньше вычислительных ресурсов, следовательно обладает высокой скоростью работы.

Обычно используется со 128-битным шифрованием, в следующие несколько лет после включения этого протокола в состав Windows 95 OSR2 в 1999 году были найдены ряд уязвимостей. Наиболее серьезной из которых явилась уязвимость протокола аутентификации MS-CHAP v.2. Используя эту уязвимость, PPTP был взломан в течение 2 дней. Microsoft сама рекомендовала к использованию в качестве VPN проколов L2TP или SSTP.

Автоматическое установление разорванного VPN соединения

Важным аспектом является способность IPsec устанавливать соединение заново. Для этого существуют настройки в ispec.conf, однако детали этих настроек могут отличаться от версии ПО. Сверяйтесь с мануалом именно по вашей версии программного обеспечения.

Плюсы:

  • высокая криптоустойчивость
  • возможность использования L2TP внутри IPsec для аутентификации по имени пользователя и паролю (вариант VPNKI)

Минусы:

  • сложен для настройки и поиска неисправностей
  • большие накладные расходы на передачу трафика в канале за счет заголовков

Далее:

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

Кроме базового функционала по объединению VPN туннелей с различными протоколами, в системе VPNKI вы можете воспользоваться удаленным доступом к компьютеру или камере, используя:

Доступ из Интернет через HTTP и SOCK5 прокси

Публикацию URL по которому вы будете попадать на свое домашнее устройство

Проброс порта TCP, который будет вести на устройство в вашей сети

Шаг 6 — Добавление необходимого модуля ядра

Создайте новый файл /etc/ppp/peers/pptpserver и добавьте туда следующие строчки, заменяя имя и пароль Вашими значениями:

Pty «pptp 198.211.104.17 —nolaunchpppd»
name box1
password 24oiunOi24
remotename PPTP
require-mppe-128

Здесь 198.211.104.17 — публичный IP-адрес нашего PPTP-сервера, box1 и 24oiunOi24 — это пара логин/пароль, которые мы задали в файле /etc/ppp/chap-secrets на нашем PPTP-сервере.

Теперь мы можем «вызывать» этот PPTP-сервер. В следующей команде необходимо использовать имя, которое Вы дали файлу с пирами (peers) в директории /etc/ppp/peers/ . Поскольку в нашем примере мы назвали этот файл pptpserver , наша команда выглядит следующим образом:

Pppd call pptpserver

Вы должны увидеть успешное подключение в логах PPTP-сервера:

На Вашем PPTP-клиенте настройте маршрутизацию на Вашу приватную сеть через интерфейс ppp0:

Ip route add 10.0.0.0/8 dev ppp0

Ваш интерфейс ppp0 должен быть настроен, что можно проверить путем запуска ifconfig

Теперь Вы можете сделать пинг к Вашему PPTP-серверу и любым другим клиентам, подключенным к этой сети:

Мы можем добавить второй PPTP-клиент к этой сети:

Yum -y install pptp
modprobe ppp_mppe

Добавьте необходимые строки в файл /etc/ppp/peers/pptpserver (заменяя логины и пароли своими):

Pty «pptp 198.211.104.17 —nolaunchpppd»
name box2
password 239Aok24ma
remotename PPTP
require-mppe-128

Теперь на втором клиенте выполните следующие команды:

Pppd call pptpserver
ip route add 10.0.0.0/8 dev ppp0

Вы можете сделать пинг к первому клиенту, при этом пакеты будут идти через PPTP-сервер и перенаправляться по правилам ip-таблиц, которые мы задали ранее:

Такая настройка позволит Вам создать Вашу собственную виртуальную частную сеть:

Если Вы хотите, чтобы все ваши устройства общались безопасно в рамках одной сети, это наиболее быстрый способ сделать это.

Вы можете использовать такой подход совместно с Nginx, Squid, MySQL и любыми другими приложениями.

Поскольку трафик внутри сети шифруется 128-битным шифрованием, PPTP меньше нагружает процессор, чем OpenVPN, но все же обеспечивает дополнительный уровень безопасности Вашего трафика.

Фаза 1 и Фаза 2

В IPsec все происходит по Фазам.

На фазе 1 происходит установление SA первой фазы. В первой фазе стороны договариваются о методе идентификации, алгоритме шифрования, алгоритме хэшировнаия и группе Diffie Hellman. Эта фаза может пройти путем обмена тремя нешифрованными пакетами (агрессивный режим) или шестью нешифрованными пакетами — стандартный режим. Если все прошло успешно, то создается SA фазы 1 под названием IKE SA и осуществляется переход ко второй фазе.

На фазе 2 стороны договариваются о политике и создаются сами ключи. Эта фаза, в отличии от первой полностью шифруется и она наступает только в случае успешного окончания первой фазы. В связи с тем, что трафик этой фазы полностью шифрован становится сложно осуществлять поиск неполадок, однако если все прошло успешно, то создается SA фазы 2 под названием IPSec SA. В этот момент можно сказать, что туннель установлен.

Управление RRAS при помощи Netsh

Некоторыми настройками RRAS-сервера можно управлять при помощи утилиты Netsh
(network shell). Добавить тип проверки подлинности учетной записи можно при
помощи команды:

> Netsh ras add authtype PAP|MD5CHAP|MSCHAPv2|EAP

Для ранних версий Windows еще и MSCHAP|SPAP. Режим проверки:

> Netsh ras set authmode STANDARD|NODCC|BYPASS

Зарегистрировать компьютер как RRAS-сервер в AD:

> Netsh ras add registeredserver

Добавить расширение PPP:

> Netsh ras add link SWC|LCP

Расширение SWC обеспечивает программное сжатие, а LCP активирует одноименное
расширение протокола PPP. Типы многоканальной связи поддерживаемых PPP:

> Netsh ras add multilink MULTI|BACP

Свойства учетной записи задаются следующим образом:

> Netsh ras set user

При помощи «set client» можно просмотреть статистику или отключить клиента.
Сохранить и восстановить конфигурацию RRAS при помощи Netsh также просто:

> Netsh ras dump > «filename»
> Netsh exec «filename»

Кроме этого, очень много настроек содержит контекст «ras aaaa».

Подробно о Netsh смотри в статье «Командный забег в лагерь Лонгхорна» в .

Стоит ли использовать сторонние утилиты?

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

Можно, конечно, инсталлировать что-то вроде пакета pfSense, представляющего собой межсетевой экран-маршрутизатор, однако его «родной» клиент Multilink PPP Daemon имеет множество проблем с использованием Windows-серверов на основе PPTP в плане распределения использования протокола аутентификации между клиентом и сервером в хотя на домашних пользовательских терминалах таких проблем замечено не было. В настройке эта утилита, равно как и любые другие, гораздо сложнее, и без специальных знаний указать правильные параметры или исправить постоянный «слет» пользовательского IP-адреса не представляется возможным.

Можно попробовать и некоторые другие клиентские или серверные утилиты, предназначенные для установки соединения PPTP, однако какой смысл загружать систему ненужными программами, когда в любой ОС Windows есть собственные средства? Более того, некторые программы не только сложны в настройке, но еще и могут вызывать конфликты на программном и физическом уровне. Так что лучше ограничиться тем, что есть.

Реализация

Cisco первой реализовала PPTP и позже лицензировала эту технологию корпорации Microsoft.

PPTP удалось добиться популярности благодаря тому что это первый VPN протокол, поддерживаемый корпорацией Microsoft. Все версии Microsoft Windows, начиная с Windows 95 OSR2, включают в свой состав PPTP-клиент, однако существует ограничение на два одновременных исходящих соединения. А сервис удалённого доступа для Microsoft Windows включает в себя PPTP сервер.

До недавнего времени в Linux-дистрибутивах отсутствовала полная поддержка PPTP из-за опасения патентных претензий по поводу протокола MPPE. Впервые полная поддержка MPPE появилась в Linux 2.6.13. Официально поддержка PPTP была начата с версии ядра Linux 2.6.14.

Операционная система FreeBSD поддерживает PPTP протокол, используя в качестве сервера PPTP порт mpd (/usr/ports/net/mpd), используя подсистему netgraph. В качестве клиента PPTP в системе FreeBSD может выступать либо порт pptpclient (/usr/ports/net/pptpclient), либо порт mpd, работающий в режиме клиента.

Mac OS X поставляется со встроенным PPTP клиентом. Cisco и Efficient Networks продают реализации PPTP клиента для более старых версий Mac OS. КПК Palm, имеющие поддержку Wi-Fi, поставляются с PPTP клиентом Mergic.

Making A VPN Daemon and Connecting On Boot

This article or section is out of date.

You can create a simple daemon for your VPN connection by creating an appropriate script:

Note: As always, is the name of your tunnel. is the command you use to add the appropriate route to the routing table.

Note: The stop functionality of this script will not work if the and arguments are passed to when pon is started. The reason for this is that the script contains a bug when determining the PID of the specified process if arguments were passed to .

To resolve this issue, you can patch your file by making the following changes on line 93:

-PID=`ps axw | grep "pppd call $1 *\$" | awk '{print $1}'`
+PID=`ps axw | grep "pppd call $1" | awk '{print $1}'`
/etc/rc.d/name-of-your-vpn
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

DAEMON=<TUNNEL>-vpn
ARGS=

[ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON


case "$1" in
 start)
   stat_busy "Starting $DAEMON"
   pon <TUNNEL> updetach persist &>/dev/null && <ROUTING COMMAND> &>/dev/null
   if ; then
     add_daemon $DAEMON
     stat_done
   else
     stat_fail
     exit 1
   fi
   ;;
 stop)
   stat_busy "Stopping $DAEMON"
   poff <TUNNEL> &>/dev/null
   if ; then
     rm_daemon $DAEMON
     stat_done
   else
     stat_fail
     exit 1
   fi
   ;;
 restart)
   $0 stop
   sleep 1
   $0 start
   ;;
 *)
   echo "usage: $0 {start|stop|restart}"  
esac

Note: We call in the script with two additional arguments: and . The argument makes pon block until the connection has been established. The other argument, , makes the network automatically reconnect in the event of a failure. To connect at boot add @<TUNNEL>-vpn to the end of your array in .

Создание и настройка параметров VPN

На следующем этапе нужно создать VPN-подключение. Для этого в разделе «Центра управления» в правой части окна используем строку создания нового подключения.

После этого выбираем подключение к рабочему месту, а затем — использование существующего подключения к интернету.

Далее откладываем настройку-интернет-соединения, а в следующем окне указываем интернет-адрес оператора VPN и вводим произвольное имя (обязательно внизу ставим галочку напротив строки «Не подключаться сейчас»).

После этого вводим логин и пароль, если таковые предусмотрены договор на предоставление услуг, и жмем кнопку «Создать».

В списке доступных подключений выбираем только что созданное и в новом окошке нажимаем кнопку свойств. Далее действовать нужно предельно аккуратно. На вкладке безопасности в обязательном порядке необходимо установить следующие параметры:

  • тип VPN: автоматический;
  • шифрование данных: необязательное;
  • разрешения протоколов: CHAP и CHAP версии 2.

Подтверждаем изменения переходим к окну установки соединения, где жмем кнопку подключения. Если настройки произведены должным образом, произойдет подключение к интернету.

Автоматическое установление разорванного VPN соединения

Важным аспектом является способность клиентского ПО переустановить VPN соединение при пропадании действующего. Такое переустановление соединения может:

  • не происходить
  • происходить безусловно
  • происходить при появлении на маршрутизаторе или компьютере трафика, который предназначен для другой стороны туннеля (dial-on-demand)

Плюсы:

  • широко распространен
  • просто настраивается
  • есть шифрование и компрессия
  • быстрый

Минусы:

слабая устойчивость к атакам на авторизацию по протоколу MS-CHAPv2

PS: Для предотвращения атак взлома MS-CHAPv2, в системе VPNKI вы можете использовать возможность «Белый список». В этом случае, установление соединения будет возможно лишь с указанных в списке IP адресов.

Далее:

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

Кроме базового функционала по объединению VPN туннелей с различными протоколами, в системе VPNKI вы можете воспользоваться удаленным доступом к компьютеру или камере, используя:

Доступ из Интернет через HTTP и SOCK5 прокси

Публикацию URL по которому вы будете попадать на свое домашнее устройство

Проброс порта TCP, который будет вести на устройство в вашей сети

Общие принципы работы и подключения

Мы рассмотрели достаточно кратко соединение PPTP. Что это такое, многим, наверное, уже хоть немного понятно. Полная ясность в вопрос будет внесена после рассмотрения основных принципов функционирования протокола и связи на его основе, а также в разделе, где будет показан процесс установки по шагам соединения PPTP GRE.

Итак, соединение между двумя точками устанавливается на основе обычной PPP-сессии на основе протокола GRE (инкапсуляция). Второе подключение непосредственно на порте TCP отвечает за управление GRE и инициацию.

Сам передаваемый пакет IPX состоит собственно из данных, иногда называемых полезной нагрузкой, и дополнительной управляющей информации. Что происходит при получении пакета на другом конце линии? Соответствующая программа для PPTP-соединения как бы извлекает содержащуюся в цельном пакете IPX информацию и отправляет ее на обработку при помощи средств, соответствующих собственному протоколу системы.

Кроме того, одной из важных составляющих туннельной передачи и приема основной информации является обязательное условие использования доступа при помощи комбинации «логин-пароль». Конечно, взломать логины и пароли на стадии получения можно, но вот в процессе передачи информации через защищенный коридор (туннель) — никак.

Установление VPN соединения

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

Проверка подлинности (аутентификация) может осуществляться как путем привычной проверки имени пользователя и пароля, а также проверкой сертификатов обеих сторон. В различных VPN протоколах используются весьма разнообразные механизмы  аутентификации среди которых: PAP, CHAP, MS-CHAPv1, MS-CHAPv2, EAP, EAP-TLS, PEAP, NTLMv2, EAP-MSCHAPv2 и другие.

В системе VPNKI мы используем протоколы CHAP и MS-CHAPv2 как наиболее распространенные.

Стоит отметить, что различные VPN протоколы могут осуществлять соединения поверх протоколов TCP или UDP. Из-за этого, в общем случае, может зависеть способность протокола проходить корпоративные межсетевые экраны, так как часто администраторами блокируются только исходящие TCP соединения, но исходящие UDP соединения устанавливать разрешается.

Также, важным моментом является способность программного обеспечения клиента устанавливать VPN соединения при старте программы или компьютера/маршрутизатора.

Connect

To make sure that everything is configured properly, as root execute:

# pon <TUNNEL> debug dump logfd 2 nodetach

If everything has been configured correctly, the command should not terminate. Once you are satisfied that it has connected successfully, you can terminate the command.

Note: As an additional verification you can run and ensure that a new device, , is available.

To connect to your VPN normally, simply execute:

# pon <TUNNEL>

Where is the name of the tunnel you established earlier. Note that this command should be run as root.

Routing

Once you have connected to your VPN, you should be able to interact with anything available on the VPN server. To access anything on the remote network, you need to add a new route to your routing table.

Note: Depending on your configuration, you may need to re-add the routing information every time you connect to your VPN.

Split Tunneling

Packets with a destination of your VPN’s network should be routed through the VPN interface (usually ). To do this, you create the route:

# ip route add 192.168.10.0/24 dev ppp0

This will route all the traffic with a destination of 192.168.10.* through your VPN’s interface, ().

Route All Traffic

It may be desirable to route all traffic through your VPN connection. You can do this by running:

# ip route add default dev ppp0

Note: Routing all traffic through the VPN may result in slower over all connection speed because your traffic will be routed through the remote VPN before being routed normally.

Route All Traffic by /etc/ppp/ip-up.d

Note: All scripts in will called when the VPN connection is established.

/etc/ppp/ip-up.d/01-routes.sh
#!/bin/bash

# This script is called with the following arguments:
# Arg Name
# $1 Interface name
# $2 The tty
# $3 The link speed
# $4 Local IP number
# $5 Peer IP number
# $6 Optional ``ipparam'' value foo

ip route add default via $4

Make sure the script is executable.

Split Tunneling based on port by /etc/ppp/ip-up.d

Note: All scripts in will called when the VPN connection is established.

/etc/ppp/ip-up.d/01-routebyport.sh
#!/bin/bash

# This script is called with the following arguments:
# Arg Name
# $1 Interface name
# $2 The tty
# $3 The link speed
# $4 Local IP number
# $5 Peer IP number
# $6 Optional ``ipparam'' value foo

echo 0 > /proc/sys/net/ipv4/conf/$1/rp_filter
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr

ip route flush table vpn
ip route add default via $5 dev $1 table vpn

# forward only IRC ports over VPN
iptables -t mangle -A OUTPUT -p tcp -m multiport --dports 6667,6697 -j MARK --set-mark 0x1
iptables -t nat    -A POSTROUTING -o $1 -j MASQUERADE

ip rule  add fwmark 0x1 pri 100 lookup vpn
ip rule  add from $4 pri 200 table vpn
ip route flush cache

Make sure the script is executable and that the vpn table is added to

201 vpn
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector