Где находится файл конфигурации openvpn. Установка OpenVPN на Windows VPS

  • 15.06.2019

Когда используешь openvpn клиент под windows существует ограничение на подключение только к одному серверу. Это связано с тем, что при установке openvpn создается только 1 tap адаптер, который обслуживает только одно vpn соединение.

Если при активном соединении попробовать подключиться к еще одному серверу, то получаешь ошибку:

TCP/UDP: Socket bind failed on local address : Address already in use (WSAEADDRINUSE)

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

Как оказалось, обойти данное ограничение очень просто. После установки клиента openvpn в windows создается папка:

C:\Program Files\TAP-Windows\bin

В этой папке в том числе есть файл addtap.bat . С помощью этого скрипта, запущенного с правами администратора, можно добавить еще один TAP адаптер в систему. Просто кликаете по нему и все. В сетевых подключениях создается еще один адаптер с названием — TAP-Windows Adapter V9 #2 :

Теперь нужно в папке

C:\Program Files\OpenVPN\config

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

Вот так просто решается задача создания нескольких активных openvpn подключений в windows.

Помогла статья? Есть возможность автора

Онлайн курс "Сетевой инженер"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные сети, научиться настраивать VPN с шифрованием, разбираться, находить и устранять проблемы в маршрутизации OSPF и BGP, фильтровать и балансировать маршруты, рекомендую познакомиться с онлайн-курсом «Сетевой инженер» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям. Обучение длится 4 месяца, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по.
  • Подробная статья по .
  • Как настроить под Freebsd.

This is primarily a maintenance release with bugfixes and improvements. One of the big things is enhanced TLS 1.3 support. A summary of the changes is available in Changes.rst , and a full list of changes is available .

. We are moving to MSI installers in OpenVPN 2.5, but OpenVPN 2.4.x will remain NSIS-only.

will not work on Windows XP. The last OpenVPN version that supports Windows XP is 2.3.18, which is downloadable as and versions.

