Openvpn что за программа простыми словами

OpenVPN — полнофункциональное средство построения виртуальных частных сетей (Virtual Private Networks, VPN), организации удалённого доступа, безопасного использования Wi-Fi и решения ряда других задач, связанных с безопасностью передачи данных, базирующееся на SSL. Работает в пространстве пользователя, не требует модификации ядра. Поддерживает большое количество операционных систем, в том числе Linux, FreeBSD и Windows.

Последнее обновление OpenVPN

была выпущена 3 июня 2013 года.

Основные возможности новой версии:

  • Поддерживаются Windows Vista, как x86. так и x64.
  • OpenVPN GUI устанавливается при помощи Windows installer.
  • Поддерживается topology subnet, которая позволяет легко создавать tun-подсети по одному адресу на клиента.
  • Для того чтобы открыть адаптер TAP-Win32 не нужны права администратора
  • Поддерживаются криптографические смарт-карты (PKCS #11)
  • Поддерживается multihome для того чтобы использовать UDP-туннели на устройствах с несколькими сетевыми интерфейсами.
  • Поддерживается port-share, которая даёт возможность OpenVPN и HTTPS-серверам использовать совместно 443 порт TCP.

Производительность OpenVPN

Максимальное количество соединений и трафика, который может обработать OpenVPN, определяется возможностями платформы, в частности:

Что такое VPN — Для чего его используют — Установка и Настройка Бесплатного OpenVPN Сервера с нуля

  • пропускной способностью сети;
  • вычислительными возможностями системы;
  • архитектурными ограничениями операционной системы (количество сокетов, количество процессов).

Результаты замеров производительности OpenVPN представлены в [1] и в [2].

Использование OpenVPN

Создание статического ключа

%# openvpn —genkey —secret static.key

Работа через прокси-сервер

Openvpn умеет создавать туннели через прокси-сервер.

proto tcp-server port 56321
remote vpn.example.com 56321 http-proxy cache.internal.net 8080 proto tcp-client

Инструменты для настройки

OpenVPN — программа с текстовым интерфейсом. Её настройка производится путём редактирования её конфигурационного файла или путём задания нужных аргументов командной строки.

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

Программа Операционная система Бесплатная? Ссылка
OpenVPN GUI Microsoft Windows Да http://openvpn.se
Tunnelblick Mac OS X Да http://code.google.com/p/tunnelblick
Viscosity Mac OS X Нет http://viscosityvpn.com
Shimo Mac OS X Нет http://www.shimoapp.com
OpenVPN DD-WRT Да DD-WRT
TomatoVPN Tomato (firmware) Да TomatoVPN
TunnelDroid Android Да TunnelDroid Source, Market Download

Пару слов про OpenVPN,VPN бесплатно

Дополнительная информация

  • Welcome to OpenVPN (англ.) — домашний сайт проекта

Материалы по OpenVPN на xgu.ru

  • OpenVPN
  • Два шлюза в Интернет и OpenVPN
  • OpenVPN в Windows
  • OpenVPN Bridge ­— передача тегированного трафика через VPN
  • OpenVPN Proxy ARP
Криптография на Xgu.ruОсновы AAA Шифрование данных на диске Шифрование сетевых данных Криптография в VoIP
Криптография
Kerberos • EAP • Host-based аутентификация в OpenSSH
Шифрование LVM • LUKS
VPN • IPsec • OpenVPN • SSL • OpenSSL • TLS • SSH
Шифрование звонков в Asterisk • SRTP

Источник: xgu.ru

Протокол OpenVPN: как работает, какое подключение быстрее, UDP или TCP

Ирен Смотричева

February 01, 2023 Ирен Смотричева

Развернуть
Проверенный ВПН

OpenVPN

OpenVPN — протокол шифрования с открытым исходным кодом, поддержкой AES-256 и SSL 3.0. Подключение с использованием UDP и TCP делает его гибким VPN-протоколом в плане настройки для конечного пользователя.

OpenVPN

#1. ExpressVPN — ВПН без логов. Доступ к контенту без ограничения. 30-дней возврат денег. 3 месяца подарок при подписке (до 49% скидка) #2. NordVPN — Самый надежный VPN, Работает на всех устройствах, приватные DNS на каждом сервере. Скидка 59% при оплате за 2 года #3. PureVPN — Шифрование AES-256, 6500+ серверов в 140+ странах, 7 дней бесплатного тестирования, 31 день возврат денег. #4.

Surfshark — Лучшее предложение: $59 за 2 года. Протестировано на Windows, Android и MacOS. Раздельное туннелирование, доступен тестовый период. #5. CyberGhost — Быстрые серверы для видео, до 7 устройств на аккаунт, не хранит логов,45 дней тестовый период (офис в США) Рекомендованные сервисы Другие ВПН сервисы

Преимущества исходного кода

  • просматривать исходный код протокола, совершенствовать его и/или устранять ошибки;
  • использовать его в сочетании со сторонними плагинами или скриптами, увеличивая производительность, стабильность работы;
  • оставаться независимыми от компании-разработчика — к примеру, SSTP принадлежит Microsoft и может быть использован для анализа действий в сети, перехвата личных данных.
  • OpenVPN используют практически все VPN-провайдеры, предварительно перерабатывая исходный код протокола. Поэтому принцип его работы, скорость и нагрузка на систему будет отличаться от сервиса к сервису.
Читайте также:
Декларант программа что это такое

Как это работает

OpenVPN создает защищенное соединение по принципу клиент-сервер, обходя HTTP и NAT. Передача трафика ведется с использованием 1 из 2 транспортных протоколов:

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

При соединении с сервером, OpenVPN сперва пытается установить связь по UDP, а уже после переключается на TCP.

Общедоступные сети передают трафик по протоколам HTTP, FTP, SMTP, POP3 и IMAP, из-за чего приходится использовать TCP. Причина в том, что он задействует порт 443, совместимый c защищенным HTTPS-трафиком.

Защита данных и платформы

Тип шифрования определяет провайдер. Зачастую — это 256-битное OpenSSL или AES-шифрование. Реже, встречается AES-128. Также реализована защита по стандартам:

  • Cammellia;
  • 3DES;
  • CAST-128;
  • Blowfish.

Реализовано подключение к частным подсетям, выходящим за пределы выделенных под OpenVPN-серверов. Реализовали протокол на всех актуальных платформах:

  • персональных компьютерах и ноутбуках на Windows, Mac, Linux;
  • мобильных устройствах под iOS и Android;
  • маршрутизаторах с Free/Open/NetBSD и Solaris.

Скорость и задержки

скорость и задержка соединения с open vpn

Согласно тестам, проведенным командой разработчиков другого протокола с открытым кодом WireGuard, OpenVPN c 256-битным AES шифрованием, аутентификацией HMAC-SHA2-256 в режиме UDP разгоняется до 256 Мбит/с, наблюдается задержка в 1.541 мс. При тех же условиях, WireGuard демонстрирует 1011 Мбит/с и 0.403 мс.

Такая разница обусловлена высокой степенью шифрования у OpenVPN и запуском тестов на ПК с урезанными процессорами от Intel из U-серии. При наличии мощного ПК и скоростного соединения, показатель скорости и отклика будет “комфортный”.

Лучшие VPN с поддержкой OpenVPN

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

Источник: 10best-vpn.com

OpenVPN, краткое описание

В данном сообщении изложено краткое описание OpenVPN (http://openvpn.net/) на основании личного опыта, в основном для ОС Windows (хотя многое применимо и для других ОС). Наверняка здесь есть какие-нибудь ошибки, неточности и неполнота, ну что же — принцип «as is».
Описание периодически обновляется в меру появления новой информации и времени
Текущие стабильные версии (2006-ноябрь):
OpenVPN 2.0.9 для Windows — http://openvpn.net/release/openvpn-2.0.9-install.exe
OpenVPN-GUI 1.0.3 для Windows — http://openvpn.se/files/binary/openvpn-gui-1.0.3.exe
или сборный комплект http://openvpn.se/files/install_packages/openvpn-2.0…1.0.3-install.exe

1. Описание команд и основных опций (и их применимость на сервере и клиенте)

  • Внешние файлы ключей, сертификатов и т.п.
    Примечание: Параметры указывающие на файлы можно (или даже желательно) указывать с полными путями. Для Windows символ «» указывается как «\», пути с пробелами брать в кавычки, например: «C:\Program Files\OpenVPN\config\ca.crt». Если путь не указан, то используется каталог . config
  • secret file_name — указание имени файла ключа для режима static-key. Допустим также параметр [direction], позволяющий асимметрично использовать ключи, например, «secret static.key 0» с одной стороны и «secret static.key 1» с другой, однако для этого ключи должны быть 2048-битовые, в версиях 2.* по умолчанию они именно такие.
  • Для расширенных режимов TLS надо указать или имена раздельных файлов ключей и сертификатов:
  • ca file_name (сервер, клиент) — сертификат СА (центра сертификации)
  • cert file_name (сервер, клиент) — сертификат данного узла, подписанный СА
  • key file_name (сервер, клиент) — ключ шифрования данного узла
  • dev [tun | tap] (сервер, клиент) — указание типа интерфейса и режима работы: tun = L3-туннель, tap = L2-туннель
  • dev-node TAP-interface-Name (сервер, клиент) — указание использование конкретного интерфейса, актуально если их в ситеме несколько и они по разному настроены в ОС (например, один tap и включён в мост, а второй — tun)
  • proto [tcp-server | tcp-client | udp] (сервер, клиент) — протокол, по умолчанию UDP
  • port 1194 (сервер, клиент) — номер порта, default=1194 (на клиенте для tcp-client игнорируется и используется динамический порт). См.также lport (указание локального порта) и rport (указание удалённого порта).
  • mode — задаёт режим работы сервера. По умолчанию OpenVPN работает в p2p-режиме, при указании mode server он работает в режиме сервера с многими клиентами.
  • tls-server, tls-client — использование режима TLS
  • ifconfig Local-IP Remote-IP/NetMask (сервер, клиент) — задаёт конфигурацию интерфейса.
    Для dev tun: ifconfig Local-IP Remote-IP — указывает IP-адрес локального интерфейса и адрес второй стороны туннеля. Важно, что в режиме клиент-сервер в отличие от режима static-key второй стороной туннеля является не адрес сервер и не адрес клиента, а адрес виртуального интерфейса виртуального OpenVPN-роутера, см. описание в п.3.
    Для dev tap: ifconfig Local-IP NetMask — указывает IP-адрес и маску локального интерфейса
  • server network netmask (сервер) — макрокоманда конфигурации сервера. Задаёт сеть и маску для всей OpenVPN-сети. Первый адрес из этой сети назначается интерфейсу сервера, остальные выделяются клиентам. Не используйте эту макрокоманду для режима L2-моста, для этого есть server-bridge.
    Реально команда, например, server 10.8.0.0 255.255.255.0 раскрывается так (в скобках комментарии)
    Для режима dev tun:
    mode server
    tls-server
    ifconfig 10.8.0.1 10.8.0.2 (серверу назначается первый адрес из первой подсети /30)
    ifconfig-pool 10.8.0.4 10.8.0.251 (остальной блок адресов выделяется клиентам)
    route 10.8.0.0 255.255.255.0 (системе объявляется маршрут на всю OpenVPN-сеть)
    if client-to-client:
    push «route 10.8.0.0 255.255.255.0» (если включен режим client-to-client, то клиентам также передаётся маршрут на всю OpenVPN-сеть)
    else
    push «route 10.8.0.1» (иначе, если не включен режим client-to-client, клиентам передаётся только маршрут на сервер)Для режима dev tap:
    ifconfig 10.8.0.1 255.255.255.0 (серверу назначается первый адрес)
    ifconfig-pool 10.8.0.2 10.8.0.254 255.255.255.0 (остальной блок адресов выделяется клиентам)
    push «route-gateway 10.8.0.1» (клиентам объявляется адрес шлюза, через который, при необходимости, они могут назначать маршруты)
  • server-bridge gateway netmask pool-start-IP pool-end-IP (сервер) — макрокоманда конфигурации сервера для режима L2-моста. Важно то, что в этом режиме IP-параметры мостового интерфейса настраиваются в системе! Здесь же параметр gateway может указывать или на этот же IP-адрес мостового интерфейса или на следующий шлюз в этой сети.
    Реально команда, например, server-bridge 10.8.0.4 255.255.255.0 10.8.0.128 10.8.0.254 раскрывается так (в скобках комментарии)
    mode server
    tls-server
    ifconfig-pool 10.8.0.128 10.8.0.254 255.255.255.0 (клиентам выделяется диапазон, указанный в макрокоманде)
    push «route-gateway 10.8.0.4» (параметр gateway передаётся клиентам как шлюз)
  • remote host (сервер) — в режиме tcp-server этот параметр на сервере работает как фильтр и принимает соединения ТОЛЬКО от указанного host.
  • client-to-client (сервер) — разрешает обмен трафиком между клиентами для режима dev tun
  • ifconfig-pool-persist File_Name [Time_in_seconds] (сервер) — задаёт файл, в котором на указанное время (по умолчанию 600 сек) кэшируются выданные адреса клиентам, что позволяет при переподключении выдать клиенту тот же адрес.
  • ifconfig-pool-linear (сервер) — задаёт для dev tun режим распределения адресов клиентам не подсетями /30, а «поштучно», то есть /32. Несовместим с Windows!
  • management localhost 8329 (сервер, клиент) — открыть порт 8329 на интерфейсе 127.0.0.1 для управления (см. http://openvpn.net/management.html)
  • route network/IP [netmask] [gateway] [metric] (сервер, клиент) — добавляет указанный маршрут в ОС после установления соединения. Значения параметров по умолчанию:
    netmask по умолчанию равно 255.255.255.255.
    gateway по умолчанию равно параметру, указанному в команде route-gateway или второму параметру команды ifconfig в режиме dev tun. То есть, по умолчанию исользуется шлюз в «OpenVPN-сеть». Если же нужно параметр указать (например, если нужно задать метрику), то это же значение можно указать ключевым словом vpn_gateway. Кроме того есть ещё ключевое слово net_gateway — это основной шлюз, который был в ОС до установления OpenVPN-соединения.
  • iroute network [netmask] — применяется в client-connect script или в client-config-dir файле, указывает OpenVPN-серверу, что данная сеть находится за соответствующим клиентом. Важно, что это только указание OpenVPN-серверу, для задания этого маршрута самой ОС надо указывать route или в конфиге сервера или вообще в самой ОС.
  • route-method exe (сервер, клиент) — указывает OpenVPN-у, что добавление маршрута надо делать не через API, а через route.exe. См. также в секции «Некоторые распростанённые проблемы и методы решения»
  • route-delay 10 (сервер, клиент) — см. в секции «Некоторые распростанённые проблемы и методы решения»
  • client-config-dir Dir_Name (сервер) — использовать из указанного каталога дополнительные индивидуальные файлы для конфигугации каждого клиента, файлы должны называться так же как и CN клиента (Common Name, то есть то что укзывается при конфигурации ключа клиента командой build-key, см.далее). Расширения у файла быть не должно, то есть, например, для клиента client1 файл так и должен называться — client1
  • push «команда» — указывает серверу передать «команду» клиенту. Например, команда в конфиге сервера push «ping 10» — это не команда ping 10 самому серверу, а указание серверу передать команду ping 10 клиенту. Описание самих команд для push даны отдельно. Это могут быть route, route-gateway, route-delay, redirect-gateway, ip-win32, dhcp-option, inactive, ping, ping-exit, ping-restart, setenv, persist-key, persist-tun, echo
  • push-reset (сервер, но в client-config-dir-файле) — указывает, что для данного клиента надо проигнорировать все глобальные команды push. Однако все push-команды из самого client-config-dir-файла будут исполнены.
  • ifconfig-push Local-IP Remote-IP/NetMask (сервер) — применяется в client-connect script или в client-config-dir файле, задаёт конфигурацию интерфейса соответствующего клиента.
    Для dev tun: ifconfig Local-IP Remote-IP — указывает IP-адрес локального интерфейса клиента и адрес второй стороны туннеля. Важно, что в режиме клиент-сервер второй стороной туннеля является не адрес сервер и не адрес клиента, а адрес виртуального интерфейса виртуального OpenVPN-роутера, см. описание в п.3.
    Для dev tap: ifconfig Local-IP NetMask — указывает IP-адрес и маску локального интерфейса
  • client — макрокоманда режима клиента, исполняется так:
    pull (указывает клиенту принимать от сервера команды, которые на сервере заданы как push)
    tls-client
  • nobind (клиент) — указание использовать динамический порт на клиенте, актуально только для udp, т.к. для tcp на клиенте всегда используется динамический порт.
  • remote host [port] (клиент) — указание второй стороны, host может быть как DNS-именем, так и IP-адресом. Клиент обязан иметь эту строку, причём она может быть не одна — это обеспечивает возможность подключения к разным интерфейсам сервера (отказоустойчивость) или распределение нагрузки.
  • remote-random (клиент) — использовать в случайном порядке одну из нескольких строк remote
  • resolv-retry infinite (клиент) — пытаться бесконечно определить адрес сервера (при указании его по имени), чтобы «обойти» проблему с завершением попытки установления соединения при отказе DNS или сбое внешних соединений
  • redirect-gateway [local] [def1] (клиент) — переключение шлюза на удалённый, есть 2 доп.параметра — local (см.manual) и def1 — изменяет маршрут не методом удаления старого маршрута 0.0.0.0/0 и назначением нового, а методом назначения двух более узких маршрутов 0.0.0.0/1 и 128.0.0.0/1
  • dhcp-option DNS 192.168.1.254 (клиент) — использование удалённого DNS
  • dhcp-option WINS 192.168.1.254 (клиент) — использование удалённого WINS
  • comp-lzo (сервер, клиент) — сжатие трафика
  • status openvpn-status.log (сервер, клиент) — периодически сохранять информ. о текущем состоянии в указанный файл, это текстовый файл.
  • log openvpn.log или log-append openvpn.log (сервер, клиент) — сохранять или добавлять лог в указанный файл
  • keepalive 10 60 (сервер) — макрокоманда «пинговать» противоположную сторону туннеля с указанным периодом 10 сек, при отсутствии встречных пингов в течение 60 сек считать туннель упавшим и запускать пересоединение. Полезно также для поддержания статуса работающего udp-потока в транзитных NAT-шлюзах.
    Реально исполняется так (в скобках комментарии):
    Для mode server:
    ping 10 (сервер посылает OpenVPN-ping каждые 10 секунд. Не путать с ping в IP — здесь на OpenVPN-ping удалённая сторона не отвечает, поэтому эти пакеты надо отправлять с обеих сторон)
    ping-restart 120 (при отсутствии встречных пакетов, то есть от клиента, в течении 120 сек сервер перезапускает клиентскую сессию. Не путать, перезапускается НЕ ВЕСЬ OpenVPN-СЕРВЕР!)
    push «ping 10» (сообщить клиентам пинговать сервер каждые 10 секунд)
    push «ping-restart 60» (сообщить клиентам, что при отсутствии пингов от сервера в течение 60 секунд, клиент должен перезапустить свою сессию).
    Для mode p2p:
    ping 10
    ping-restart 60
Читайте также:
Веб версия программы что это

2. Простейшая конфигурация static-key — 1 сервер + 1 клиент одновременно:
2.1. Генерация статического ключа — ярлык в меню или «openvpn —genkey —secret static.key»
Этот общий ключ должен быть на обеих сторонах — и на сервере и на клиенте
2.2. Server.ovpn

Источник: 7d3.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru