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

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

OpenVPN позволяет настроить VPN-сервер как на платформе Windows Server, так и версии для рабочего компьютера (Windows 10, 8, 7).

Установка OpenVPN Server

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

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

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

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

Создание сертификатов

Переходим в папку установки OpenVPN (по умолчанию, C:\Program Files\OpenVPN) и создаем каталог ssl.

После переходим в папку C:\Program Files\OpenVPN\easy-rsa, создаем файл vars.bat, открываем его на редактирование и приводим к следующему виду:

set "PATH=%PATH%;%ProgramFiles%\OpenVPN\bin"
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=keys
set KEY_SIZE=2048
set KEY_COUNTRY=RU
set KEY_PROVINCE=Sankt-Petersburg
set KEY_CITY=Sankt-Petersburg
set KEY_ORG=Organization
set KEY_EMAIL=master@dmosk.ru
set KEY_CN=DMOSK
set KEY_OU=DMOSK
set KEY_NAME=server.domain.ru
set PKCS11_MODULE_PATH=DMOSK
set PKCS11_PIN=12345678

* в каталоге easy-rsa уже есть файл vars.bat.sample — можно переименовать и использовать его.
** значение HOME не меняем, если оставили путь установки программы по умолчанию; KEY_DIR — каталог, куда будут генерироваться сертификты; KEY_CONFIG может быть разным — его лучше посмотреть в файле vars.bat.sample или по названию соответствующего файла в папке easy-rsa; KEY_NAME желательно, чтобы соответствовал полному имени VPN-сервера; остальные опции можно заполнить произвольно.

Запускаем командную строку от имени администратора:

Переходим в каталог easy-rsa:

cd %ProgramFiles%\OpenVPN\easy-rsa

Запускаем vars.bat:

Чистим каталоги от устаревшей информации:

Снова запускаем vars.bat (после clean переопределяются некоторые переменные):

Теперь генерируем сертификат:

На все запросы нажимаем Enter.

Запускаем build-dh.bat:

Генерируем сертификат для сервера:

build-key-server.bat cert

* где cert — имя сертификата; на все запросы нажимаем Enter. В конце подтверждаем два раза корректность информации вводом y.

После переносим содержимое папки C:\Program Files\OpenVPN\easy-rsa\keys в C:\Program Files\OpenVPN\ssl.

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

Переходим в папку C:\Program Files\OpenVPN\config и создаем файл server.ovpn. Открываем его на редактирование и приводим к следующему виду:

port 443
proto udp
dev tun
dev-node "VPN Server"
dh "C:\\Program Files\\OpenVPN\\ssl\\dh2048.pem"
ca "C:\\Program Files\\OpenVPN\\ssl\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\ssl\\cert.crt"
key "C:\\Program Files\\OpenVPN\\ssl\\cert.key"
server 172.16.10.0 255.255.255.0
max-clients 32
keepalive 10 120
client-to-client
comp-lzo
persist-key
persist-tun
cipher DES-CBC
status "C:\\Program Files\\OpenVPN\\log\\status.log"
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log"
verb 4
mute 20

* где port — сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть любым из свободных, например 1723, занятые порты в Windows можно посмотреть командой netstat -a); dev-node — название сетевого интерфейса; server — подсеть, в которой будут работать как сам сервер, так и подключенные к нему клиенты.
** так как в некоторых путях есть пробелы, параметр заносится в кавычках.

В сетевых подключениях Windows открываем управление адаптерами — TAP-адаптер переименовываем в «VPN Server» (как у нас указано в конфигурационном файле, разделе dev-node):

Теперь открываем службы Windows и находим «OpenVpnService». Открываем ее, настраиваем на автозапуск и включаем:

Ранее переименованный сетевой интерфейс должен включиться:

VPN-сервер работает.

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

На сервере:

На сервере генерируем сертификат для клиента. Для этого сначала чистим файл index.txt в папке C:\Program Files\OpenVPN\easy-rsa\keys.

Затем запускаем командную строку от имени администратора:

Переходим в каталог easy-rsa:

cd %ProgramFiles%\OpenVPN\easy-rsa

Запускаем vars.bat:

И генерируем сертификат пользователя:

* на все запросы наживаем Enter, в конце — y.
** Мы можем на каждого клиента сгенерировать свой сертификат, а можем использовать один на всех. Первый вариант безопаснее, второй — удобнее. Каким пользоваться — решать исходя из личного опыта, требований политики безопасности компании и уровня доверия к пользователям.

