OpenVPN

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
OpenVPN
Тип віртуальна приватна мережа
Автор Джеймс Йонан
Розробники OpenVPN Technologies, Inc.
Перший випуск 0.90 (13 травня 2001; 22 роки тому (2001-05-13)[1])
Стабільний випуск 2.6.5 (13 червня 2023; 10 місяців тому (2023-06-13)[2])
Платформа крос-платформовий: Intel x86, DEC Alpha, SPARC, AMD64, ARM[3]
Операційна система
Мова програмування C
Доступні мови англійська
Українська мова ні
Стан розробки активний
Ліцензія GNU GPL
Репозиторій https://github.com/OpenVPN, https://gitlab.com/openvpn
Вебсайт openvpn.net/community/

OpenVPN — вільна реалізація технології віртуальної приватної мережі (VPN) з відкритим початковим кодом для створення шифрованих з'єднань між двома клієнтськими машинами або забезпечення роботи централізованого VPN-сервера для одночасної роботи декількох клієнтів. OpenVPN дозволяє встановлювати з'єднання між комп'ютерами, що перебувають за NAT-екраном, без необхідності зміни їхніх налаштувань. Технологія створена Джеймсом Йонаном (англ. James Yonan) і розповсюджується під ліцензією GNU GPL. OpenVPN може використовуватись у багатьох операційних системах.

Огляд[ред. | ред. код]

Для забезпечення безпеки керуючого каналу і потоку даних OpenVPN використовує бібліотеку OpenSSL. Завдяки цьому залучено весь набір алгоритмів шифрування, доступних у цій бібліотеці. Також може використовуватися пакетна авторизація HMAC для забезпечення вищого рівня безпеки, а також апаратне прискорення для поліпшення продуктивності шифрування. Ця бібліотека використовує OpenSSL, а точніше протоколи SSL v3 або TLS v1.

Автентифікація[ред. | ред. код]

OpenVPN пропонує користувачеві декілька видів автентифікації:

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

Мережа[ред. | ред. код]

OpenVPN проводить всі мережеві операції через TCP або UDP порт (при виборі протоколу існують дві точки зору: одна з них «Чому TCP над TCP є поганою ідеєю» (англ. Why TCP Over TCP Is A Bad Idea), а інша — «TCP над TCP не настільки погано» (англ. TCP Over TCP Is Not So Bad). Також можлива робота через більшу частину проксі-серверів, включно з HTTP, NAT і мережеві фільтри. Сервер може бути налаштований на призначення мережевих налаштувань клієнту. Наприклад: IP-адреса, налаштування маршрутизації та параметри з'єднання. OpenVPN пропонує два різних варіанти мережевих інтерфейсів, використовуючи драйвер TUN/TAP[ru]. Можливо створити Layer 3-based IP тунель, званий TUN, і Layer 2-based Ethernet — TAP, здатний передавати Ethernet-трафік. Також можливе використання бібліотеки LZO[ru] для стиснення потоку даних. Для роботи цієї програми використовується порт 1194, виділений Internet Assigned Numbers Authority. Версія 2.0 дозволяє контролювати декілька одночасних тунелів, на відміну від версії 1.0, що дозволяла створювати тільки один тунель на кожний процес.

Використання в OpenVPN стандартних протоколів TCP і UDP дозволяє йому стати альтернативою IPsec в ситуаціях, коли Інтернет-провайдер блокує деякі VPN протоколи.

Примітки[ред. | ред. код]

  1. OpenVPN Change Log (англ.). Архів оригіналу за 4 березня 2016. Процитовано 15 червня 2016.
  2. Підтримувані версії. openvpn.net (en/) .
  3. а б в г д е ж и Installation Notes (англ.). Архів оригіналу за 25 березня 2016. Процитовано 15 червня 2016.

Посилання[ред. | ред. код]