Руководства, Инструкции, Бланки

инструкция по настройке Openvpn img-1

инструкция по настройке Openvpn

Категория: Инструкции

Описание

Инструкция по настройке openvpn

OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT-firewall, без необходимости изменения их настроек.

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

Хотим иметь доступ в рабочую локальную сеть из дома или в поездке

Имея сервер с белым IP есть желание выходить в сеть с этого IP (например если этот IP за пределами страны или сети, в которой блокируются определенные ресурсы в Интернете)

Защита соединения в OpenVPN в данном случае строится на использовании сертификатов и ключей для сервера и для клиентов. Для их генерации в пакете OpenVPN имеются специальные скрипты, расположенные в /usr/share/doc/openvpn/examples/easy-rsa/2.0 Перед началом работы скопируем их, чтобы не изменять оригиналы.

(для 14.04 LTS ) С лета 2013 года easy-rsa не входит в OpenVPN и команда указанная выше не сработает(не найдет easy-rsa), тогда делаем следующее:

Переходим в созданную директорию, где и займёмся генерацией ключей и сертификатов

Редактируем файл переменных

Здесь можно заполнить например так:

копируем конфиг openssl

Очищаем от старых сертификатов и ключей папку keys и создаем серийный и индексные файлы для новых ключей

Создаем сертификат. По умолчанию поля будут заполняться данными, введенными ранее в vars. поэтому можно ничего не менять.

Создаем ключ сервера

A challenge password []: Заполняется произвольным значением, насколько я понял это нужно только для создания ключа и больше нам не потребуется. Кто знает точно поправьте статью.

В конце соглашаемся с запросом на подпись и добавление сертификата в базу.

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

Создаем ключ Диффи-Хеллмана

Cоздаем ключ для tls-аутификации

Создадим директорию для клиентских конфигов

Можно запускать наш сервер OpenVPN

Смотрим список интерфейсов

Если среди прочих видим

значит VPN-сервер завелся. Если нет, то смотрим лог

Если сервер имеет «белый» IP то никакой маршрутизации на стороне сервера настраивать не нужно. Если сервер находится в локальной сети за NAT роутера то необходимо настроить маршрутизацию.
Для того, чтобы клиенты могли достучаться до сервера нужно пробросить порты с роутера на сервер. В разных моделях это делается по разному. Суть в том, чтобы стучась на внешний порт, например 12345 1). клиенты попадали на порт OpenVPN-сервера 1194 (или другой, который мы задали для нашего сервера). Кроме того устройствам в локальной сети нужно сообщить, что для доступа к сети за OpenVPN-сервером нужно обращаться к нему. Но проще задать этот маршрут на роутере, который обслуживает локалку.

Создаем файл в каталоге ccd с тем же именем, что и ключ для клиента, т.е. /etc/openvpn/ccd/client

В /etc/sysctl.conf расскомментируем #net.ipv4.ip_forward=1 после чего

Ключи клиента создаются на сервере

Переходим в созданную директорию, где и замёмся генерацией ключей и сертификатов

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

В данном случае название ключа - client. Каждый ключ должен быть со своим именем.

Если хотим защитить ключ паролем, то генерируем его другой командой

В этом случае при запуске соединения нужно будет каждый раз вводить пароль на ключ.

Теперь нужно не забыть скопировать ключи (ca.crt, client.crt, client.key, ta.key ) на клиента OpenVPN в /etc/openvpn/keys/

Можно запускать наш клиент OpenVPN

Машина с openvpn уже готова работать с сервером в чём можно убедится

Но для того, чтобы пользоваться туннелем в другой офис могли другие устройства в локальной сети нужно указать им, чтобы доступ в подсеть 192.168.1.0/24 осуществляется через 192.168.0.100. Или, что часто проще и быстрее прописать это правило маршрутизации на роутере, который является шлюзом для устройств в сети.

Также как в случае с сервером.

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

Если же вы хотите организовать доступ из VPN сети в интернет с IP адреса сервера, то вам нужно настроить на сервере NAT. Сделать это можно следующей командой (на сервере):

Здесь мы указали, что сеть 10.8.0.0/24 будет выходить наружу через интерфейс eth0.