Теперь из папки keys копируем файлы clients.crtclients.keyca.crt и dh2048.pem и переносим их на клиентский компьютер.

На клиенте:

Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:

* по сути, это тот же файл, который скачивался для сервера.

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

Переходим в папку C:\Program Files\OpenVPN\config.

И копируем в нее сертификаты, которые перенесли с сервера.

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

client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert clients.crt
key clients.key
dh dh2048.pem
float
cipher DES-CBC
keepalive 10 120
persist-key
persist-tun
verb 0

* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы. Для боевой среды это будет внешний адрес.

Сохраняем файл с именем config.ovpn в папке C:\Program Files\OpenVPN\config.

Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно).

Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.

Возможные проблемы

Большая часть проблем решается при помощи логов, которые находятся в папке C:\Program Files\OpenVPN\log. Уровень детализации лога контролируется параметром verb в конфигурационном файле сервера или клиента.

Также возможны следующие часто возникающие проблемы:

  1. Проблема: клиент постоянно пытается подключиться к серверу, но соединения не происходит или подключение зависает.
    Причина: сервер блокирует подключения по настроенному порту VPN (в нашем примере, 443).
    Решение: на сервере необходимо добавить 443 порт в исключения брандмауэра или отключить последний.
     
  2. Проблема: при попытке подключиться к серверу выскакивает ошибка «Не удалось подключиться к config».
    Причина: ошибка в настройках.
    Решение: перепроверьте каждую строчку файла конфигурации. Проверьте наличие всех файлов, на которые ссылаетесь в настройках.
     
  3. Проблема: клиенты получают одинаковые IP-адреса.
    Причина: подключение выполняется под одним и тем же пользователем.
    Решение: сервер выдает одинаковые адреса одинаковым клиентам. Необходимо настроить авторизацию на сервере и выдать каждому клиенту индивидуальные настройки.
     
  4. Проблема: соединение происходит, но через несколько минут связь прерывается.
    Причина: дублирование IP-адресов.
    Решение: данная проблема описана выше (пункт 3).

 

Возможно, Вы это тоже захотите попробовать

  1. Настройка OpenVPN-сервера с аутентификацией через LDAP (Active Directory) на Ubuntu Server
  2. Установка и настройка OpenVPN на Linux CentOS 7

# Сети# Интернет# Серверы# Безопасность# Windows

Была ли полезна вам эта инструкция?

Да            Нет

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

OpenVPN GUI на сегодняшний день самое популярное приложение. Зарекомендовало себя как стабильное и проверенное ПО.

Далее приведена инструкция по установки программы OpenVPN GUI и краткон руководство по настройке VPN на операционной системе Windows. Для начала вам необходимо скачать OpenVPN клиент для Windows, произвести установку после чего разархивировать в папку «config» файлы конфигурация скачанных с нашего сайта. Откройте программу OpenVPN на правах администратора, нажимая правую кнопку мыши, после чего в правом нижнем углу экрана (tray) кликните правой кнопкой мыши на иконку программы и выберите нужный сервер для подключения к VPN. Если вы сделали все правильно, то IP вашего компьютера поменяется на IP выбранного сервера.

  1. Скачайте и установите последнюю версию OpenVPN с официального источника для Windows XP (зеркало) или Windows Vista и выше (зеркало) на ваш компьютер. В процессе установки программа спросит «устанавливать ли TАP драйвер?», ответьте «ДА».
  2. Нажмите кнопку «Next».
  3. Согласитесь с лицензией.
  4. Отставьте все галочку по умолчанию не меняя ничего и нажмите «Next».
  5. Укажите путь установки программы OpenVPN GUI, рекомендуем оставить путь по умолчанию.
  6. При установки программы впервые, вам будет предложена установка TAP-driver, его требуется обязательно установить.
  7. Нажмите кнопку «Next».
  8. Снимите все галочки и нажмите «Finish».
  9. Купите на нашем сайте код активации.

    Приобретенный код нужно вставить на этой странице https://cloudvpn.pro/ru/code/ и получить ссылку на скачивание конфигураций.

  10. После ввода кода активации нажмите на полученную ссылку и «скачайте» конфигурации. Скачайте ZIP архив с конфигурациями на свой компьютер (к примеру на рабочий стол).
  11. Разархивируйте архив и сделайте извлечение файлов конфигов в папку «config», ранее установленной программы OpenVPN GUI.

    Если вы оставили стандартный путь при установки, тогда путь такой: C:\Program Files\OpenVPN\config или бывает для версий x86 — C:\Program Files (x86)\OpenVPN\config

  12. Выполните запуск программы от имени администратора нажав правую кнопку мыши на иконку OpenVPN GUI.
  13. Вы также можете чтобы не выполнять открытие программы от имени администратора каждый раз, указать в свойствах ярлыка > совместимость > «выполнять эту программу от имени администратора».
  14. В правом нижнем углу экрана рядом с часами появится иконка программы OpenVPN, нажмите правой кнопкой мыши чтобы увидеть список серверов для подключения.
  15. В выпавшем списке серверов, вы можете выбрать необходимый вам и подключится. Нажимайте «подключиться» и ждите подключения к серверу. Желтый заначек обозначает что происходит подключение к серверу, зеленый что уже подключен и OpenVPN соединение успешно работает.
  16. В конце рекомендуем убедится, что все работает и у вас сменился IP адреc и страна, используйте данный сервис.

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

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

Основное преимущество VPN соединения – это простота настройки у клиентов. Оно настраивается буквальной в 3-4 клика мыши под Windows XP; поэтому в компаниях, которые могут предоставлять доступ в свою корпоративную сеть, предпочитают давать своим сотрудникам именно VPN соединения.

Минусов у VPN соединения тоже достаточно. Например, оно не всегда работает при соединении через GPRS (проверено на МТС, без услуги Реальный IP Адрес VPN не работает).

Для себя я предпочел настроить OpenVPN соединение. На мой взгляд, оно удобнее – во-первых, оно позволяет не только шифровать трафик, но и неплохо его сжимать.

Во вторых, я сам могу решать, по какому соединению будет работать OpenVPN (TCP или UDP), и могу выбрать тот порт, который мне нужен. В третьих, длину ключа шифрования и периодичность смены ключа я тоже определяю сам. Такая гибкость настройки мне очень нравится.

Недостатки у OpenVPN тоже есть. Наппример, если установлен антивирус Касперского, то OpenVPN может не работать. Меня это не расстраивает, поскольку я в основном использую Linux.

И все-таки мне удалось настроить VPN соединение поверх GPRS от МТС без услуги Реальный IP адрес.
Все оказалось просто, надо сначала установить OpenVPN соединение поверх GPRS, и уже поверх OpenVPN установить соединение VPN. Звучит страшно, выглядит тоже не очень… Но работает.
В этом случае вышестощий провайдер не сможет помешать установке VPN-соединения, поскольку он не будет знать о используемых портах и передаваемых данных.

Дополнено 12.09.2008
Пример конфигурационных файлов OpenVPN:

### Конфигурация клиента
remote xxx.yyy.zzz.aaa 1194
dev tap
ifconfig 192.168.20.11 255.255.255.0
route-gateway 192.168.20.13
redirect-gateway
push “dhcp-option DNS 192.168.20.13″
secret key.txt
comp-lzo

### Конфигурация сервера
dev tap
ifconfig 192.168.20.13 255.255.255.0
push “redirect-gateway def1″
push “dhcp-option DNS xxx.yyy.zzz.aaa”
secret key.txt
comp-lzo

Ключ key.txt надо сгенерировать самостоятельно, например, на сервере, и передать по безопасному каналу клиенту (через sftp или scp). После этого надо перезапустить OpenVPN на сервере и на клиенте, все будет работать.

Надеюсь, мой опыт окажется полезным и для Вас.

Эта запись опубликована в рубриках: Uncategorized автором Ed. Постоянная ссылка.

Настройка OpenVPN для выхода в интернет

21 September 2012

Полезно иметь под рукой VPN, настроенный для выхода через него в интернет. Мне, например, он нужен для того, чтобы спокойно лазить в инет через открытые WiFi-точки, не боясь за свои пароли (в 2012 году все еще есть сайты, которые не используют HTTPS).

Настройка сервера (Ubuntu)

Устанавливаем OpenVPN из репозитория.

Генерируем сертификаты и ключи (которые надо держать в секрете). Нам понадобятся:

  • Сертификаты для сервера и для каждого клиента, а также приватные ключи для них.
  • CA-сертификат и ключ для подписи сертификатов сервера и клиентов.
  • Ключ Diffie Hellman. Нужен для установления защищенного соединения.

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

Инициализация (обращаем внимание на то, что после первой точки есть пробел):

Генерируем и , сертификаты и ключи для сервера/клиентов и ключ Diffie Hellman. На вопросы можно не отвечать и просто давить .

Копируем нужные на сервере файлы в .

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

Разбираемся с конфигом.

В есть шаблон , в нем подробно прокомментированы все опции. Мой конфиг выглядит примерно так:

Прописываем правила . Нужно разрешить клиентам из подсети доступ в интернет, разрешить принимать пакеты из интернета и пропустить трафик клиентов через NAT.

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

Включаем форвардинг в ядре: в добавляем (или раскомментируем) строку

Чтобы форвардинг заработал без перезагрузки, делаем

Если клиент уже находится за NAT-ом, проброс трафика не заработает, а в логах можно будет найти строки вроде — так как у OpenVPN нет правил для обработки пакетов из подсети , они дропаются. Поэтому прописываем нужные правила: в добавляем строки

а в создаем файл и в нем пишем

Настройка серверной части закончена, перезапускаем OpenVPN.

Настройка клиента (Ubuntu)

Во-первых, надо установить OpenVPN на клиенте.

Во-вторых, с сервера надо скопировать CA-сертификат , сертификат и ключ .

Есть два способа настройки клиентской части OpenVPN. Первый — с использованием конфига в . В есть шаблон с комментариями. Мой конфиг выглядит примерно так:

Второй способ — настройка через GUI. Ставим плагин для network manager:

И добавляем VPN в Network Connections (VPN Connections → Configure VPN → Add).

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

Замечание насчет DNS: домены могут не резолвиться при перенаправлении трафика через VPN, если используются DNS-сервера провайдера, доступные только из его локальной сети. Поэтому лучше использовать какие-нибудь публичные DNS-сервера, например, Google Public DNS ( и ).

vpnopenvpnlinuxubuntu

Всем привет! Когда-то я писал статью о том, как сделать свой VPN, используя PPTP и сегодня я решил продолжить тему поднятия своего VPN-Сервера. Устанавливать я буду OpenVPN. Производить установку планирую на VPS от Fornex, приобретенный на черную пятницу, с установленной CentOS 7. Начнем.

OpenVPN

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

Установка OpenVPN

Для начала нам необходимо подключить Epel-репозиторий, в котором можно будет найти OpenVPN:

Ну а теперь можно и сам OpenVPN установить:

Создание сертификатов

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

и распакуем:

Заходим в папку со скриптами:

Скопируем файл vars.example, сохранив его как vars:

И выполним инициализацию:

Теперь можно приступить к генерации сертификатов.

Для начала создадим удостоверяющий центр сертификатов:

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

  • ca.key — секретный ключ;
  • ca.crt — публичный.

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

И подпишем его:

Нас попросят подтвердить, что это нужный сертификат, а так же ввести пароль от удостовряющего центра сертификатов. Создадим еще и ключ Диффи-Хелмана:

Скопируем все наши сертификаты поближе к OpenVPN:

Ну и создадим сертификаты для пользователя:

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

Файл настроек OpenVPN находится по пути /etc/openvpn/server.conf, но его нет… Давайте создадим, добавив него следующее содержимое:

Откроем порт:

Проверим, включился ли masquerade:

Если выводит yes, то всё хорошо. Подправим файл /etc/sysctl.conf, добавив в него следующую строку:

Это позволит трафику ходить между интерфейсами, то есть откроет нам доступ в сеть из локальной сети. Применим изменения:

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

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

Пару шагов назад мы создавали сертификаты для пользователя. Вот теперь они нам и пригодятся, так как, благодаря им, пользователь будет авторизовываться. Начнем:

Не забудьте поставить в этом конфиге IP вашего сервера(IP), а так же вставить содержимое указанных файлов. Таким образом мы создаем 1 файл, в котором сразу указаны и настройки клиента, и сертификаты. Если вы хотите разделить на файлы(то есть сертификаты раздавать файлами отдельно от конфига), то можно создать такую конфигурацию клиента:

Альтернативна — OpenVPN AS

Если вам всё это показалось сложным, то можно воспользоваться альтернативным вариантом — OpenVPN AS. Данная версия OpenVPN имеет удобный web-интерфейс, а так же поставляется с двумя бесплатными лицензиями(пользователями). Для установки OpenVPN AS необходимо выполнить следующие команды:

На этом установка завершена, осталось лишь открыть 943 порт(web-интерфейс), а так же необходимые для OpenVPN порты:

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

Заключение

Надеюсь данная статья кому-нибудь пригодится и поможет поднять свой VPN сервер без всякого труда. Спасибо за внимание.

Добавить комментарий

Закрыть меню