If you find a bug in this release, please file a bug report to our . In uncertain cases please contact our developers first, either using the or the developer IRC channel (#openvpn-devel at irc.freenode.net). For generic help take a look at our official , and user IRC channel (#openvpn at irc.freenode.net).

Source Tarball (gzip)

GnuPG Signature openvpn-2.4.7.tar.gz

Source Tarball (xz)

GnuPG Signature openvpn-2.4.7.tar.xz

Source Zip

GnuPG Signature openvpn-2.4.7.zip

Windows installer (NSIS)

GnuPG Signature openvpn-install-2.4.7-I603.exe

NOTE: the GPG key used to sign the release files has been changed since OpenVPN 2.4.0. Instructions for verifying the signatures, as well as the new GPG public key are available .

We also provide static URLs pointing to latest releases to ease automation. For a list of files look .

This release is also available in our own software repositories for Debian and Ubuntu, Supported architectures are i386 and amd64. For details. look .

OpenVPN 2.4.6 — released on 2018.04.24

This is primarily a maintenance release with minor bugfixes and improvements, and one security relevant fix for the Windows Interactive Service. Windows installer includes updated OpenVPN GUI and OpenSSL. Installer I601 included tap-windows6 driver 9.22.1 which had one security fix and dropped Windows Vista support. However, in installer I602 we had to revert back to tap-windows 9.21.2 due to driver getting reject on freshly installed Windows 10 rev 1607 and later when Secure Boot was enabled. The failure was due to the new, more strict driver signing requirements. The 9.22.1 version of the driver is in the process of getting approved and signed by Microsoft and will be bundled in an upcoming Windows installer.

Please note that LibreSSL is not a supported crypto backend. We accept patches and we do test on OpenBSD 6.0 which comes with LibreSSL, but if newer versions of LibreSSL break API compatibility we do not take responsibility to fix that.

Also note that Windows installers have been built with NSIS version that has been patched against several . Based on our testing, though, older Windows versions such as Windows 7 might not benefit from these fixes. We thus strongly encourage you to always move NSIS installers to a non-user-writeable location before running them . Our long-term plan is to migrate to using MSI installers instead.

Compared to OpenVPN 2.3 this is a major update with a large number of new features, improvements and fixes. Some of the major features are AEAD (GCM) cipher and Elliptic Curve DH key exchange support, improved IPv4/IPv6 dual stack support and more seamless connection migration when client"s IP address changes (Peer-ID). Also, the new --tls-crypt feature can be used to increase users" connection privacy.

OpenVPN GUI bundled with the Windows installer has a large number of new features compared to the one bundled with OpenVPN 2.3. One of major features is the ability to run OpenVPN GUI without administrator privileges. For full details, see the . The new OpenVPN GUI features are documented .

Please note that OpenVPN 2.4 installers will not work on Windows XP.

If you find a bug in this release, please file a bug report to our . In uncertain cases please contact our developers first, either using the or the developer IRC channel (#openvpn-devel at irc.freenode.net). For generic help take a look at our official ,

Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя клиент OpenVPN в системах Windows XP, 7, 8, 10, Server 2003, 2008, 2012.

1. Установите клиентское приложение OpenVPN для вашей операционной системы. Запустите установочный файл. Откроется мастер установки. Следуйте подсказкам на экране, чтобы выполнить установку приложения.

2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл. ovpn) . Данная процедура требуется только при первичной настройке подключения.

Загрузить файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/ . Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы скачать его на рабочий стол или папку загрузки.

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

Нужно переместить файл *.ovpn в папку “config” основной директории установки OpenVPN.

Откройте папку C:\Program Files\OpenVPN\config и скопируйте файл *.ovpn в нее.

Кликните правой кнопкой мыши по иконке “OpenVPN GUI” на рабочем столе и выберите опция “Запустить от имени администратора”. В противном случае, установить VPN подключение не удастся.

Иконка OpenVPN GUI появится в области уведомления панели задач (системном трее). В некоторых случаях иконка может быть скрытой, нажмите по значку стрелки, чтобы показать все скрытые иконки.

Щелкните правой кнопкой мыши по иконке OpenVPN GUI и нажмите “Подключить”.

Запуститься VPN подключение. Статус подключения будет отображаться на экране. Если вы увидите диалоговое окно запроса имени пользователя и пароля. Введите “vpn” в оба поля. Данное окно появляется очень редко.

Если VPN подключение успешно установлено, то появится всплывающее сообщение как на скриншоте.

4. Интернет без ограничений

Когда подключение VPN установлено, в системе Windows создается виртуальный сетевой адаптер TAP-Windows Adapter V9. Этот адаптер получит IP-адрес, который начинается с “10.211 ”. Виртуальный адаптер получит адрес шлюза по умолчанию.

Вы сможете проверить конфигурацию сети, запустив команду ipconfig /all в командной строке Windows.

Когда соединение установлено, весь трафик будет проходить проходить через VPN-сервер. Убедиться в этом вы сможете с помощью команды tracert 8.8.8.8 в командной строке Windows.

Как показано на скриншоте выше, если пакеты проходят через "10.211.254.254", значит ваше подключение ретранслируется через один из серверов VPN Gate. Вы также можете перейти на основную страницу VPN Gate , чтобы посмотреть глобальный IP-адрес.

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

Настройка OpenVPN для MacOS

Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя приложение Tunnelblick. Tunnelblick является версий клиента OpenVPN с графической оболочкой. для систем MacOS.

1. Установите приложение Tunnelblick

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

После завершения установки появится следующий экран. Выберите опцию “У меня есть файлы конфигурации”.

На экране будет показана инструкция по добавлению конфигурации в Tunnelblick.

Нажмите ОК, чтобы закрыть окно.

2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл.ovpn). Данная процедура требуется только при первичной настройке подключения.

Файл конфигурации формата *.ovpn понадобиться для подключения к серверу ретрансляции VPN Gate через протокол OpenVPN.

Скачать файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/ . Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы его загрузить в папку загрузок (Downloads).

Чтобы установить файл конфигурации *.ovpn, перетащите его на значок Tunnelblick в строке меню, либо на список конфигураций во вкладке «Конфигурации» окна «Детали VPN». Если необходимо установить сразу несколько конфигурационных файлов - выделите их все, а затем перетащите.

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

Нажмите по иконке Tunnelblick на верхней панели инструментов MacOS и выберите опцию “Соединить [название конфигурации]”. Будет запущено подключение к VPN.