Для того что бы настройки iptables сохранились после перезагрузки нужно их дополнительно сохранить:

К конфиге клиента client.conf нужно добавить строчку

Скрипт revoke-full создаст CRL-файл (certificate revocation list, список отозванных сертификатов) с именем crl.pem в подкаталоге keys. Файл должен быть скопирован в каталог, в котором сервер OpenVPN может получить к нему доступ. Ранее в конфиге мы прописали, что этот файл должен находится в /etc/openvpn, туда и копируем.

Это бывает полезно, например для клиента с ключем защищенным паролем, т.к. всё равно при старте системы такое соединение не поднимется в виду отсутствия пароля для ключа. Да и в том случае, если вы сделали ключ с паролем, значит, скорее всего, вам не нужно постоянное соединение.

VPN-сервер на ВМ Virtualbox (1 ядро i5-4670)

Сеть гигабит (без шифрования последовательная скорость передачи 120 МБ/с). Скорость буду указывать в мегабайтах, НЕ в мегабитах!

Форвардинг на хоста

Клиент Windows 7, OpenVPN 2.3 64, FX-6300

Скорость всегда упиралась в ВМ, где процессор бы полностью занят. ЦП клиента был загружен не более 10% - 40% на 1/6 ядер.

С конфигом выше - 14 МБ/с

Отключаем сжатие ;comp-lzo - прибавка не более 1 МБ/с - до 15 МБ/с

Отключаем аутентификацию auth none +2 МБ/с - до 17 МБ/с

Отключаем шифрование cipher none +2 МБ/с - до 19 МБ/с

Сжатие comp-lzo сжимает хорошо сжимаемые файлы в 2 раза хуже, чем zlib, зато почти не влияет не загрузку ЦП (в десятки раз быстрее). Проверял на копировании установленного в Windows Libreoffice 5. Сжатие в zip с помощью архиватора 7z дало результат около 35%, сжатие comp-lzo по статистике сетевого интерфейса - около 70%.

Максимальный прирост при отключении сжатия, шифрования и аутентификации составил около 35%. Не думаю, что это стоит того, чтобы отключать механизмы защиты, но ситуации бывают разные.

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

Другие статьи

Free OpenVPN - Как подключиться к бесплатному VPN

Установка и настройка OpenVPN клиента

Подробную инструкцию по установке, настройке и подключению клиентского приложения OpenVPN GUI
на семейство операционных систем Windows ,
вы можете найти на нашем форуме по ссылке https://www.freeopenvpn.ru/forum/viewtopic.php?id=6

1. Установите клиентское приложение OpenVPN 2. Скачайте и импортируйте файлы конфигурации

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

Далее вам следует импортировать скачанные файлы конфигурации в систему:
Windows: скопируйте файлы .ovpn в папку
C:\Program Files\OpenVPN\config\;
Android, iOS, Mac OS: нажмите на файлы .ovpn в файловом менеджере и они импортируются самостоятельно.

3. Запустите клиентское приложение OpenVPN

Перед первым запуском приложения в ОС Windows. нажмите правой кнопкой мыши на ярлык OpenVPN, выберите "Свойства", откройте вкладку "Совместимость" и установите флажок у пункта "Запускать от имени администратора". После запуска, в трее появится иконка OpenVPN, нажмите на нее правой кнопкой, выберите в списке нужный вам файл конфигурации и установите соединение нажатием левой кнопки мыши.

В Linux запускайте OpenVPN командой:
sudo openvpn /путь до файла конфигурации .ovpn

В других операционных системах используйте графическую утилиту.

Настройка OpenVPN Windows 7: инструкция

Настройка OpenVPN Windows 7

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

  • ОС Windows 7, Server 2008 r2 или новее;
  • администраторские привилегии для запуска клиента;
  • программа OpenVPN;
  • файл конфигурации, полученный от провайдера, для подключения до сервера;
  • доступ к роутеру – возможно потребуется его настройка (переброс портов).

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

Основные преимущества приложения для Windows 7 и Server 2008 r2:

  • простая настройка в Windows – новичок после прочтения инструкции сможет поднять server самостоятельно или подключиться в качестве клиента к уже созданному;
  • повышенная безопасность – разработчик предлагает 3 метода аутентификации для пользователя;
  • нет нужды в покупке дополнительного оборудования;
  • практически не влияет на скорость подключения и отличается высокой стабильностью.
