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

Сегодня при установке OpenVPN сервера на FreeBSD 11 я понял что инструкция по настройке openvpn, которая писалась в далёком 2009 году уже не актуальна — процесс генерации ключей в обновленной EasyRSA 3 версии полностью изменился.

Установка OpenVPN на сервер

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

OpenVPN установливаем в директорию по-умолчанию «C:\Program Files\OpenVPN».

Установка OpenVPN на сервер

Разрешаем добавление виртуального сетевого адаптера TAP в ответ на соответствующий запрос и дожидаемся завершения установки.

Установка OpenVPN-клиента в Windows

Переходим на сайт OpenVPN, скачиваем exe-файл для Windows и устанавливаем.

Установка OpenVPN-клиента в Windows

Обязательно установите пакет драйверов для TAP-устройств.

После завершения переходим в C:\Program Files\OpenVPN\config где создаем конфигурационный файл со следующим содержимым, заменить на адрес своего сервера.

Установка OpenVPN-клиента в Windows

client remote 443 proto udp dev tun remote-cert-tls server ca cert key tls-auth 1 auth-nocache comp-lzo mssfix 0 persist-key persist-tun verb 3

Как можно увидеть, настройки клиента не слишком отличаются от настроек сервера, просто тут кое-что добавлено:

Установка OpenVPN-клиента в Windows
  • client — указываем что нужно работать в режиме клиента
  • remote — указываем на какой адрес и порт нужно подключаться.
  • remote-cert-tls server — исключение возможности mitm-атак, путем проверки серверных сертификатов.
  • auth-nocache — не кэшировать пароли в памяти.

Также в этот каталог копируем файлы: , , ,

Установка OpenVPN-клиента в Windows

Запускаем OpenVPN, после запуска в трее появится иконка мониторчика с замочком. Кликаем по ней правой клавишей мыши и выбираем «Подключиться».

При активном подключении к VPN серверу иконка станет зеленого цвета, а пользователю будет показано сообщение с назначенным ему локальным ip-адресом.

Установка OpenVPN-клиента в Windows

Назначенный локальный ip-адрес также можно узнать выполнив команду ipconfig в командной строке Windows.

Можно выполнить трассировку маршрута до какого либо узла или домена, чтобы просмотреть откуда выходят пакеты во внешнюю сеть. Для этого выполняют команду tracert после которой указывают либо ip-адрес, либо домен, например

Установка OpenVPN-клиента в Windows

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

Как настроить 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.

Читайте также:  Использование и настройка Open Broadcaster Software

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

Нажимаем 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 ДО МОМЕНТА, пока появится строка с указанием пути в созданную нами ранее папку установки программы.

Читайте также:  Выход из тени: 6 малоизвестных команд Linux

В ней наберите 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, можете обратиться в ООО «Информационное сопровождение».

Наши клиенты

Убеждаемся, что в системе поддерживается TUN

Чтобы проверить, работает ли на системе Arch Linux TUN, вы можете использовать следующую команду в одну строку. Если вы используете VPS (виртуальный частный сервер), то некоторые слои виртуализации такие как vServers и OpenVZ требует, чтобы TUN был включен на/из хостовой машине, поэтому если TUN не поддерживается, то свяжитесь со службой поддержки вашего хостинга перед тем, как продолжать.

test ! -c /dev/net/tun && echo openvpn requires tun support || echo tun включен

Если вы на выделенном сервере или используете виртуальный сервер KVM, ESXI или XEN убедитесь, что модуль CONFIG_TUN включён в ядре.

Еще немного об OpenVPN, SSL и IPSec

До появления SSL протокол IPSec являлся единственным средством, с помощью которого можно было шифровать данные в сетях типа сайт-сайт и клиент-сервер. К счастью, в 90-х монополия исчезла, т.к. кампания Netscape презентовала первую версию протокола SSL, современную версию которого чаще называют TLS. С его помощью юзерам представилась возможность шифровать данные при участии упомянутых выше открытых ключей (аутентификация или логин\пароль). И сегодня можно точно сказать, что благодаря относительной простоте OpenVPN SSL протокол используется не только для защиты данных по HTTP, но и для построения VPN типа клиент-сервер.

