VPN

JSP & Servlets
8 уровень , 5 лекция
Открыта

6.1 Знакомство с VPN

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

Знакомство с VPN

Хотя VPN к странам, собственно говоря, никакого отношения не имеет. Дело обстоит немного по-другому.

Представь, что ты работаешь в офисе на компьютере, и в этом офисе есть различное компьютерное оборудование с доступом по сети: компьютеры, сервера, принтеры, оборудование для видеоконференций.

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

Скорее всего, твой компьютер обращается теперь к другому роутеру, но все роутеры вашей компании знают, как общаться друг с другом и обеспечивают тебе все преимущества нахождения в одной локальной сети. У тебя нет проблем с доступом к любому оборудованию в корпоративной сети.

Ситуация 2: началась пандемия и ты решил работать из дома. Ты забрал рабочий компьютер домой, но вот незадача, доступа к офисным серверам дома нет. Вроде бы логично, ведь они остались на офисе в другом конце города. С другой стороны, возникает вопрос: когда ты перенес компьютер в первом случае, то доступ к офисным компьютерам у тебя сохранился. Когда ты перенес компьютер во втором случае, то доступа нет. Что поменялось?

В первом случае все компьютеры в твоем офисе (даже расположенные на разных этажах) находились в одной локальной сети. А во втором случае – нет. Твой компьютер дома не подключен к офисной локальной сети. Соответственно, у тебя нет доступа к внутренним ресурсам офисной сети.

В качестве устранения этой проблемы было предложено решение – виртуальная локальная сеть (VPN). У тебя в офисе на каждом этаже стояло по роутеру, которые пересылали между собой данные и обеспечивали работу локальной сети.

Нам нужно создать два виртуальных роутера (в виде программ), один у тебя в офисе, второй – дома, которые так же будут пересылать между собой данные по интернету в зашифрованном виде. И такие программы есть: одна из них называется VPN-сервер, а вторая – VPN-клиент.

VPN-сервер настраивает системный администратор в офисе, а VPN-клиент сейчас есть в каждом компьютере и/или телефоне.

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

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

Внешний IP-адрес твоего компьютера теперь будет совпадать с публичным IP-адресом твоего офиса. И если этот офис был, например, в Германии, то сервер, к которому обращался твой браузер, будет уверен, что ты в офисе в Германии.

6.2 Типы VPN

Сети VPN делятся по их целевым функциям. Можно выделить много разных, но вот список типовых вариантов VPN-решений:

Intranet VPN

Используется для объединения в единую защищенную сеть нескольких распределенных филиалов одной организации, обменивающихся данными по открытым каналам связи. Это первый вариант, с которого все и началось.

Remote-access VPN

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

Extranet VPN

Используется для сетей, к которым подключаются “внешние” пользователи (например, заказчики или клиенты). Уровень доверия к ним намного ниже, чем к сотрудникам компании, поэтому требуется обеспечение специальных “рубежей” защиты, предотвращающих или ограничивающих доступ последних к особо ценной, конфиденциальной информации.

Internet VPN

Используется провайдерами для предоставления доступа к интернету, обычно если по одному физическому каналу подключаются несколько пользователей. Протокол PPPoE стал стандартом в ADSL-подключениях.

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

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

Client/server VPN

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

Например, когда надо разделить трафик между финансовым департаментом и отделом кадров, обращающихся к серверам, находящимся в одном физическом сегменте. Этот вариант похож на технологию VLAN, но вместо разделения трафика используется его шифрование.

6.3 OpenVPN

Помните, мы говорили про виртуальный роутер на стороне офиса, к которому можно конектиться с помощью VPN-клиентов? Так вот, есть одно очень популярное решение, о котором вам полезно будет узнать. Это OpenVPN.

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

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

Для обеспечения безопасности управляющего канала и потока данных OpenVPN использует библиотеку OpenSSL. Это позволяет задействовать весь набор алгоритмов шифрования, доступных в данной библиотеке.

Также может использоваться пакетная аутентификация HMAC для обеспечения большей безопасности и аппаратное ускорение для улучшения производительности шифрования. Эта библиотека использует OpenSSL, а точнее, протоколы SSLv3/TLSv1.2.

Есть реализации этой программы под все популярные операционные системы: Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, QNX, Microsoft Windows, Android, iOS.

OpenVPN предлагает пользователю несколько видов аутентификации:

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

Техническая информация

OpenVPN проводит все сетевые операции через TCP- или UDP-транспорт. В общем случае предпочтительным является UDP, потому что через туннель проходит трафик сетевого уровня и выше по OSI, если используется TUN-соединение, или трафик канального уровня и выше, если используется TAP.

Это значит, что OpenVPN для клиента выступает протоколом канального или даже физического уровня, а значит, надежность передачи данных может обеспечиваться вышестоящими по OSI уровнями, если это необходимо.

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

Именно поэтому протокол UDP по своей концепции наиболее близок к OpenVPN, так как он, как и протоколы канального и физического уровней, не обеспечивает надежности соединения, передавая эту инициативу более высоким уровням. Если же настроить туннель на работу по ТСР, сервер в типичном случае будет получать ТСР-сегменты OpenVPN, которые содержат другие ТСР-сегменты от клиента.

Также, что не маловажно, OpenVPN может работать через большую часть прокси-серверов, включая HTTP, SOCKS, через NAT и сетевые фильтры. Сервер может быть настроен на назначение сетевых настроек клиенту. Например, IP-адрес, настройки маршрутизации и параметры соединения. 

Комментарии (9)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Kirill Уровень 106 Expert
22 мая 2024
Последний вопрос убил
Alija Štiková Уровень 1
15 декабря 2024
Смешной вопрос, но ситуация страшная :)))
Dima Makarov Уровень 42
22 августа 2023
"В общем случае предпочтительным является UDP, потому что через туннель проходит трафик сетевого уровня и выше по OSI, если используется TUN-соединение, или трафик канального уровня и выше, если используется TAP." - Почитал, поплакал, почитал еще раз и еще раз поплакал. Чего ж я тупой такой
Mixon Older Уровень 21
19 июня 2022
Как свой впн сделать?
Andrey Panchenko Уровень 26
16 сентября 2022
Вот, не благодари
Mixon Older Уровень 21
17 сентября 2022
Это идеальное решение!!! просто уровня бог ))))
Anonymous #3322801 Уровень 2 Expert
11 августа 2023
Огонь)))
Anastasia Уровень 51
11 марта 2025
https://www.reg.ru/blog/sozdayem-sobstvennyy-vpn-server/
27 января 2026
Круто))