Инструкция по установке и настройке
  • Заходим на официальный ресурс разработчика и загружаем редакцию приложения, подходящую под разрядность вашей Windows.
  • Запускаем инсталлятор, чтобы началась установка программы.
  • Жмем на кнопку «Next».

  • Знакомимся с условиями лицензии, после чего жмем «I Agree».

  • Отмечаем галочками все компоненты для установки и кликаем по кнопке «Далее».

  • Задаем каталог установки, если стандартные настройки не устраивают, и жмем «Установить».

Установку выполняем в каталог «OpenVPN», расположенный в корневой папке системного раздела.

  • Подтверждаем установку драйвера.

  • По окончании инсталляции жмем «Next».

  • По завершению установки сервера для создания VPN жмем «Finish».

Посмотрите ещё: Почему во время установки Windows 7 выдает ошибку

  • Полученный у провайдера конфигурационный файл размещаем в каталоге «config».

Чтобы server правильно функционировал, его необходимо запускать с администраторскими привилегиями.

  • Вызываем «Свойства» ярлыка OpenVPNGUI.

  • Во вкладке «Совместимость» ставим флажок возле опции, как показано на скриншоте.

  • В трее вызываем контекстное меню приложения и жмем «Connect».

Установка OpenVPN на Windows завершена.

Конфигурируем сервер

Настроить server немногим сложнее, чем клиента, потому выполняйте инструкции очень внимательно.

  • Создаем каталог «SSL», где будут сохраняться сертификаты с ключами для аутентификации и шифрования данных, в папке с программой.
  • Создаем текстовый файл в блокноте и помещаем в него следующий код (Ссылка на копирование ):

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

  • Аналогичным способом создаем bat-ник с «vars.bat» в «easy-rsa», расположенной в каталоге с программой, чтобы настроить client.

  • Там же создаем текстовый документ «openssl.cnf» со следующим содержимым (Ссылка на копирование ):

Конфигурируем клиент

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

  • Создаем каталог «SSL» в директории с приложением и перемещаем в него файлы ca.crt, ta.key, client 1.crt и client1.key.
  • Создаем в этой папке файл «Clientovpn» следующего содержания (Ссылка на копирование ):

Здесь x.x –доменное имя или IP-адрес сервера OpenVPN, к которому подключается client, а 777 – порт сервера.

  • Пишем «services.msc» в строке командного интерпретатора (Win+R) и запускаем службу OpenVPN.
  • При успешном выполнении операции вызываем диалог свойств и изменяем тип запуска на «Авто».
  • Заходим в «Свойства» отображенного ниже подключения через «Центр управления сетями» в Windows и проверяем, получил ли ваш client IP-адрес от сервера.

Посмотрите ещё: Таймер выключения компьютера Windows 7

Обращаем внимание на строку «Адрес IPv4».

(Visited 3 370 times, 12 visits today)

OpenVPN настройка

OpenVPN настройка

Столкнулся с необходимостью поднять OpenVPN. Случай мой оказался не стандартным. Cервер должен быть на Windows, клиентами же выступают пром. gsm-модемы. с линуксом на борту. Задача не простая, тут собран мой опыт по настройке OpenVPN, и варианты граблей с которыми мне пришлось в этом процессе столкнуться. Начну пожалуй с ресурсов которые мне в этом помогли:

Примеры настройки OpenVPN

Основные ресурсы с примерами настройки openVPN сервера и клиентов:

теперь ряд русскоязычных ресурсов:

    • http://compkaluga.ru/articles/172/ — грамотный туториал с указанием основных возможных ошибок
    • http://www.sysadmin.in.ua/info/index/22/27/39 — простая и доходчивая статья, но в настройках допущена ошибка —

    # Эти параметры в среде windows — не дадут клиенту подключиться к серверу. их следует закоментировать или убрать.
    user nouser
    group nogroup

    • Эта статья незаслуженно низко находится в выдаче поисковиков http://interface31.ru/tech_it/2011/09/organizaciya-vpn-kanalov-mezhdu-ofisami.html — очень грамотная и доступная подробно разбирает процесс настройки сервера и клиента, а так же вопросы настройки маршрутизации трафика. Т.е. если у вас задача объединить несколько офисных сетей — то обязательна к изучению. Однако, вопрос генерации ключей дан вскользь, для этого стоит посмотреть один из мануалов дальше.
    • http://habrahabr.ru/post/233971/ — подробный разбор запуска на Linux системах. В конце материала описана процедура настройки для windows систем.
    • http://habrahabr.ru/sandbox/58689/ — по сути краткая шпаргалка по заведению openVPN на windows. полезна в том случае если подробный разбор вы уже изучили, но подзабыли отдельные детали процесса.А вот на это я бы обратил внимание:

      — Далее во избежание проблем с созданием сертификата клиента очищаем index.txt папке ssl

    • http://geektimes.ru/post/197744/ Основная особенность этого мануала заключается в том что дан пример настройки OpenVPN под Windows, но без tls аутентификации — соответственно конфиг проще, ключей поменьше. Но и уровень безопасности пожиже. Однако главной фишкой для меня стало вот это: «Теперь о конфиге клиента. Можно не передавать файлы сертификатов, а вписать сразу в конфиг, только делать это лучше не с блокнота, а с AkelPad’а или Notepad++ например.» ну и дальше читайте на странице.От себя должен сказать, что у меня такой файл конфига клиента с вшитыми ключами создать пока не вышло. Но обязательно буду пытаться, о результатах доложу здесь же.
    • http://yakm.ru/Nastroyka-OpenVPN.html тут дан пример простенького конфига с одним секретным ключём на две машины. Т.е. использую данный конфиг, вы можете поднять сервер и подключить к нему одного клиента. Для более сложных конфигураций надо всё-таки генерить все ключи.
    • http://yakm.ru/Nastroyka-OpenVPN-chast-2.html продолжение туториала выше, где собран простенький но полноценный конфиг. Однако вопрос генерации ключей разобран вскользь.
    • http://www.freeproxy.ru/ru/vpn/windows-7/openvpn.htm простой но очень важный туториал по правильной установке и запуску OpenVpn в среде Windows. Особо хотелось бы обратить внимание на необходимость запускать openvpnGUI — от имени администратора. Без этой малости — ни один клиент не сможет подключиться к успешно работающему серверу.
    • http://forum.ixbt.com/topic.cgi?id=14:40906:1#1 — огромная конференция по вопросам работы с OpenVPN. Наверное тут разобраны все возможные вопросы. Однако вкурить всю ветку форума — задача поистине титаническая.
    • http://suli-company.org.ua/it/unix/1063-prostaya-nastroyka-openvpn-s-fiksirovannymi-adresami-klientov.html еще один очень подробный разобор. В основном он посвещен настройки openVPN на Linux. Но разбор конфигов очень подробный. Дан частичный адаптированный русский перевод мануала из первой ссылки. И в конце статьи вариант настройки на Windows. + решения для нескольких проблемм:»Получено сообщение Initialization Sequence Completed. но пинг не проходит — это означает, что брандмауэр на сервере или клиенте блокирует VPN сетевой трафик на TUN/TAP интерфейсе. Решение проблемы: запретите брандмауэру клиента (если есть) фильтрацию TUN/TAP интерфейса клиента.»
    • http://samag.ru/archive/article/318 — еще один разбор настройки OpenVPN — тут упор сделан на кросс-платформенность.
    OpenVPN и роутеры

    Сети связывать лучше посредством специальных устройств, нежели выделять для этого дела отдельный компьютер. Хорошая новость — есть огромное количество роутеров которые со спец прошивкой — поддерживают OpenVPN, если у вас возник вопрос «Какой роутер поддерживает OpenVPN» то поискать ответ можно тут:

    Для себя, опытным путем, я выбрал роутер Asus RT-N10U, и настроил его под свой конфиг. Главное преимущество — возможность перепрошить его прямо в окне браузера. А дальше читайте в статье.

    Конфиг OpenVPN Сервера, на Windows 7:

    Ну и собственно мой конфиг. Он прямо скажем не идеален, но вполне годен.

    port 1194
    proto udp
    dev tap2
    dev-node «vpn»
    ca ca.crt
    cert server.crt
    key server.key # This file should be kept secret
    dh dh1024.pem
    server 10.8.0.0 255.255.255.0
    client-to-client #разрешить общение клиентов между собой подробнее см.ниже
    topology subnet
    route-method exe
    route-delay 5
    route 10.8.0.0 255.255.255.0
    #PUSH START те данные которые мы передаем на клиент.
    #push «dhcp-option gateway 10.8.0.1» — имело бы смысл с windows клиентами, у нас linux
    push «persist-key»
    push «persist-tun»
    #PUSH END
    duplicate-cn #позволяем нескольким клиентам пользоваться одним ключом
    keepalive 10 120
    #cipher AES-128-CBC #закоментировали алгоритм шифрования будет использован по умолчанию
    comp-lzo
    persist-tun
    persist-key
    persist-local-ip
    persist-remote-ip
    status openvpn-status.log
    log c:\\OpenVPN\\log\\openvpn.log
    verb 5

    Настройка Клиента IRZ RUH2:

    В нашем случае это GSM router IRZ RUH2, здесь я не даю подробной инструкции, просто конфиг, который у меня отлично работает. Ключи на модем я добавлял через upload в администрировании.

    client
    proto udp
    dev tap2
    remote 111.111.111.111 1194
    ca ca.crt #ключи
    key client.key
    cert client.crt
    route-method ipapi #если клиент Linux, exe если Windows
    route-delay 5 #пауза для применения настроек 5-10 секунд
    route 10.8.0.0 255.255.255.0 10.8.0.1 #прописываем на клиенте маршрут
    route-gateway 10.8.0.1 #Шлюз
    comp-lzo #сжатие
    nobind #
    persist-key #
    persist-tun
    verb 5
    mute 20

    Некоторые ошибки при настройке OpenVPN Authenticate/Decrypt packet error: packet HMAC authentication failed

    В моем случае эта ошибка разрешилась с помощью изменения Hash Algorithm на SHA1 у клиента, т.е. приведение к тому же значению что и на сервере.

    Authenticate/Decrypt packet error: cipher final failed

    — ошибка алгоритма шифрования. вероятно в настройках клиента и сервера указаны разные варианты cipher. Как вариант можно не указывать его вообще, тогда будет взят вариант по умолчанию (bf-cbc )

    Не возможно подключиться к интерфейсу, если служба уже запущена

    Идем в службы и выключаем её

    При запуске сервера OpenVPN ошибкa: не возможно добавить маршрут в таблицу маршрутизации

    Решение: Не хватает прав доступа, необходимо запустить сервер от имени администратора.

    Клиент находит сервер, подключается, но не пингуется, или не может подключиться.

    — Необходимо на сервере внести в правила фаервола исключение для нашего сервиса.

    Клиент находит сервер, но не пингуется.

    — Необходимо настроить маршрутизацию т.е. запустить запросы в нашу vpn сеть через наш tap интерфейс. В нашем случае мы можем запустить консоль Windows от имени админиcтратора и там вручную добавить маршрут к примеру:
    route -p add 10.8.0.0 mask 255.255.255.0 10.8.0.1
    -p — добавляем маршрут на постоянной основе, без этого аргумента при перезагрузки маршрут исчезнет.
    10.8.0.0 mask 255.255.255.0 — задаем диапазон адресов для которых будет действовать маршрут, все пакеты идущие на адреса с 10.8.0.1 до 10.8.0.255.
    10.8.0.1 — шлюз, gateway, на который будем слать пакеты. В нашем случае это сервер VPN соединения.

    Ошибка: Initialization Sequence Completed With Errors ( see http://openvpn.net/f…#dhcpclientserv )

    вылечилось добавлением openVPN в исключения фаервола.

    Соответственно, для Windows систем, от XP до 7ки это можно сделать, выполнив в консоли следующую команду от имени администратора:

    netsh firewall add allowedprogram program = C:\OpenVPN\bin\openvpn.exe name = «OpenVPN Server» ENABLE scope = ALL profile = ALL

    Продолжение темы настройки openVPN:

    Lisp, склеивание линий под блоком.