Принципы организации VPN

VPN (Virtual Private Network) – широко распространённая технология, позволяющая организовывать виртуальные сети поверх существующих реальных сетей. В данной статье речь пойдёт о терминологии и общих принципах, настройка таких сетей будет рассматриваться отдельно.

Не смотря на слово «Private» в названии технологии, существует возможность организации и общедоступных – нешифрованных сетей. Вообще, организация VPN может осуществляться огромным количеством способов с использованием разных технологий (SSL VPN, IPSec, GRE и др.).

Любое построение VPN-а означает создание туннелей, под туннелем подразумевается канал между двумя устройствами, по которому передаётся данные. Важное условие – данные изолированы от особенностей построения канала. Устройство, передающее полезные данные делает это так, как будто бы никакого туннеля нет, а настройка самого туннеля при этом выделяется в отдельную задачу. Существует два типа VPN туннелей:

  1. Remote access VPN – означает, что туннель организуется между приложением на компьютере клиента и каким-либо устройством, которое выступает в качестве сервера и организовывает подключения от различных клиентов (например, VPN-концентратор, маршрутизатор, Cisco ASA и т.п.)
  2. Site-to-site VPN – подразумевает наличие двух устройств (например, маршрутизаторов), между которыми имеется перманентный туннель, в этом случае, пользователи находятся за устройствами, в локальный сетях и на их компьютерах не требуется установки какого-либо специального программного обеспечения.

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

В туннеле обычно используется три прослойки протоколов:

  1. Транспортный протокол (например, IP). Это протокол, на котором построена существующая реальная сеть, то есть, он изначально не связан с VPN-ом, но используется для транспортировки инкапсулированных пакетов, содержащих внутри себя зашифрованную, или открытую информацию, относящуюся ко внутренней сети туннеля.
  2. Протокол инкапсуляции (например, GRE) – используется как прослойка между транспортным протоколом и внутренним транспортируемым протоколом.
  3. Инкапсулированный (транспортируемый) протокол (например, IP, IPX, IPSec) – это собственно пакеты внутритуннельной сети, пользователь, подключенный к VPN-у отправляет пакеты, которые на входе в туннель становятся инкапсулированными, например, в GRE, который, в свою очередь, инкапсулируется в транспортный протокол.
Инкапсуляция GRE

Таким образом, общий порядок инкапсуляции, в случае использования site-to-site VPN следующий: пользователь отправляет обычный пакет, пакет доходит до устройства, на котором поднят туннель, устройство заворачивает этот полезный пакет в поле «data» протокола инкапсуляции, который, в свою очередь заворачивается в поле «data» транспортного протокола. После чего из устройства выходит с виду обычный, например, ip пакет, в котором, на самом деле, в поле с полезными данными содержится GRE-пакет, в котором, в свою очередь, содержится другой внутренний IP пакет. Это позволяет использовать независимую адресацию внутри туннеля и снаружи туннеля. Когда целевое устройство получает такой пакет, оно разворачивает его, декапсулируя из него GRE и потом внутренний IP пакет. После чего внутренний пакет направляется получателю. В данной ситуации, как не сложно догадаться, отправитель и получатель ничего не знаю о наличии туннеля, и работают так, как будто бы его нет. При этом в транспортном протоколе используется одна адресация (например, публичные IP адреса), а в транспортируемом протоколе могут использоваться приватные адреса, что не мешает ему транспортироваться через интернет (так как маршрутизация осуществляется для внешнего, транспортного пакета).

Тэги: 

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