Как настроить и использовать сервер и клиент openvpn

VPN (Virtual private network, частная сеть) – технология, позволяющая обеспечить промежуточное сетевое соединение между пользователем и конечным ресурсом, к которому необходимо получить доступ (чаще всего подобные соединения применяются для обхода цензуры в интернете). Благодаря VPN, пользователи могут пользоваться ресурсами интернета анонимно.

Как настроить OpenVPN на Windows 10

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

Протокол OpenVPN отвечает за поддержание коммуникации между клиентом и сервером. Как правило, он используется для создания защищённого туннеля между VPN-клиентом и сервером.

Для шифрования и аутентификации OpenVPN использует библиотеку OpenSSL. Кроме того, для передачи данных OpenVPN могут использоваться протоколы UDP или TCP.

Как настроить OpenVPN на Windows 10
  • TCP требует отклика от клиента, которому доставлен пакет данных, подтверждения доставки, и для этого ему необходимо установленное заранее соединение. Протокол TCP исключает потери данных, дублирование и перемешивание пакетов, задержки.
  • UDP всё это допускает, и соединение для работы ему не требуется. Протокол UDP доставляет пакеты данных гораздо быстрее, потому лучше подходит для приложений, которые рассчитаны на широкую пропускную способность и быстрый обмен.

Как установить OpenVPN

На официальном сайте производителя выберите версию программы для своей операционной системы. Существуют клиенты под все популярные операционные системы: Windows, Linux, MacOS, Android, iOS. Если же Вы загружали установщик с официального сайта, тогда проблем с установкой не возникнет. Запустите установочный файл и следуйте шагам мастера установки.

Как подключиться OpenVPN

Перед подключением нужно выбрать бесплатный VPN сервер, загрузив на компьютер файл конфигурации определённого сервера. Его стоит выбирать исходя из расположения, к ачества линии, пропускной способности и пинга.

Как настроить OpenVPN на Windows 10

Много разных сайтов содержат бесплатные сервера ретрансляции. Рекомендуем перейти на сайт и выбрать подходящий сервер загрузив файл конфигурации для OpenVPN.

Теперь запустите программу OpenVPN GUI от имени администратора в Windows 10. В противоположном случае просто не удастся подключиться к выбранному серверу.

  1. На панели задач в контекстном меню OpenVPN выберите Импорт конфигурации… В открывшемся окне проводника укажите расположение ранее загруженной конфигурации.
  2. После импорта можно смело выбирать пункт Подключиться. При необходимости можно импортировать несколько конфигураций. В таком случае подключений будет два или три.

Рекомендуем импортировать несколько разных конфигураций, после чего перейти к их тестированию. Для тестирования можно воспользоваться сервисами проверки скорости Интернета на компьютере Windows 10.

Если же перейти в расположение: C: Пользователи Имя_пользователя OpenVPN config, то можно увидеть, и при необходимости удалить, папки с ранее добавленными конфигурациями.

Как настроить OpenVPN на Windows 10

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

При необходимости для работы сами используем OpenVPN. На данный момент OpenVPN считается лучшим VPN-протоколом. На практике все наши высказывания подтверждаются. После первого использования, даже бесплатных серверов, сложно использовать другие VPN-клиенты. В принципе и без дополнительного программного обеспечения можно настроить VPN соединение на Windows 10.

В данной инструкции подробно описан процесс настройки клиента OpenVPN на примере операционных систем Windows и Linux. Также, с ее помощью можно настроить скиента на Android.

Шаг первый: скачивание и установка специальной программы

Для начала выясните разрядность операционной системы Виндоус, установленной на ПЭВМ, который будет использоваться в качестве сервера. Затем скачайте соответствующий дистрибутив с официального сайта разработчика. Также скачайте и установите на компьютер программу Notepad ++. Она понадобится в процессе настройки сервера.

Запустите процесс установки.

В появившемся окне нажмите Next. В следующем окне нужно проставить галочки напротив всех пунктов и нажать Next

Программа перенаправит вас в окно выбора места установки. По умолчанию OpenVPN ставится в папку C:\Program Files\OpenVPN. Мы рекомендуем сократить его до C:\OpenVPN, что позволит в дальнейшем несколько упростить процесс настройки (попросту меньше печатать в командной строке).