Появится статус подключения к VPN, как показано на скриншоте. После успешной установки подключения, в основном окне Tunnelblick будет показываться состояние “Соединен”.

4. Интернет без ограничений

Когда соединение установлено, весь трафик будет проходить проходить через VPN-сервер. Вы также можете перейти на основную страницу VPN Gate, чтобы посмотреть глобальный IP-адрес. Вы сможете увидеть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.

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

Нашли опечатку? Нажмите Ctrl + Enter

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

В этой статье в простой и доступной форме мы попытаемся рассказать вам о том как поднять собственный OpenVPN сервер. Мы не ставим своей целью, чтобы по окончании прочтения этой статьи вы досконально понимали все принципы "как это работает" или разбирались в тонкостях организации сетей, но хотим, чтобы в результате - вы могли настроить OpenVPN сервер "с нуля". Так что можно считать эту статью неким пошаговым руководством для пользователей. На самом деле в сети масса документации, мануалов, посвященных развертыванию OpenVPN, но они либо ориентированы на подготовленных пользователей или системных администраторов, либо же в качестве примера для демонстрации используются Linux-системы. Мы же пойдем другим путем и расскажем как настроить OpenVPN на компьютере среднестатического пользователя, т.е. рабочей станции с установленной ОС Windows. Зачем вам может пригодиться эта информация? Ну например вы хотите поиграть с друзьями в игру, которая не поддерживает игру через интернет, а только по локальной сети, или же, например, вы занимаетесь удаленной поддержкой пользователей, но по каким-то причинам использовать программное обеспечение вроде TeamViewer или Ammyy Admin не желаете, т.к. не хотите чтобы в процессе передачи ваших данных или установки соединения участвовали сервера сторонних компаний. В любом случае практический опыт организации собственной виртуальной частной сети (VPN) окажется для вас полезным.

Настройка сервера

