Найти в Дзене
Net Network

Виртуальные сети. VPN. Протоколы. Часть 2.

Здравствуйте, уважаемые друзья. В первой части мы с вами постарались разобраться с определением "виртуальность" и "виртуализация", рассмотрели примеры т.н. "виртуальных машин". Сегодня поговорим о виртуальных сетях, VPN, и постараемся понять, как это работает. И так, приступаем! Для начала, давайте попробуем разобраться с терминами: Данные - формы представления информации, с которыми имеют дело информационные системы и их пользователи. На мой взгляд, это наиболее простое и доходчивое объяснение понятия. Информация - разъяснение, представление, понятие о чём-либо. Прямой перевод с латинского языка наиболее близко дает представление об этом термине. Компьютерная сеть (вычислительная сеть) - система, обеспечивающая обмен данными между вычислительными устройствами. Этого объяснения пока будет достаточно для понимания. В дальнейшем мы обсудим виды, способы построения и применение таких систем. Протокол передачи данных (просто протокол) - в WikiPedia дается пара объяснений, что это так
Виртуальные сети. VPN. Протоколы.
Виртуальные сети. VPN. Протоколы.

Здравствуйте, уважаемые друзья.

В первой части мы с вами постарались разобраться с определением "виртуальность" и "виртуализация", рассмотрели примеры т.н. "виртуальных машин". Сегодня поговорим о виртуальных сетях, VPN, и постараемся понять, как это работает. И так, приступаем!

Для начала, давайте попробуем разобраться с терминами:

  • данные
  • информация
  • протокол передачи данных
  • компьютерная сеть

Данные - формы представления информации, с которыми имеют дело информационные системы и их пользователи. На мой взгляд, это наиболее простое и доходчивое объяснение понятия.

Информация - разъяснение, представление, понятие о чём-либо. Прямой перевод с латинского языка наиболее близко дает представление об этом термине.

Компьютерная сеть (вычислительная сеть) - система, обеспечивающая обмен данными между вычислительными устройствами. Этого объяснения пока будет достаточно для понимания. В дальнейшем мы обсудим виды, способы построения и применение таких систем.

Протокол передачи данных (просто протокол) - в WikiPedia дается пара объяснений, что это такое. Мы же, как всегда прибегнем к аналогии, так будет более понятно.

Люди для общения между собой наиболее часто используют один вид передачи информации - речь. Жесты и мимику мы рассматривать не будем ввиду её малой информативности в плане объёма передаваемых данных. Допустим, Андрей в совершенстве владеет 3-я языками: русским, немецким и французским. Юля в совершенстве владеет русским, французским и финским. Джордж владеет английским, суахили и французским. На рисунке 1 представлены все три персонажа:

Рис. 1. Андрей, Джордж и Юля пытаются поговорить между собой.
Рис. 1. Андрей, Джордж и Юля пытаются поговорить между собой.

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

Теперь мы можем подойти к определению того, что же такое VPN. WikiPedia даёт достаточно точное определение этого понятия, но оно скорее будет понятно людям более-менее подготовленным: VPN (виртуальная частная сеть) - обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например Интернет). Приводится рисунок (Рис. 2):

Рис. 2. Рисунок из WikiPedia, поясняющий устройство VPN.
Рис. 2. Рисунок из WikiPedia, поясняющий устройство VPN.

Мы же снова прибегнем к аналогиям и образам, что бы лучше понять, что же собой представляет VPN. Сразу отмечу, что VPN, как сеть или часть сети обладает важным свойством - у VPN всегда есть минимум 2 точки (узла), которые она объединяет между собой. То есть, есть как минимум устройство (узел) "A" и устройство (узел) "B", между которыми и организуется виртуальное соединение (VPN). Это свойство сети VPN нам пригодится для понимания того, как работает VPN. Почему мы говорим о "точках", "устройствах" и "узлах", а не о компьютерах? Дело в том, что туннель (а именно это и является наиболее логичным названием технологии VPN) может быть организован не только между пользовательскими ПК, но и (чаще всего) между другими сетевыми устройствами, например маршрутизаторами (роутерами). По этой причине мы говорим именно об "устройствах" или "узлах". Кстати, узлами сети называют устройства, которые обрабатывают и передают информацию, такое определение так же очень часто встречается.

И так, снова аналогия. Интернет и прочие сети принято изображать на рисунках в виде облака. Но мы с вами начнем с дорог или шоссе (рис. 3).

Рис. 3. Дорога с выделенной полосой для общественного транспорта.
Рис. 3. Дорога с выделенной полосой для общественного транспорта.

На рисунке 3 изображена дорога общего пользования. Это будет дорога общего пользования (N - network) (Интернет). На дороге общего пользования мы видим разметку для общественного транспорта, куда обычным машинам заезжать запрещено правилами дорожного движения, то есть это выделенная полоса (P - private)на дороге общего пользования. Физически и дорога общего пользования, и выделенная полоса составляет единое целое, логически (правилами движения) они разделены. Получается, что поверх дороги общего (Интернет) пользования проходит еще одна дорога (Частная или Private), то есть VPN.

Возьмем другое пример. Представим себе трубу большого диаметра - это будет сеть (не важно, Интернет или просто сеть между какими то объектами). По ней течёт вода (данные). Если мы поместим внутрь трубы большого диаметра трубe меньшего диаметра и пустим по ним воду, то вся вода (данные) и в большой, и в малой трубе будут физически проходить внутри большой трубы, но логически будут разделены, пояснения даны под рисунком (рис. 4):

Рис. 4. "Труба в трубе" физическое объединение и логическое разделение. 1-5 клиенты (узлы), подключённые напрямую к сети Интернет (или просто какой-либо сети), A и B - клиенты (узлы) подключённые между собой посредством туннеля VPN. Данные между узлами A и B передаются через общую сеть (Интернет), однако они изолированы (являются приватными - Private) .
Рис. 4. "Труба в трубе" физическое объединение и логическое разделение. 1-5 клиенты (узлы), подключённые напрямую к сети Интернет (или просто какой-либо сети), A и B - клиенты (узлы) подключённые между собой посредством туннеля VPN. Данные между узлами A и B передаются через общую сеть (Интернет), однако они изолированы (являются приватными - Private) .

Аналогов можно придумать множество, но думаю, для понимания процесса вполне достаточно будет двух вышеприведенных.

В литературе и в сети Интернет принято изображать сети в виде облака, связано это с тем, что в сетях передаются различные данные, существует большое число различных сервисов и действуют разные протоколы передачи данных, то есть сети - среда разнородная и изображение облака наиболее близко по смыслу подходит к определению сетей в целом и сети Интернет в частности (рис. 2, 5, 6):

Рис. 5. Схематичное изображение сети (в данном случае Интернет) и подключенных устройств.
Рис. 5. Схематичное изображение сети (в данном случае Интернет) и подключенных устройств.
Рис. 6. Схематичное изображение узлов (устройств), подключенных к сети.
Рис. 6. Схематичное изображение узлов (устройств), подключенных к сети.

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

В "народном хозяйстве" VPN находят применение в первую очередь для того, что бы удалённый пользователь (например работник, находящийся дома или в командировке) мог получить доступ к сети компании (часто такие сети называют корпоративными). В корпоративных сетях может располагаться масса сервисов и приложений (программ), которые по тем или иным причинам нежелательно выставлять на всеобщее обозрение в Интернет. Это может быть бухгалтерия предприятия, внутренняя электронная почта, внутренние системы мгновенных сообщений (мессенджеры) или просто хранилище документации предприятия. Понятно, что в целях безопасности такие сервисы и приложения должны находиться исключительно внутри сети предприятия. Но как быть, если есть несколько работников, находящихся в командировке, либо бОльшая часть работников находится в режиме самоизоляции (привет COVID-19)? В этом случае как раз и используется VPN - каждый работник, находящийся дома (в командировке) с помощью специального программного обеспечения может подключиться к сети предприятия из любой точки земного шара, главное, что бы там был интернет и работать удалённо так, как если бы он находился на своём рабочем месте в офисе (рис. 7):

Рис. 7. Подключение пользователей к внутренней сети предприятия из дома и командировки. Юля работает с файловым хранилищем и почтой, Андрей работает с 1С-предприятием и почтой, Джордж работает только с 1С-предприятием.
Рис. 7. Подключение пользователей к внутренней сети предприятия из дома и командировки. Юля работает с файловым хранилищем и почтой, Андрей работает с 1С-предприятием и почтой, Джордж работает только с 1С-предприятием.

Так же часто используется подобный сценарий, если предприятие имеет несколько филиалов по городу-региону-стране-всему земному шару. В таком случае филиалы предприятия подключаются посредством VPN как к центральному предприятию, так и между собой. Принцип тут тот же самый, что и в случае с удаленными работниками, только к VPN предъявляются уже несколько иные требования, например бОльшая пропускная способность, возможно более стойкие алгоритмы шифрования данных в туннеле VPN (рис. 8):

Рис. 8. Объединение филиалов предприятия посредством VPN.
Рис. 8. Объединение филиалов предприятия посредством VPN.

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

В техническом плане, отличий между рассмотренными выше схемами построения VPN до сети предприятия и использования VPN для обхода блокировок нет. Разница заключается только в том, что VPN-сервер, до которого строится туннель от компьютера пользователя будет находиться вне территории того государства, в котором ресурс заблокирован. Например, если есть какие-либо игровые сервера, заблокированные для пользователей (игроков) из России, а сами сервера находятся допустим на территории США, то и VPN-туннель нужно будет организовать до VPN-сервера, находящегося на территории США, так как выходной точкой будет именно CIF и игровые сервера будут такого пользователя из России воспринимать как своего, местного.

Другой пример - в данный момент на территории Украины заблокированы российские социальные сети ВКонтакте, Одноклассники. Каким образом гражданам Украины попасть в эти социальные сети? Правильно, нужно на своём компьютере, находящемся допустим в Киеве организовать VPN-туннель до любого российского VPN-сервера. Точкой выхода в таком случае будет Россия, соответственно будет возможность посетить указанные заблокированные ресурсы для украинцев.

Есть один неприятный момент в случае использования VPN для обхода блокировок. Если работая с сетью своего предприятия удалённо с использованием VPN вы можете быть уверены в том, что данные передаются только между вами и предприятием, а так же в том, что они не доступны посторонним (вопросы кривых рук айтишников и админов мы не рассматриваем), то при использовании сторонних VPN-сервисов, даже платных, вам никто не даст 100% гарантии того, что вы анонимны и данные, которые вы передаёте и принимаете через такой VPN не попадут в третьи руки. То есть проще говоря, ваш трафик, данные могут быть расшифрованы на выходе VPN туннеля и просмотрены посторонними лицами, а вы можете быть скомпрометированы.

Для простого случая, вроде описанного выше с игровыми серверами такой VPN-туннель вполне подойдёт, критически важных данных вы не потеряете. В случае, если необходимо обмениваться чувствительной информацией следует применять иные меры защиты от просмотра данных, и деанонимизации (например собственный VPN-сервер, TOR, обфускация трафика). Но об этом поговорим в следующих частях статьи.

На сегодня это всё, в следующей части, как я и обещал мы рассмотрим процесс установки среды виртуализации (на примере VirtualBox) и операционной системы Linux Mint.

Если вам понравилось, подписывайтесь на мой канал. Есть вопросы и пожелания - пишите, с удовольствием отвечу.

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

До встречи, друзья.