Читайте также:  Установка и настройка LXC под Ubuntu 18.04

Нажимаем Install и ждем завершения инсталляции. Если в процессе появится предложение об установке нового сетевого адаптера, нужно согласиться на него. Это — сетевой адаптер NAT, через который будет вестись работа с OpenVPN сервером.

Завершаем процесс установки и переходим к настройке сервера.

Шаг первый: скачивание и установка специальной программы

ВАЖНО. Если на вашем компьютере установлена ОС Windows 7, возможно, потребуется разрешение запуска программы OpenVPN от имени администратора. Для этого кликните правой кнопкой мыши по значку программы на рабочем столе и в выпадающем списке выберите «Свойства». В появившемся окне во вкладке совместимость (Compatibility) поставьте галочку напротив пункта «Запускать от имени администратора» (Run this program as an administrator).

Шаг второй: настройка OpenVPN сервера на Windows

Перейдите в директорию, которую мы указали в качестве места для установки программы (в нашем случае C:\OpenVPN) и создайте в ней папку с названием SSL, которая необходима для хранения ключей и сертификатов, выдаваемых сервером.

После этого перейдите в папку C:\OpenVPN\easy-rsa. Здесь есть файл с расширением sample, который нужно переименовать в (т.е. без расширения sample).

Откройте через Notepad ++. В него нужно скопировать текст следующего содержания (комментарии, выделенные красным, не копируйте):

Затем откройте файл и в строчке default_days установленное по умолчанию значение 365 меняем на любое побольше. С его помощью задается срок «жизни» наших сертификатов (365 дней, или одного года явно будет недостаточно).

Шаг третий: работа с командной строкой

Запустите командную строку и в появившемся окне введите следующую последовательно следующие команды (после каждой нажимаем Ввод):

В ответ должно появиться сообщение:

Это говорит о том, что все делается правильно.

Далее выполняем последовательно следующие команды:

  • build-dh (по ней происходит создание ключа Диффи-Хельмана).
  • build-ca (команда используется для создания основного сертификата).
Шаг первый: скачивание и установка специальной программы

Далее система будет задавать вопросы (страна, провинция, город и пр.). Ничего не вводите, просто жмите Enter ДО МОМЕНТА, пока появится строка с указанием пути в созданную нами ранее папку установки программы.

В ней наберите build-key-server server и нажиме Enter. Опять система начнет задавать вопросы. Также ВНИМАТЕЛЬНО ЖМЕМ Ввод до момента появления вопроса.

На него отвечаем Y. Далее появится вопрос.

На него также нужно ответить Y.

После этого необходимо создать клиентский сертификат. Делается это тут же, в командной строке. Введите следующую команду:

И далее – опять при повелении вопросов жмем Enter ДО МОМЕНТА ПОЯВЛЕНИЯ

Здесь напишите client и нажимайте Ввод до появления вопросов

На него отвечаем Y.

На него — тоже Y.

Таким же образом (при помощи команды build-key client) создайте сертификат для каждого из клиентов сети. При этом в поле

вводите разные имена (например, client 1, 2 и так далее).

Заем перейдите в папку C:\OpenVPN\easy-rsa\keys и скопируйте 4 файла отмеченных на рисунке красным. Их нужно разместить в директорию с именем config в папке, куда остановлена программа.

Шаг первый: скачивание и установка специальной программы

Шаг четвертый: создание файлов конфигурации

Для этого в папке Config создайте с помощью Notepad++ текстовый файл, который нужно будет сохранить как (это – конфиг нашего сервера). В него добавьте текст:

dev tun proto udp port 12345 ca cert key dh topology subnet server 10.8.0.0 cipher AES-128-CBC comp-lzo Mssfix keepalive 10 120 verb 3

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

Если у вас возникнут какие-либо проблемы при установке и настройке OpenVPN на Windows, можете обратиться в ООО «Информационное сопровождение».

Наши клиенты

Как пользоваться