Итак, начнем. В нашем примере в качестве сервера OpenVPN будет выступать машина с установленной ОС Windows XP Professional SP3 (x86), в качестве клиентов - несколько машин с Windows 7 x64 и Windows 7 x86 (хотя на самом деле описываемая в статье схема заработает и на других конфигурациях). Предположим, что ПК который будет выступать в роли OpenVPN сервера имеет белый статический IP адрес в сети интернет (в случае если IP адрес, предоставляемый вашим провайдером динамический, то вам необходимо зарегистрироваться в DynDNS или No-IP ), если это условие выполняется, но ПК находится за роутером или аппаратным firewall"ом - вам придется пробросить необходимые порты (об этом мы расскажем чуть ниже, когда перейдем непосредственно к настройке сервера), если вы не представляете что это такое и для чего это используется, то мы рекомендуем вам ознакомиться со статьей на нашем сайте.

  1. Идем на официальный сайт проекта OpenVPN, в раздел Downloads - . Скачиваем оттуда, соответствующий вашему релизу ОС Windows дистрибутивай (32-bit или 64-bit Installer). На момент написания этой статье для 32-х битных ОС был доступен дистрибутив openvpn-install-2.3_rc1-I002-i686.exe , а для 64-х битных - openvpn-install-2.3_rc1-I002-x86_64.exe соответственно. Т.к. мы определились, что сервер мы будем поднимать на WinXP x86, т.е. на 32-битной ОС, то скачиваем дистрибутив по первой ссылке.
  2. Запускаем скачанный инсталлятор. На этапе где выбирается путь для установки вводим C:\OpenVPN (см. скриншот), это упростит нам настройку в дальнейшем: После чего нажимаем "Next" до тех пор, пока установка не будет завершена. Если в процессе установки, на этапе выбора компонент для установки у вас было "пустое окно", например, такое:
    То по всей видимости вы скачали "не тот" дистрибутив, в таком случае попробуйте скачать последнюю релизную версию openvpn-2.2.2-install.exe (она устанавливается как на x86, так и на x64 системы). При "правильной установке" окно выбора компонентов должно выглядеть так:
    Все галочки в нем при установке по-умолчанию стоят, менять дополнительно ничего не нужно. Если установка прошла успешно, то в Панели управления -> Сетевые подключения (или, если вы устанавливаете сервер на Windows 7 или Windows Vista, в Центр управления сетями и общим доступом -> Изменение параметров адаптера) у вас должен появиться TAP-Win32 Adapter V9, который будет называться "Подключение по локальной сети X" (X - автоматически присваиваемый системой номер):
    Состояние у него будет "Сетевой кабель не подключен", т.к. мы еще не конфигурировали наш сервер.
  3. Создаем в папке OpenVPN подпапку SSL, в ней будут храниться выданные сервером ключи и сертификаты. Далее запускаем блокнот и копируем в него следующий текст: #dev tun dev tap #dev-node "VPN" proto tcp-server #proto udp port 7777 tls-server server 10.10.10.0 255.255.255.0 comp-lzo # route-method exe # маршрут для сервера, чтобы видеть сети за клиентом # route 192.168.x.0 255.255.255.0 10.10.10.x # маршрут добавляемый в таблицу маршрутизации каждого клиента, чтобы видеть сеть за сервером # push "route 192.168.x.0 255.255.255.0" # разрешает vpn-клиентам видеть друг-друга, в противном случае все vpn-клиенты будут видеть только сервер client-to-client # каталог с описаниями конфигураций каждого из клиентов client-config-dir C:\\OpenVPN\\config\\ccd # файл с описанием сетей между клиентом и сервером ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt # пути для ключей и сертификатов сервера dh C:\\OpenVPN\\ssl\\dh1024.pem ca C:\\OpenVPN\\ssl\\ca.crt cert C:\\OpenVPN\\ssl\\Server.crt key C:\\OpenVPN\\ssl\\Server.key #persist-key tls-auth C:\\OpenVPN\\ssl\\ta.key 0 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 keepalive 10 120 status C:\\OpenVPN\\log\\openvpn-status.log log C:\\OpenVPN\\log\\openvpn.log verb 3 На параметрах которые здесь описаны, мы остановимся чуть позже. После чего сохраняем его в файл C:\OpenVPN\Config\Server.ovpn , обратите внимание файл должен получиться именно с расширением .ovpn , для этого в диалоге сохранения опции должны стоять именно так, как показано на картинке:
    Если вы работаете под Windows 7 / Windows Vista и блокнот не дает вам сохранить файл Server.ovpn в папку C:\OpenVPN\Config\ , значит его нужно запустить с правами администратора. Для этого щелкните в меню Пуск по ярлыку Блокнота правой кнопкой мыши и выберите "Запуск от имени администратора": Теперь также с помощью блокнота создадим файл C:\OpenVPN\easy-rsa\vars.bat , скопировав в него нижеследующий текст: @echo off set path=%path%;c:\OpenVPN\bin set HOME=c:\OpenVPN\easy-rsa set KEY_CONFIG=openssl.cnf set KEY_DIR=c:\OpenVPN\ssl set KEY_SIZE=1024 set KEY_COUNTRY=RU set KEY_PROVINCE=Kaluga set KEY_CITY=Kaluga set KEY_ORG=CompKaluga set KEY_EMAIL=decker@сайт А также файл C:\OpenVPN\easy-rsa\openssl.cnf : # # OpenSSL example configuration file. # This is mostly being used for generation of certificate requests. # # This definition stops the following lines choking if HOME isn"t # defined. HOME = . RANDFILE = $ENV::HOME/.rnd # Extra OBJECT IDENTIFIER info: #oid_file = $ENV::HOME/.oid oid_section = new_oids # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by "ca" and "req". # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # which md to use. preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that:-) policy = policy_match # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional # For the "anything" policy # At this point in time, you must list all acceptable "object" # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional #################################################################### [ req ] default_bits = $ENV::KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix: PrintableString, BMPString. # utf8only: only UTF8Strings. # nombstr: PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings # so use this option with caution! string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # we can do this but it is not needed normally:-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, your name or your server\"s hostname) commonName_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when "ca" signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # Here are some examples of the usage of nsCertType. If it is omitted # the certificate can be used for anything *except* object signing. # This is OK for an SSL server. # nsCertType = server # For an object signing certificate this would be used. # nsCertType = objsign # For normal client use this is typical # nsCertType = client, email # and for everything including object signing: # nsCertType = client, email, objsign # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # This will be displayed in Netscape"s comment listbox. nsComment = "OpenSSL Generated Certificate" # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # Copy subject details # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "OpenSSL Generated Server Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # This is what PKIX recommends but some broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Some might want this also # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where "obj" is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always Поздравляю! Вы только что создали основные конфигурационные файлы вашего сервера. Продолжим его настройку.
  4. Для дальнейшей настройки сервера нам будут необходимы некоторые навыки работы в командной строке. Прежде всего давайте разберемся, как ее запустить? Существует несколько способов, например, нажать Пуск -> Выполнить (или комбинацию кнопок Win+R ) на клавиатуре и в появившемся поле ввести cmd и нажать кнопку Ок. Однако, пользователям Windows 7 / Windows Vista понадобится запустить консоль с правами администратора, для этого проще всего на рабочем столе создать соответствующий ярлык. Щелкаем правой кнопкой мыши по любому пустому месту рабочего стола и выбираем пункт "Создать ярлык", в поле "месторасположение объекта" просто указываем три буквы - cmd и называем ярлык cmd, либо командная строка. Далее, пользователи Windows XP просто запускают его, а пользователи Windows Vista и Windows 7 запускают его от имени администратора, так, как это делалось выше с блокнотом.
  5. Далее последовательно вводим в консоли строки: cd C:\OpenVPN\easy-rsa vars clean-all При этом на экране это должно выглядеть так:
    Далее не закрывая это окно вводим последовательно команды генерации ключей: openvpn --genkey --secret %KEY_DIR%\ta.key build-dh build-ca Последняя команда (build-ca) создаст сертификат и ключ центра сертификации (CA), в процессе, правда, она задаст вам несколько вопросов, ответить на которые надо по-умолчанию нажатием кнопки Enter:
    Теперь создадим ключ сервера: build-key-server server Обратите внимание, вторым аргументом в команде идет имя ключа (server), это же имя вы должны ввести при ответе на вопрос Common Name (eg, your name or your server"s hostname), на остальные вопросы можно ответить по-умолчанию нажатием кнопки Enter. Если вы все сделали правильно команда предложит подписать сертификат и подтвердить запрос, на оба вопроса нужно ответить Y (см. скриншот):
    Если вы все сделали правильно, то картинка у вас будет идентичной скриншоту, а в последних строчках вывода команды будет сообщение об успешном добавлении одной записи в базу данных.
  6. После этого идем в оснастку "Службы и приложения" консоли управления, сделать это можно щелкнув по ярлыку Компьютер (Мой компьютер) правой кнопкой мыши и выбрав пункт меню Управление, либо набрав в консоли команду services.msc , находим там службу "OpenVPN Service" и в меню по правой кнопки мыши выбираем "Пуск". Если до этого вы все сделали правильно, то служба перейдет в состояние "Работает". Теперь можно изменить ей тип запуска на "Авто", вместо "Вручную", который был там по-умолчанию. В результате должно получиться так:
    На этом настройка самого сервера закончена, осталось только сконфигурировать клиентов. Для этого необходимо также выдать им ключи и сертификаты, делается это практически аналогично серверу, только для сервера мы использовали команду build-key-server, а для клиентов будем использовать команду build-key.
  7. Предположим что у нас два клиента, назовем их client1 и client2. Выполним последовательно команды: build-key client1 build-key client2 При этом на вопрос Common Name (eg, your name or your server"s hostname) вы также должны указать имя клиента используемое в команде, т.е. если вы вводили команду build-key client1, то на вопрос Common Name отвечаем client1, если client2, то client2. На остальные вопросы можно ответить нажатием Enter, в конце вас также попросят подписать сертификат и подтвердить запрос, на оба пункта отвечаем утвердительно - Y . Теперь перезапускаем службу OpenVPN для того чтобы изменения вступили в силу, в оснастке управления службами, в меню по правой кнопке мыши "Перезапуск", либо же в консоли последовательно вводим: net stop openvpnservice net start openvpnservice
  8. Теперь если мы зайдем в папку, то увидим там сгенерированные нами файлы ключей и сертификатов:
    Каждому клиенту необходимы будут его файлы: ca.crt .crt .key ta.key Т.е. для клиента 1 мы собираем файлы ca.crt, client1.crt, client1.key и ta.key, для клиента 2 - ca.crt, client2.crt, client2.key и ta.key соответственно и т.п. И тем или иным образом отправляем ему их (имеется ввиду по почте, в архиве с паролем, или на флешке), файлы ключей и сертификатов должны быть переданы по надежным каналам связи и не должны попасть в "третьи руки", т.к. фактически с помощью них клиент может получить доступ в вашу виртуальную подсеть. В следующем разделе мы рассмотрим настройку клиента, при этом будет предполагаться что файлы ключей и сертификатов от вас он уже получил.
  9. Если на ПК используемом в качестве сервера используется firewall / брандмауэр, то необходимо добавить OpenVPN в список исключений. Для встроенного брандмауэра Windows в консоли это можно сделать следующей командой: netsh firewall add allowedprogram program = C:\OpenVPN\bin\openvpn.exe name = "OpenVPN Server" ENABLE scope = ALL profile = ALL

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

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

Полезные ссылки

  • Официальная документация по OpenVPN -
  • OpenVPN man-pages -
  • OpenVPN HOWTO (на русском) - http://lithium.opennet.ru/articles/openvpn/openvpn-howto.html

F.A.Q.

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

А можно ли таким способом раздавать интернет?


От автора

Данную статью разрешается размещать на любых ресурсах, копировать полностью или частично, без ограничений, при условии сохранения ссылки на оригинал. Ссылка должна содержать название нашего ресурса Скорая Компьютерная Помощь г. Калуга оформленное в виде ссылки, а также содержать псевдоним автора статьи. Примером оформления подобной ссылки может быть:

Настройка OpenVPN сервера // Decker

Примечание

В последнее время к нам на электронную почту приходит большое количество вопросов в стиле "Вопрос по Вашей статье на шаге 5 после команды clean-all в результате у Вас копируется какой-то файл. У меня этого не происходит. команда openvpn --genkey --secret %KEY_DIR%\ta.key создает мне ключ а вот далее build-dh иbuild-ca не дают результата (cmd.exe пишет, что команда не является внутренней или внешней... или исполняемым файлом) файл ca.key не создается. Что я мог сделать не так? ".

Основной смысл которых сводится к вашей же невнимательности. Проблема при запуске clean-all, build-key и других команд заключается в том, что при установке OpenVPN вы не поставили галочки OpenSSL Utilities и OpenVPN RSA Certificate Management Scripts (их нужно ставить обязательно!). Обратите внимание на скриншот с окном выбора компонентов в начале статьи, там эти галочки стоят!

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

Интернет вчера и сегодня

Еще пятнадцать лет назад никто и представить себе не мог, насколько сильно мы привяжемся к глобальной паутине. Появилась новая болезнь - интернет-зависимость, от которой лечат так же недавно появившиеся специалисты. Открылся ранее неведомый необъятный рынок сбыта. Расширились горизонты для маркетинга и рекламы. Знания и технологии стали доступны, как никогда раньше. Чем сегодня занимаются люди в сети? Кто-то публикует интересные мысли в формате блога, кто-то ведет бизнес, а кто-то проходит онлайн-обучение в престижном вузе. У каждого свои интересы, но есть общие понятия и явления, с которыми рано или поздно сталкивался практический любой пользователь. Это вирусы и шпионские программы, защитное ПО и прокси-сервера, социальные сети, VPN. Именно о последнем и пойдет речь в статье.

Что такое VPN

VPN - это сеть внутри сети. Дополнительное соединение, которое создается поверх уже имеющегося. Чаще всего это обособленное пространство внутри интернета, островок защищенной информации в океане свободного доступа. Чем же отличается зона или туннель VPN? Прежде всего тем, что доступ к нему имеют только аутентифицированные пользователи, заранее добавленные в список клиентов VPN-сервиса. Кроме того, весь трафик внутри передается в зашифрованном виде и недоступен извне. А еще VPN обеспечивает анонимность и помогает обходить настройки прокси, если таковые имеются. Разумеется, каждому хотелось бы защищенности, а значит, услуга сия достаточно востребованна. Закон рынка, гласящий, что благодаря растущему спросу увеличивается и количество предложений, все еще в силе, поэтому выбор поставщиков услуги очень широк. Но мы рассмотрим общее на примере частного. Настройка OpenVPN - достаточно популярного решения туннелирования - и будет образцом работы с технологией в целом.

Преимущества

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

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

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

Обычно сервисы такого плана принято разворачивать на *nix-системах: Gentoo, CentOS, Ubuntu и т. д. Однако в случае с OpenVPN (тем более с клиентской частью) нам не суть важно, Ubuntu ли установлена на компьютере, где будет выполняться настройка OpenVPN, Windows 7 ли: как минимум первоначальные шаги не будут сильно отличаться. Для удобства выберем достаточно распространенную, привычную и удобную ОС от Windows. Дистрибутив программы можно без проблем найти в свободном доступе. Скачиваем на компьютер последнюю версию клиента OpenVPN, запускаем инсталлятор и соглашаемся по очереди со всем, что он рекомендует. В окне выбора компонентов необходимо отметить галочкой нужные. После завершения установки имеет смысл дополнительно проинсталлировать пользовательский интерфейс OpenVPN GUI, что значительно облегчит вам процесс настройки и дальнейшего управления клиентом. Для корректной работы OpenVPN должен запускаться в Чтобы этого добиться, нужно всего лишь поставить галочку в свойствах ярлыка. На этом процесс развертывания VPN-клиента завершен. Осталось только получить от администратора файл с ключами и сертификатами, а также конфигурационный файл для вашего подключения.

Следующий шаг - настройка сервера OpenVPN. Windows поддерживает не только клиентскую, но и серверную часть приложения.

OpenVPN -сервер на Windows

Серверная часть OpenVPN устанавливается так же, как и клиент: скачиваете дистрибутив и поочередно соглашаетесь с предложенным. Но здесь вы уже сами будете выступать в качестве администратора. Соответственно, вносить изменения в конфигурационный файл, генерировать ключи и сертификаты вы должны будете самостоятельно. Но не нужно пугаться: настройка OpenVPN сервера на Windows - задача не из невыполнимых, это касается даже новичков. Операции выполняются посредством командной строки. Точный текст команд вы найдете в любом установочном гиде OpenVPN. Если все сделано правильно, состояние нового, созданного в системе после установки VPN-сервера, виртуального адаптера изменится с «Кабель не подключен» на «Подключено». В свойствах адаптера вы увидите настроенный адрес внутренней сети.

OpenVPN вне компьютера

Мы рассмотрели с вами варианты развертывания клиентской и серверной части OpenVPN на операционную систему Windows. Учитывая кроссплатформенность программы, ее можно устанавливать и на другие версии ОС (Debian, Linux Mint и т. д.). Что еще, кроме стационарного компьютера, может выступать в роли клиента или сервера VPN? Им может служить Активировав там службу рассматриваемого нами сервера, вы сможете подключиться VPN-клиентом непосредственно к накопителю. Большинство маршрутизаторов также поддерживают OpenVPN. С бурным развитием информационных технологий все современные устройства выпускаются как можно более функциональными. Это не просто принтер, но 3 в 1, совмещающий в себе и сканер, и копировальный аппарат. Это не только мобильный телефон, но и фотоаппарат, плейер, GPS-навигатор, считыватель QR-кодов и многое другое. Если встроенного функционала не хватает, постоянно обновляющееся содержимое магазинов приложений поможет расширить возможности карманных устройств. Поэтому нет ничего необычного в том, чтобы выбрать новое поле деятельности для установки OpenVPN. Windows - уже пройденный этап, теперь речь пойдет о маршрутизаторе Mikrotik.

Развертывание OpenVPN на Mikrotik

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

Немного о VPN-серверах вместо заключения

Есть высказывание о том, что ни одна технология не завоюет широкого признания, пока обычный пользователь или системный администратор не сможет ее легко установить. Желательно, чтобы это было в рамках одного мастера, где нужно просто нажимать на кнопку "Далее". В действительности же у каждого продукта будут свои поклонники, независимо от того, какие действия придется предпринять перед непосредственным использованием. Настройка OpenVPN под Windows требует командной строки, но при этом не отличается особой сложностью. В то время как встроенные инструменты операционной системы или некоторые отдельные решения действительно устанавливаются и настраиваются за несколько кликов мышкой. Но за 12 лет OpenVPN не исчез, а продолжил развиваться, и до сих пор остается востребованным продуктом, качественным и некапризным.