Что такое VPN вкратце? Это виртуальная частная сеть, представляющая из себя туннель между двумя устройствами (клиент-сервер или точка-точка) и работающая поверх еще одной сети (например, сеть Интернет). Определяющими факторами для безопасного VPN является конфиденциальность и шифрование, целостность передаваемой информации, а также аутентификация – объекты должны быть уверены в подлинности друг друга до начала передачи трафика. Именно за шифрование и аутентификацию отвечают библиотеки IPSec и SSL. Однако, не смотря на схожие задачи, протоколы имеют принципиально разные пути решения проблем.

  • В операционных системах OpenVPN и SSL ведут себя как стандартные приложения, что облегчает настройку. IPSec требует обновления ядра ОС, что приводит к очевидным трудностям – для работы с протоколом необходимо дорабатывать операционные системы на каждом используемом устройстве
  • Так как IPSec тесно связан с ядром сбой в работе или программный взлом могут привести к тяжелейшим последствиям. Система может получить критические повреждения, а взломавший злоумышленник – права администратора. С OpenVPN это невозможно, т.к. клиент работает в пространстве юзера и не затрагивает операционную систему
  • С SSL намного проще работать в плане FireWall. IPSec требует изменений правил фильтрации и решения множества иных проблем
  • OpenVPN легко перенести – во многих случаях достаточно обычного копирования, чего нельзя сказать про усложненный IPSec
Читайте также:  Apple выпустила финальную версию iOS 10.3.3 для iPad и iPhone

Все это давно привело к тому, что в сегменте VPN сервисов типа клиент-сервер OpenVPN окончательно вытеснил протокол IPSec. Можно сказать, что IPSec является одним из этапов развития VPN технологий и на данный момент на порядок уступает более безопасному, современному и удобному OpenVPN. В сухом остатке никаких существенных преймуществ у IPSec на данный момент по сравнению с OpenVPN попросту нет. Настройка OpenVPN клиента занимает не более минуты, а создание подключений и вовсе считанные секунды – необходимо лишь скачать клиентские конфиги и разместить их в соответствующей папке программы. К тому же при использовании OpenVPN не требуется настраивать антивирусные программы и сетевые экраны для стабильного обмена трафиком с VPN сервером, чего не скажешь про IPSec. Все пользователи, обеспокоенные конфиденциальностью своих данных должны понимать это и отдавать предпочтение более надежным решениям.

Установка OpenVPN Server

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

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

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

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

Установка и запуск сервера

В Linux Ubuntu

Установка и запуск сервера

Разберем процесс установки и запуска на примере Линукса:

Установка и запуск сервера
  1. Создаем сервер VScale с произвольной конфигурацией и ОС Ubuntu. Уже через несколько мгновений появится возможность подключиться к нему любым SSH-клиентом. Установка предполагает регистрацию и стандартную установку. Вся документация доступна на русском на сайте разработчика.
  2. Сменим пароль для супер-пользователя на “root”.

    passwd root

  3. Далее нам следует обновить приложения и операционную систему до актуальной версии.

    apt-get update apt-get upgrade

  4. Устанавливаем утилиту Easy-RSA для генерации сертификата устройства и сертификатов для всех пользователей, которые будут использовать данное подключение.

    apt-get install easy-rsa

  5. Далее нам следует перейти в списки с утилитой и подготовить переменные, которые будут создавать сертификаты.

    cd /usr/share/easy-rsa nano ./vars

  6. Задаем переменную, с длинной ключа для шифрования, равной 1024 бита. 1024 — стандартное значение, для более повышенной безопасности можно установить значение 2048, однако вырастет нагрузка на аппаратуру.

    export KEY_SIZE= 1024

  7. Оставшиеся параметры вводятся по желанию, например, страна, провинция, город, организация, электронный адрес.

    export KEY_COUNTRY=»RU» export KEY_PROVINCE=»RU» export KEY_CITY=»Moscow» export KEY_ORG=»MyCompany LTD.» export KEY_EMAIL=»your_email_address»

  8. Задействуем использование переменных.

    source ./vars

  9. Очищаем хранилище ключей.

    ./clean-all

  10. Создаем корневой сертификат. Во время создания программа использует уже введенную нами информацию, поэтому жмем Enter на все её вопросы.

    ./build-ca

  11. Таким же образом создаем сертификат сервера. Нажимаем на «Y» на вопросы о подписании сертификата.

    ./build-key-server server

  12. Теперь создаем сертификаты для устройств, которые будут подключены к ПК, повторяем действие нужное количество раз, изменяя имя сертификата (пример: macbook).

    ./build-key macbook

  13. Создаем ключ Диффи-Хеллмана (Протокол Диффи-Хеллмана позволяет использовать двум и более сторонам один секретный ключ).

    ./build-dh

  14. В итоге в папке /usr/share/easy-rsa/keys находятся сертификаты и ключи.
  15. Приступаем к установке OpenVPN.

    apt-get install openvpn

  16. Копируем созданные сертификаты и ключи.

    cp -R /usr/share/easy-rsa/keys/ /etc/openvpn/

Установка и запуск сервера

В Windows 7

Установка и запуск сервера

Теперь переходим к установке в Windows:

Установка и запуск сервера

По умолчанию порт OpenVPN – 1194, его в последующем можно будет изменить в настройках.