Для того, чтобы проверить, активно ли ваше OpenVPN-соединение, зайдите в любой браузер (например, Mozilla Firefox) и проверьте свой IP. IP должен соответствовать не вашей реальной геолокации, а той стране, которую вы выбрали на сайте VPNGate при загрузке конфигурационного файла (например, Республика Корея, как это было показано в примере настройке OpenVPN для Windows).

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

Как пользоваться

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

Читайте также:  4.3 IP-фильтр iptables: архитектура и синтаксис

Установка OpenVPN Server

Переходим на официальный сайт OpenVPN и скачиваем последнюю версию программы для соответствующей версии Windows:

Запускаем скачанный файл — нажимаем NextI Agree — и выставляем галочку EasyRSA 2 Certificate Management Scripts (нужен для возможности сгенерировать сертификаты):

. снова Next и Install — начнется установка. В процессе мастер может выдать запрос на подтверждение установки виртуального сетевого адаптера — соглашаемся (Install/Установить).

После завершения нажимаем Next — снимаем галочку Show ReadmeFinish.

openvpn | Шпаргалки админа

Изначально эту статью я писал для Хабра, но чуть позже решил продублировать в Блог.

Не так давно передо мною встала задача соединить в единую сеть филиалы одной крупкой компании, разбросанные по Сибири. проблема была в том, что OpenVPN надо было заставить работать поверх нестабильного PPPoE попутно пустив весь трафик через OpenVPN

Первоначальная цель была в экономии денег на Интернет трафике в филиалах т.к. в удалённых районах цена безлимитного ADSL с шириной в 256кб/с стоила порядка 7-10т.р. в месяц, а интернет был жизненно необходим.

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

openvpn | Шпаргалки админа

1. proxy

Самое быстрое решение это было обычный каскад proxy серверов, так и было сделано т.к. раньше все филиалы раздавали интернет у себя прямо модемом, то нужно было всем выделить по 1 системнику, который бы выполнял роль шлюза, системники были не подарки, кто даст 800й пень, кто 233, в общем у кого что было.. Хотя сегодня за 4-7 т.р. можно собрать достойный шлюз, но хозяин-барин, хочу говорит без затрат!

На эти шлюзы была установлена ubuntu LTS настроена в виде шлюза, чтоб воткнул в локальную сеть, в модем и в розетку, и сразу всё работало т.к. во многих филиалах, админы могли только нажать “Any key” на клавиатуре пользователя, но не беда, дело шло, постепенно 7 филиалов перенастроило свои модемы, и воткнули шлюзы

Генерация ключей (PKI) центра сертификации, сервера, клиента

Для управления парами «ключ/сертификат» всех узлов создаваемой частной сети используется утилита easy-rsa, работающая через командную строку.

Переходим в папку установки OpenVPN и создаем папки ssl и ccd. Заходим в папку easy-rsa. Там есть файл , копируем его и переименовываем в 

cd \ cd C:\Program Files\OpenVPN\easy-rsa copy

