Если кто-то уже наслышан о VPN, но не в курсе для чего это все и как работает, то самое время выделить минут 20 на эту статью, дабы познакомиться со всеми тонкостями организации сетей VPN.
Итак, начну с определений. VPN (от англ. Virtual Private Network «виртуальная частная сеть») — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (скажем в том же Интернет).
Итак, у нас есть всем известный Интернет, который нас сообщает, нас соединяет. При этом он используется не только частными лицами, но и большими корпорациями, для передачи скажем служебных данных.
В итоге что же получается, важная служебная информация попадает в интернет... Вот такое решение и такая мысль не понравилась многим, отсюда и выросли ноги у виртуальных сетей, которые как бы "ложатся" поверх существующих.
Их преимущества в том, что не важно насколько сеть открыта и доступна для всех, информация в VPN сети передается используя средств криптографии (шифрования, аутентификации, инфраструктуры открытых ключей, средств для защиты от повторов и изменений передаваемых по логической сети сообщений).
При этом зачастую под такие методы шифрования устанавливается не только программное обеспечение, которое как раз и занимается подобным шифрованием, но и специализированное оборудование, которое только этим и занимается.
Все это сделано для увеличения быстродействия.
Виды VPN сетей
В зависимости от применяемых протоколов и назначения, VPN может обеспечивать соединения трёх видов: узел-узел, узел-сеть и сеть-сеть.
Обычно VPN развёртывают на уровнях не выше сетевого, так как применение криптографии на этих уровнях позволяет использовать в неизменном виде транспортные протоколы (такие как TCP, UDP).
Пользователи Microsoft Windows обозначают термином VPN одну из реализаций виртуальной сети — PPTP, причём используемую зачастую не для создания частных сетей.
Чаще всего для создания виртуальной сети используется инкапсуляция протокола PPP в какой-нибудь другой протокол — IP (такой способ использует реализация PPTP — Point-to-Point Tunneling Protocol) или Ethernet (PPPoE) (хотя и они имеют различия).
Технология VPN в последнее время используется не только для создания собственно частных сетей, но и некоторыми провайдерами «последней мили» на постсоветском пространстве для предоставления выхода в Интернет.
При должном уровне реализации и использовании специального программного обеспечения сеть VPN может обеспечить высокий уровень шифрования передаваемой информации.
Структура VPN
VPN состоит из двух частей: «внутренняя» (подконтрольная) сеть, которых может быть несколько, и «внешняя» сеть, по которой проходит инкапсулированное соединение (обычно используется Интернет).
Подключение удалённого пользователя к VPN производится посредством сервера доступа (обеспечивает туннелирование всего IP-трафика между защищаемыми сетями в защищенное соединение между ViPNet [Координаторами] по UDP-протоколу), который подключён как к внутренней, так и к внешней (общедоступной) сети. При подключении удалённого пользователя (либо при установке соединения с другой защищённой сетью) сервер доступа требует прохождения процесса идентификации, а затем процесса аутентификации. После успешного прохождения обоих процессов удалённый пользователь (удаленная сеть) наделяется полномочиями для работы в сети, то есть происходит процесс авторизации.
Классификация VPN
Классифицировать решения VPN можно по нескольким основным параметрам:
По степени защищённости:
Защищённые (безопасность в приоритете)
Наиболее распространённый вариант виртуальных частных сетей. С его помощью возможно создать надежную и защищённую сеть на основе ненадёжной сети, как правило, Интернета. Примером защищённых VPN являются: IPSec, OpenVPN и PPTP.
Доверительные (безопасность не важное)
Используются в случаях, когда передающую среду можно считать надёжной и необходимо решить лишь задачу создания виртуальной подсети в рамках большей сети. Проблемы безопасности становятся неактуальными. Примерами подобных решений VPN являются: Multi-protocol label switching (MPLS) и L2TP (Layer 2 Tunnelling Protocol) (точнее будет сказать, что эти протоколы перекладывают задачу обеспечения безопасности на другие, например L2TP, как правило, используется в паре с IPSec).
VPN сети разделяются по способу реализации
Реализация сети VPN осуществляется при помощи специального комплекса программно-аппаратных средств. Такая реализация обеспечивает высокую производительность и, как правило, высокую степень защищённости.
В виде программного решения
Используют персональный компьютер со специальным программным обеспечением, обеспечивающим функциональность VPN (координатор).
VPN с разным назначением
Intranet VPN
Используют для объединения в единую защищённую сеть нескольких распределённых филиалов одной организации, обменивающихся данными по открытым каналам связи.
Remote Access VPN
Используют для создания защищённого канала между сегментом корпоративной сети (центральным офисом или филиалом) и одиночным пользователем, который, работая дома, подключается к корпоративным ресурсам с домашнего компьютера, корпоративного ноутбука, смартфона или интернет-киоска.
Extranet VPN
Используют для сетей, к которым подключаются «внешние» пользователи (например заказчики или клиенты). Уровень доверия к ним намного ниже, чем к сотрудникам компании, поэтому требуется обеспечение специальных «рубежей» защиты, предотвращающих или ограничивающих доступ последних к особо ценной, конфиденциальной информации.
Internet VPN
Используется для предоставления доступа к интернету провайдерами, обычно если по одному физическому каналу подключаются несколько пользователей. Протокол PPPoE стал стандартом в ADSL-подключениях.
L2TP был широко распространён в середине 2000-х годов в домовых сетях: в те времена внутрисетевой трафик не оплачивался, а внешний стоил дорого. Это давало возможность контролировать расходы: когда VPN-соединение выключено, пользователь ничего не платит. В настоящее время проводной интернет дешёвый или безлимитный, а на стороне пользователя зачастую есть маршрутизатор, на котором включать-выключать интернет не так удобно, как на компьютере. Поэтому L2TP-доступ отходит в прошлое.
Client/Server VPN
Он обеспечивает защиту передаваемых данных между двумя узлами (не сетями) корпоративной сети. Особенность данного варианта в том, что VPN строится между узлами, находящимися, как правило, в одном сегменте сети, например между рабочей станцией и сервером. Такая необходимость очень часто возникает в тех случаях, когда в одной физической сети необходимо создать несколько логических сетей. Например, когда надо разделить трафик между финансовым департаментом и отделом кадров, обращающихся к серверам, находящимся в одном физическом сегменте. Этот вариант похож на технологию VLAN, но вместо разделения трафика используется его шифрование.
По типу протокола
Существуют реализации виртуальных частных сетей под TCP/IP, IPX и AppleTalk. Но на сегодняшний день наблюдается тенденция к всеобщему переходу на протокол TCP/IP, и абсолютное большинство решений VPN поддерживает именно его. Адресация в нём чаще всего выбирается в соответствии со стандартом RFC5735, из диапазона Приватных сетей TCP/IP.
VPN-соединение на маршрутизаторах
С ростом популярности VPN-технологий, многие пользователи стали активно настраивать VPN-соединение на маршрутизаторах ради увеличения безопасности в сети. VPN соединение, сконфигурированное на маршрутизаторе шифрует сетевой трафик всех подсоединенных устройств, в том числе и тех, которые не поддерживают VPN-технологий.
Многие маршрутизаторы поддерживают VPN-соединение и имеют встроенный VPN-клиент. Существуют маршрутизаторы для которых требуется программное обеспечение с открытым исходным кодом, такое как DD-WRT, OpenWrt и Tomato, для того чтобы поддерживать OpenVPN протокол.