Открываем файл для редактирования, например, в программе Notepad++. Перед FOR вводим rem, а перед set «PATH=%PATH%;C:\Program Files\OpenVPN\bin» удаляем rem. А также правим следующие строки: set KEY_DIR=keys //каталог, куда будут генерироваться сертификты; set DH_KEY_SIZE=2048 //длина ключа Диффи Хельмана set KEY_SIZE=2048 //длина личного ключа set KEY_COUNTRY=RU //Код страны, RU для России set KEY_PROVINCE=Moscow //Регион страны set KEY_CITY=Moscow //Город set KEY_ORG=Organization //Название организации или ФИО set [email protected] //Адрес вашей почты set KEY_CN=server //Общее имя set KEY_OU=server //имя set KEY_NAME= //Имя сервера. Желательно, чтобы соответствовал полному имени VPN-сервера set PKCS11_MODULE_PATH=DMOSK //путь к модулю pkcs#11, можно не менять set PKCS11_PIN=12345678 //ПИН-код к смарт-карте, можно не менять Проверяем, что в файле параметр default_days (срок жизни сертификата) имеет значение 3650 или то, которое вам нужно. Очищаем старые данные Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появились файлы и serial. Создаем ключ HMAC для дополнительной защиты от DoS-атак и флуда. openvpn —genkey —secret %KEY_DIR%\ Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появился файл . Генерируем ключ Диффи Хельмана (процесс достаточно длительный). Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появился файл Генерируем сертификат На все запросы нажимаем Enter. Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появились файлы и . Генерируем сертификат для сервера: server Где server — имя сертификата. Можно ввести другое. На все запросы нажимаем Enter. В конце подтверждаем два раза корректность информации вводом y. Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появились файлы , и . Создаем пользовательский сертификат removecrt для последующего создания файла , который отвечает за проверку и последующий отзыв сертификатов. Можно обойтись и без него, но тогда нельзя будет отозвать сертификат пользователя. Так что лучше это сделать. build-key removecrt Нажимаем Enter, пока не появятся вопросы Common Name и Name. При их появлении вводим название нашего сертификата — removecrt. Завершаем вводом y два раза. Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появились файлы , и . Далее вводим команду которая отвечает за отзыв сертификата и создает файл revoke-full removecrt Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появился файл Создаем сертификат пользователя build-key user где user — имя пользователя. Для каждого пользователя надо создавать свой сертификат, поэтому желательно давать осмысленные имена. Также напоминаю, что при появлении запроса Common Name и Name надо вводить название нашего сертификата user. Не закрывая командную строку, проверяем, что в папке C:\Program Files\OpenVPN\easy-rsa\keys появились файлы , и . Есть второй способ создания сертификата пользователя. в этом случае меньше файлов надо передавать пользователю, но при подключении надо будет вводить пароль. Вводим команду build-key-pkcs12 user Нажимаем Enter пока не появится запрос Export Password. Здесь вводим пароль пользователя, например 777777. Данный пароль будет назначен сертификату , который должен появиться в папке C:\Program Files\OpenVPN\easy-rsa\keys. Учтите, что и файлы конфигурации клиента будут разные. Но об этом позднее. На этом генерация ключей закончена. Из папки C:\Program Files\OpenVPN\easy-rsa\keys копируем в папку C:\Program Files\OpenVPN\ssl которую мы создали ранее следующие файлы:

Также рекомендую для каждого пользователя создать свою папку и поместить туда следующие файлы: Для первого варианта

Для второго варианта

Несколько конфигурационных файлов

Позволит держать несколько конфигураций для подключения к различным VPN-серверам. Между последними можно переключаться из клиентской программы.

Для Windows:

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

Пример каталога config:

Несколько конфигурационных файлов

Пример файлов в одном из каталогов:

Теперь при подключении клиентом к можно выбрать конкретный VPN-сервер:

Для Linux:

Также как для Windows, создаем для каждого сервера свой каталог, куда скопируем рабочие файлы. Для запуска, переходим в нужный каталог, например:

cd /etc/openvpn/server1

Несколько конфигурационных файлов

И запускаем OpenVPN:

openvpn —config /etc/openvpn/server1/

Шаг — Настройка криптографических материалов OpenVPN

В качестве дополнительного уровня безопасности мы добавим дополнительный общий секретный ключ, который будет использовать сервер и все клиенты, с помощью директивы OpenVPN tls-crypt. Эта опция используется, чтобы «затемнить» сертификат TLS, используемый, когда сервер и клиент первоначально подключаются друг к другу. Также она используется сервером OpenVPN для выполнения быстрых проверок входящих пакетов: если пакет подписан с помощью предварительно предоставленного ключа, сервер обрабатывает его, если подпись отсутствует, сервер понимает, что пакет получен из непроверенного источника, и может отклонить его, не выполняя дополнительную работу по расшифровке.

Эта опция поможет убедиться, что ваш сервер OpenVPN может справляться с неудостоверенным трафиком, сканированием портов и DoS-атаками, которые могут связывать ресурсы сервера. Она также затрудняет выявление сетевого трафика OpenVPN.

Для получения предварительно предоставленного ключа tls-crypt​​​ запустите следующую команду на сервере OpenVPN в директории ~/easy-rsa:

$ cd ~/easy-rsa $ openvpn —genkey —secret

В результате вы получите файл с именем Скопируйте его в директорию /etc/openvpn/server/:

$ sudo cp /etc/openvpn/server

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