sonyps4.ru

Настройка OpenVPN. Подключение к бесплатным серверам VPN Gate

Интернет подобен морю. С пересылаемыми данными, как с судном во время путешествия, может случиться что угодно: они могут повредиться, затонуть в потоке информации или стать добычей «пиратов». Защитить особо ценные данные от кражи и потери помогают (VPN, ВПН) – системы закрытых каналов (туннелей), которые строятся внутри другой, более крупной сети. Одним из видов ВПН является OpenVPN.

Хотите научиться создавать виртуальные частные сети быстро и легко? Поговорим о преимуществах протокола OpenVPN, а также о настройках серверной и клиентской части принадлежащего ему ПО под Windows и Ubuntu.

Область применения и преимущества OpenVPN

Область применения

  • Создание защищенных корпоративных сетей. Расстояние между узлами таких сетей не имеет значения.
  • Защита информации в открытых общественных сетях.
  • Подключение к Интернету нескольких хостов через общий шлюз.
  • Доступ к запрещенным веб-ресурсам.

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

  • Всё бесплатно. Большинство из нас не откажется от бесплатного Wi-Fi в кафе или в парке, но трафик, передаваемый по такому соединению, никак не защищен от перехвата. Бесплатное ПО OpenVPN направит его в закрытый туннель, поэтому ваши логины, пароли и другая секретная информация точно не утечет в чужие руки.
  • Чтобы сделать свою сеть защищенной, не нужно покупать дополнительное оборудование.
  • Весь передаваемый трафик сжимается, что обеспечивает высокую скорость связи (выше, чем при использовании IPSec).
  • Гибкие настройки ПО позволяют сконфигурировать VPN любой сложности.
  • Использование нескольких надежных алгоритмов шифрования обеспечивает очень высокую степень защиты данных.
  • Не требуется перенастройки или отключения файерволов (сетевых экранов) и NAT (технологии преобразования ИП-адресов в сетях TCP/IP).
  • Протокол поддерживают все основные операционные системы.
  • Для установки и настройки программного обеспечения не нужны глубокие знания сетевых технологий, и даже у неспециалиста это занимает считанные минуты.

Настройка OpenVPN под Windows

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

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

В списке «Select components to install » (выберите компоненты для установки) отметьте всё.

Согласитесь на установку драйвера виртуального сетевого адаптера TAP Windows Adapter V9.

Установили? Теперь займемся созданием ключей и сертификатов VPN.

  • Заходим в каталог %ProgramFiles%/OpenVPN/easy-rsa и запускаем пакетный файл init-config.bat – он скопирует в эту же папку файл vars.bat.sample в виде vars.bat . В дальнейшем пакет команд vars.bat будет задавать переменные для генерации сертификатов.

  • После создания vars. bat открываем его с помощью блокнота и прописываем в выделенных строчках (после «=») любые данные. Сохраняем изменения.

  • Далее запускаем от администратора командную строку и выполняем инструкцию перехода в /easy-rsa (cd % ProgramFiles%/ OpenVPN/ easy- rsa ). После этого последовательно запускаем vars. bat и clean- all. bat (загружаем переменные и удаляем ранее созданные ключи).

  • Выполняем пакет команд build- ca. bat – этим мы создадим новый основной сертификат в каталоге %ProgramFiles%/OpenVPN/easy-rsa/keys. Заполнять данные об имени организации и прочее, что обведено на скриншоте рамкой, не обязательно – достаточно просто нажимать Enter.

  • Запускаем build- dh. bat – этим мы создаем ключ Диффи-Хельмана. В папке /keys появится файл dh1024.pem .

  • На очереди – ключ сервера: выполняем инструкцию build- key- server myVPN («myVPN» – это имя сервера, можете указать любое другое). Блок вопросов, начинающийся с «Country Name», пропускаем, нажимая Enter. На два последних вопроса – «Sign the certificate?» и следующий, отвечаем «Y».

  • Дальше нам нужно получить ключ клиента: выполняем build- key user1 (user1 – имя клиента, можете заменить на другое). Если клиентских компьютеров несколько, повторяем операцию для каждого, не забыв изменить имя. Обведенный рамкой блок, как и раньше, пропускаем.

  • Далее копируем из папки / easy- rsa/ keys в / OpenVPN/ config следующие файлы: dh1024.pem , ca.crt myvpn.crt , myvpn.key , user1. key, user1. crt . Последние четыре могут называться у вас по-другому. Почему, думаю, понятно.

  • Следом в этой же папке создаем файл конфигурации сервера. Копируем приведенные ниже директивы в блокнот и, если нужно, меняем их параметры на свои. Сохраняем документ с расширением.ovpn и именем «Server ».

# Интерфейс (L3-туннель)
dev tun
# Протокол работы VPN
proto udp
# Используемый порт (можно указать любой свободный)
port 1234
# Список сертификатов и ключей (обратите внимание на имена)
ca ca.crt
cert myvpn.crt
key myvpn.key
dh dh1024.pem
# Тип шифрования данных
cipher AES-256-CBC
# Выделяем диапазон ИП-адресов
server 10.10.10.0 255.255.255.0
# Уровень отладочной информации
verb 3
# Используем сжатие
comp-lzo
persist-key
persist-tun
mssfix
# Задаем максимальное число повторяющихся событий
mute 25
# Количество одновременно подключенных клиентов (5)
max-clients 5
# Время жизни клиентской сессии
keepalive 10 120
# Видимость клиентами друг друга (разрешена)
client-to-client
# Выделяем каждому юзеру 1 адрес
topology subnet
# Устанавливаем задержку перед добавлением маршрута
route-delay
#Указываем, если хотим раздавать Интернет. Адреса DNS пишем те, которые прописаны в настройках интернет-подключения.
push «redirect-gateway def1»

push «dhcp-option DNS x.x.x.x»

Дополнительно о директивах серверного конфига читайте .

Далее для раздачи интернета заходим в каталог сетевых подключений, открываем свойства интерфейса, смотрящего в глобальную сеть, переходим на вкладку «Доступ », ставим метку напротив «Разрешить другим пользователям использовать это подключение… » и выбираем из списка сеть виртуального адаптера TAP-Windows adapter V9 – в моем примете это Ethernet 3.

  • Создаем файл конфигурации клиента. Копируем следующий текст в блокнот и сохраняем документ с расширением.ovpn под именем «Client».

client
dev tun
proto udp
# IP или доменное имя VPN-сервера и порт подключения.
remote x.x.x.x 1234
ca ca.crt
cert user1.crt
key user1.key
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
verb 3

Другие директивы клиентского конфига смотрите .

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

Устанавливаем приложение на клиентский компьютер. Далее заходим на серверный, открываем каталог %ProgramFiles%/OpenVPN/config и копируем оттуда файлы ca.crt, Client.ovpn, user1.crt, user1. key в сетевую папку или на флешку. Переносим их в аналогичную папку клиентской машины.

Подключение

Чтобы запустить сервер, кликните по ярлыку «OpenVPN GUI» на рабочем столе. В трее появится иконка серого цвета. Щелкните по ней правой кнопкой мышки, выберите в меню команды «Server » и «Подключиться ».

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

Подключение клиента выполняется таким же способом, только вместо «Server » выбираем в меню «Client ».

Настройка OpenVPN под Ubuntu

Начинаем с того, что, как и на Windows, устанавливаем пакет OpenVPN на серверную и клиентские машины. Директива установки консольной версии ПО через терминал следующая: sudo apt-get install openvpn . При желании можете установить графические версии пакетов из центра приложений Ubuntu.

Однако важнейший компонент – модуль easy-rsa, предназначенный для генерации сертификатов и ключей, в Linux-дистрибутив не входит. Его придется установить отдельно, выполнив команду: sudo apt- get install easy- rsa.

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

  • После инсталляции программы и дополнительного модуля создаем каталог «easy-rsa » в папке /etc/openvpn: sudo mkdir /etc/openvpn/easy-rsa. Копируем в него содержимое из места установки: cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa.
  • Следом переходим в новый каталог: cd /etc/openvpn/easy-rsa/ и приступаем к созданию сертификатов и ключей.

  • Открываем с помощью консольного редактора nano файл переменных vars (аналог vars.bat в Windows) и импортируем в него те же данные, что и в vars.bat, с измененными значениями:

KEY_COUNTRY=RU
KEY_PROVINCE=CA
KEY_CITY=SanFrancisco
KEY_ORG=OpenVPN
[email protected]
KEY_CN=changeme
KEY_NAME=changeme
KEY_OU=changeme
PKCS11_MODULE_PATH=changeme
PKCS11_PIN=1234

  • Копируем криптографический пакет openssl: cp openssl-1.0.0. cnf openssl. cnf .
  • Загружаем переменные из vars: source ./ vars .
  • Удаляем ранее созданные данные: ./ clean- all .
  • Создаем новый основной сертификат: ./ build- ca . Блок вопросов в рамке пропускаем.

  • Следом – ключ Диффи-Хельмана: ./ build- dh .
  • За ним – сертификат сервера: ./ build- key- server myVPN (myVPN, как вы помните, – это имя, у вас оно может быть другим). Выделенный блок пропускаем (на скриншоте он сокращен), на 2 последних вопроса отвечаем «Y».

  • Последним создаем сертификат клиента: ./ build- key user1 (вместо «user1» можете придумать другое имя). При этом снова пропускаем выделенный на скрине блок и на два последних вопроса отвечаем «Y».

Все созданные ключи и сертификаты сохраняются в подкаталоге / etc/ openvpn/ easy- rsa/ keys . Перемещаем их в папку /openvpn: cp -r /etc/openvpn/easy-rsa/keys /etc/openvpn.

На завершающем этапе создаем файл конфигурации сервера в папке /etc/openvpn: nano / etc/ openvpn/ server. conf и заполняем его так же, как заполняли аналогичный документ на Windows. Единственное отличие – другие пути:

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/myvpn.crt
key /etc/openvpn/keys/myvpn.key

Наконец, создаем каталог для конфигурации клиентских машин: mkdir /etc/openvpn/ccd, и запускаем сервер: service openvpn start.

Если сервер не стартует, вероятно, в конфигурации допущена ошибка. Сведения о проблеме можно посмотреть в документе /var/log/openvpn.log с помощью команды tail -f /var/log/openvpn.log .

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

После установки приложения на клиентскую машину переносим на нее сгенерированные на сервере ключ и сертификаты и создаем конфиг.

Ключ и сертификаты – ca.crt , user1.crt и user1.key , находятся в папке /etc/openvpn/keys. Копируем их на флешку и вставляем в одноименную папку на компьютере клиента.

Файл конфигурации создаем с помощью nano: nano /etc/openvpn/client.conf, и заполняем по образцу Windows. Не забудьте прописать в нем правильные пути:

ca /etc/openvpn/keys/ca.crt
dh /etc/openvpn/keys/dh2048.pem
cert /etc/openvpn/keys/user1.crt
key /etc/openvpn/keys/user1.key

Всё готово. Для подключения к серверу используем ту же команду: service openvpn start.

Инструкция получилась длинной, но на самом деле выполнение этих действий занимает 5-10 минут. Более подробная информация о работе с OpenVPN находится в разделе «» официального сайта приложения. Пробуйте, и всё у вас получится!

Ещё на сайте:

Настройка OpenVPN на Windows и Ubuntu: что, зачем и как обновлено: Апрель 24, 2016 автором: Johnny Mnemonic

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

И так нам нужно организовать VPN канал между двумя офисами. Сеть Офис 1 (назовем его С_ОФ1) и Сеть Офис 2 (назовем его С_ОФ2).

Скажу сразу что в моем случае OpenVPN в обоих офисах установлен на Windows 7.

С_ОФ1 включает:
Машина куда ставим OpenVPN Server имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(192.168.0.100)
192.168.0.100 смотрит в сеть
192.168.1.2 смотрит в мир через роутер. Роутер имеет статический IP скажем 111.222.333.444. На роутере сделан проброс порта 1190 (в моем случае порт 1190 проброшена на 192.168.1.2)
Пользователь в сети: 192.168.0.50

С_ОФ2 включает:
Машина куда ставим OpenVPN Client имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(172.17.10.10)
172.17.10.10смотрит в сеть
192.168.1.2 смотрит в мир через роутер.
Пользователь в сети: 172.17.10.50

Задача: Пользователь С_ОФ1(192.168.0.50) должен видеть расшареные ресурсы на Пользователе С_ОФ2 (172.17.10.50) и наоборот.

Приступаем к настройке

Скачиваем OpenVPN с в соответствии с разрядностью системы.

Запускаем установку, на 3-м шаге активируем неактивные пункты.

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

В процессе установки в систему инсталлируется виртуальный сетевой адаптер TAP-Win32 Adapter V9 и, соответственно, драйвер к нему. Этому интерфейсу программа OpenVPN как раз и будет назначать IP адрес и маску виртуальной сети OpenVPN. В нашем случае ему назначен адрес 10.10.10.1с маской 255.255.255.0 на сервере С_ОФ1 и 10.10.10.2 с аналогичной маской на клиенте С_ОФ2.

Переименуем его в "VPN"


В директории "C:\OpenVPN" следует сразу же создать дополнительно папку ssl (здесь мы будем хранить ключи аутентификации) папку ccd (здесь будут находится конфигурация настроек сервера для клиента).

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

Set HOME=C:\OpenVPN\easy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=C:\OpenVPN\ssl
set KEY_SIZE=1024
set KEY_COUNTRY=RU
set KEY_PROVINCE=Stavropol
set KEY_CITY= Stavropol
set KEY_ORG=ServerVPN
set KEY_EMAIL=admin@localhost
set KEY_CN=test
set KEY_NAME=test
set KEY_OU=test
set PKCS11_MODULE_PATH=test
set PKCS11_PIN=1234

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


Переходим по пути C:\OpenVPN\easy-rsa, набрав для перехода в командной строке команду

Cd C:\OpenVPN\easy-rsa

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

Теперь запускаем build-ca.bat . Так как вся информация о сервере у нас уже заполнена, все оставляем без изменений:

после этого у нас в папке ssl появится два файла ca.crt и ca.key .

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

в результате у нас в папке ssl появится файл dh1024.pem.

Создаем серверный ключ, для этого вводим команду:

Build-key-server.bat ServerVPN

где "ServerVPN " это название нащего VPN сервера, как в моем случае,

Важно! Указываем параметр "commonname" - пишем имя нашего VPN сервера. Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes

в результате у нас в папке ssl появятся файлы ServerVPN.crt , ServerVPN.csr , ServerVPN.key.

Приступаем к формированию клиентских ключей.

Выполняем команду:

Build-key.bat UserVPN_1

где "UserVPN_1 " имя нашего клиента.

Важно! Указываем параметр "commonname" - пишем имя нашего VPN клиента(UserVPN_1). Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes

В результате у нас в папке ssl появятся файлы UserVPN_1.crt , UserVPN_1.csr , UserVPN_1.key .

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

Build-key.bat UserVPN_2
build-key.bat UserVPN_3

Генерация ключа tls-auth (ta.key) для аутентификации пакетов, для этого переходим в корневую папку OpenVPN:

и выполняем команду:

Openvpn --genkey --secret ssl/ta.key

в результате в папке ssl плучим файл ta.key .

Приступаем к созданию конфига сервера. В папке config создаем файл OpenVPN.ovpn :

#Порт для работы OpenVPN
port 1190


proto udp

#Тип интерфейса
dev tun

#Имя интерфейса
dev-node "VPN"

#Сертификат для шифрования подключения
dh C:\\OpenVPN\\ssl\\dh1024.pem


ca C:\\OpenVPN\\ssl\\ca.crt

#Сертификат сервера
cert C:\\OpenVPN\\ssl\\ServerVPN.crt

#ключ сервера
key C:\\OpenVPN\\ssl\\ServerVPN.key

# Защита от DOS атак (для сервера, после пути к ключу, ставим 0 а для клиента 1)
tls-server
tls-auth C:\\OpenVPN\\keys\\ta.key 0
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

#Диапазон IP адресов для VPN сети
server 10.10.10.0 255.255.255.0


cipher AES-256-CBC

#Логи

#Каталог, в которой лежит файл с названием нашего клиента, в моем случае UserVPN_1 без расширения, и в нем записать команды, которые будут выполнятся на клиенте:
client-config-dir "C:\\OpenVPN\\ccd"


verb 3


mute 20

# Максимальное количество одновременно подключенных клиенты мы хотим разрешить
max-clients 2

#Время жизни неактивной сессии
keepalive 10 120

#Разрешаем клиентам видеть друг друга
client-to-client

#Включаем сжатие
comp-lzo
persist-key
persist-tun

#Маршруты добавляются через.exe если без него, то не у всех прописываются маршруты
route-method exe

#Задержка перед добавлением маршрута
route-delay 5

#Команда которая сообщает клиентам что за сервером локальная сеть с адресами 192.168.0.0 255.255.255.0
push "route 192.168.0.0 255.255.255.0"

#Прописывает маршрут на сервере чтобы видеть сеть за клиентом
route 172.17.10.0 255.255.255.0 10.10.10.2

#Шлюз
route-gateway 10.10.10.1

# каждому клиенту выдается по 1 адресу, без виртуальных портов маршрутизатора
topology subnet

В папке ccd создаем файл без расширения и называем его точно, как клиента UserVPN_1 , открываем его блокнотом и пишем следующее:

#Присваиваем клиенту постоянный IP 10.10.10.2
ifconfig-push 10.10.10.2 255.255.255.0

#сообщаем серверу что за клиентом сеть 172.17.10.0
iroute 172.17.10.0 255.255.255.0

#если раскоментировать следующую строку, то клиент будет отключен (на случай если нужно этого клиента отключить от сервера, а остальные будут работать)
# disable

Создаем конфиг клиента.

#Говорим, чтобы клиент забирал информацию о маршрутизации с сервера (push опции)
client

#Порт для работы OpenVPN
port 1190

#Указываем по какому протоколу работает OpenVPN
proto udp

#Тип интерфейса
dev tun

#Имя интерфейса
dev-node "VPN"

# Адрес сервера, к которому подключаемся
remote 444.333.222.111 1190

#защита
remote-cert-tls server

#Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt

#Сертификат сервера
cert C:\\OpenVPN\\ssl\\ UserVPN_1.crt

#ключ
key C:\\OpenVPN\\ssl\\ UserVPN_1.key

# Защита от DOS атак
tls-auth C:\\OpenVPN\\keys\\ta.key 1
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ping-restart 60
ping 10

#Включаем сжатие
comp-lzo
persist-key
persist-tun

# Выбор криптографического шифра
cipher AES-256-CBC

#Логи
status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log

#Уровень отладочной информации
verb 3

#Количество повторяющихся сообщений
mute 20

Устанавливаем на клиенте OpenVPN, предаём ему ca.crt , UserVPN_1.crt , UserVPN_1.key , ta.key .

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

После всего этого запускаем наш сервер и клиент.

Если все правильно сделали наш сервер получит IP 10.10.10.1 и подключится к нему клиент и получит IP 10.10.10.2 . И так подключение у нас состоялось теперь сервер и клиент пингуют друг друга по IP нашей VPN сети, то есть 10.10.10.1 и 10.10.10.2.

Для того чтобы пинг шел по внутренним адресам наших С_ОФ1 и С_ОФ2 нужно включить службу Маршрутизации и удаленного доступа .


Hужно зайти в свойства службы, настроить ее на автоматическое включение и запустить.

После этого мы сможем пинговать внутренние IP сервера и клиента (172.17.10.10 клиент и 192.168.0.100 сервер).

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

При этом все сети работают в штатном режиме. Лично меня этот крест раздражает и иногда сбивает с толку.

Есть второй способ как сделать видимыми внутренние IP сетей наших сервера и клиента.

Для этого заходим в реестр, открываем ветку реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TcpIP\Parameters

Находим параметр и меняем значение: IPEnableRouter типа REG_DWORD значение 1 .

Не забываем перезагрузить машину, чтобы настройки вступили в силу!

Это нужно проделать и на сервере, и на клиенте.

Итак мы пингуем наши сети по внутренним IP, а так как у нас и сервер и клиент для своих сетей являются шлюзами, то и машины из сети 1 могут видеть машины из сети 2 и наоборот. то есть Пользователь С_ОФ1(192.168.0.50) может видеть расшаренные папки Пользователя С_ОФ2 (172.17.10.50) и наоборот.

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

Пример для С_ОФ1:

Route -p 172.17.10.0 255.255.255.0 192.168.0.100 (машина где установлен OpenVPN)

Пример для С_ОФ2:

Route -p 192.168.0.0 255.255.255.0 172.17.10.10(машина где установлен OpenVPN)

в моем случае этого не понадобилось.

Для автоматического запуска сервера и клиента нам нужно включить службу OpenVPN Service

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

Дополнительная защита

Как известно в OpenVPN есть возможность аутентификации по сертификатам, как описано выше, а так же по логину и паролю, но можно еще и объединить их вместе. Насколько мне известно только в Linux есть возможность штатными средствами настроить аутентификацию по логину и паролю, но в Windows это тоже можно решить. Для этого в папке config создаем файл auth.vbs и пишем в него следующее

"VBscript auth.vbs для аутентификации в OpenVPN - auth-user-pass-verify auth.vbs via-file "(c) 2007 vinni http://forum.ixbt.com/users.cgi?id=info:vinni "Support: http://forum.ixbt.com/topic.cgi?id=14:49976 " в скрипте производится сравнение имени пользователя без учёта регистра. " Если нужно иначе - уберите UCase(...) в 2 или 4 местах On Error Resume Next " открываем файл, имя которого передано OpenVPN-ом в скрипт через параметр Set fso = CreateObject("scripting.filesystemobject") Set CurrentUserPasswordFile = fso.OpenTextFile(WScript.Arguments(0),1) "1 = for reading if Err.Number<>0 Then WScript.Quit(1) " читаем из этого файла 2 строки - имя и пароль, которые ввёл пользователь "на том конце" if CurrentUserPasswordFile.AtEndOfStream then WScript.Quit(1) UserName=CurrentUserPasswordFile.ReadLine if CurrentUserPasswordFile.AtEndOfStream then WScript.Quit(1) Password=CurrentUserPasswordFile.ReadLine CurrentUserPasswordFile.Close " открываем переменную окружения common_name (это CN предъявленного клиентом сертификата) " и сравниваем её с введенным именем пользователя. " если это сравнение не нужно, то следующие 2 строки удалить или закомменировать CurrentCommonName = CreateObject("Wscript.Shell").ExpandEnvironmentStrings("%common_name%") if UCase(CurrentCommonName) <> UCase(UserName) then WScript.Quit(1) " открываем наш файл с базой логинов и паролей " по умолчанию это Users.pw в текущем каталоге Set UserPasswordFileBase = fso.OpenTextFile("Users.pw",1) "1 = for reading if Err.Number<>0 Then WScript.Quit(1) " читаем в цикле пары строк, пропуская пустые МЕЖДУ ЭТИМИ ПАРАМИ, " и сравниваем их с тем, что ввёл пользователь. Do while not(UserPasswordFileBase.AtEndOfStream) NextUserName=UserPasswordFileBase.ReadLine if Err.Number<>0 Then WScript.Quit(1) if NextUserName<>"" then " если имя пользователя надо сравнивать с учётом регистра, то удалите здесь UCase(...) if UCase(UserName)=UCase(NextUserName) then if Password=UserPasswordFileBase.ReadLine then " если имя и пароль совпали с парой из базы, то завершаем скрипт с результатом 0 " так нужно для OpenVPN"a, это признак успешной аутентификации UserPasswordFileBase.Close WScript.Quit(0) end if else UserPasswordFileBase.ReadLine end if end if Loop " если поиск завершился безуспешно, то завершаем скрипт с результатом 1 " так нужно для OpenVPN"a, это признак НЕуспешной аутентификации UserPasswordFileBase.Close WScript.Quit(1)

Так же в папке config содаем файл Users.pw туда пише логин и пароль нашего клиента

UserVPN_1
123456

Если несколько клиентов то:

UserVPN_1
123456

UserVPN_2
365214

UserVPN_3
14578

Дальше нужно в конфиге клиента прописать строку auth-user-pass , теперь когда клиент будет подключаться к серверу у него будет выплывать окно авторизации где нужно ввести логин и пароль, который вы назначили ему в Users.pw ,их нужно будет сообщить клиенту.

У меня настроено что имя пользователь(логин) соответствует имени клиента в сертификате, то есть UserVPN_1 . но можно задать и другое имя отличное от имени в сертификате, для этого нужно смотреть настройки в auth.vbs .

" открываем переменную окружения common_name (это CN предъявленного клиентом сертификата)
" и сравниваем её с введенным именем пользователя.
" если это сравнение не нужно, то следующие 2 строки удалить или закомменировать

CurrentCommonName = CreateObject("WscrIPt.Shell").ExpandEnvironmentStrings("%common_name%")
if UCase(CurrentCommonName) <> UCase(UserName) then WScrIPt.Quit(1)
WScrIPt.Echo "Debug: CurrentCommonName= " & CurrentCommonName

А для того чтобы аутентификация работала и по сертификату, и по логину с паролем, но при этом не выплывало окно авторизации пользователя, так как это будет задерживать подключение клиента к серверу если, например, у вас включена автоматическая загрузка службы OpenVPN Service (как настроено у меня) или вы просто не хотите каждый раз вводить логин и пароль, в этом случае на клиенте в папке ssl создаем файл pass.txt и пишем в него наш логин и пароль вот так:

UserVPN_1
123456

а в конфиге клиента меняем строку auth-user-pass на auth-user-pass C:\\OpenVPN\\ssl\\pass.txt .

Теперь я включаю машину где установлен OpenVPN -Server, запускается служба и сервер VPN автоматически поднимается. Клиент запускает машину и у него также проходит автоматическое подключение к моему серверу. Теперь можно заходить в общие папки или по RDP работать, например, в 1С, установленной в другой организации.

контакты [email protected]

  • Теги:

Please enable JavaScript to view the

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

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

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

Настоящая частная виртуальная сеть или Virtual Private Network (VPN) - это зашифрованное соединенный туннель между двумя сетями, который соединяет две доверенные точки. Это не веб-протокол HTTPS, который считает доверенными всех клиентов. К VPN могут подключиться только те клиенты, которые имеют специальные ключи доступа.

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

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

На обоих машинах должен быть установлен OpenVPN, это довольно популярная программа, поэтому вы можете установить ее из официальных репозиториев. Также нам понадобится Easy-RSA для работы с секретными ключами. Для установки программ в Ubuntu используйте такую команду:

sudo apt install openvpn easy-rsa

Оба пакеты должны быть установлены как на сервере, так и на клиенте. Они понадобятся для настройки программы. Первый этап статьи установка и настройка openvpn завершен.

Настройка центра сертификации

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

Обратите внимание, что все секретные ключи должны находится в надежном месте. В OpenVPN открытый ключ называется сертификатом и имеет расширение.crt, а закрытый ключ так и называется ключом, его расширение - .key.

Сначала создайте папку для хранения сертификатов Easy-RSA. Фактически, конфигурация OpenVPN выполняется вручную, так что папку можно разместить где угодно:

sudo mkdir /etc/openvpn/easy-rsa

Затем скопируем в эту папку все необходимые скрипты easy-rsa:

cd /etc/openvpn/easy-rsa/

sudo -i
# source ./vars
# ./clear-all
# ./build-ca

Первой командной мы переключаемся в консоль от имени суперпользователя, второй загружаем переменные окружения из файла./vars. Команда./clear-all создает папку keys если ее нет и очищает ее содержимое. И последняя команда инициализирует наш центр сертификации. Теперь в папке.keys появились все необходимые ключи:

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

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

Теперь нам нужно скопировать сертификат, файл с расширением.crt в папку /etc/openvpn на всех клиентах. Например, скачаем этот файл для нашего клиента с помощью scp:

sudo scp пользователь@хост:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys

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

cd /etc/openvpn/easy-rsa/

sudo -i
# source ./vars
# build-req Sergiy

Обратите внимание, что ca.crt должен лежать в папке с ключами, иначе ничего не сработает. Теперь утилита создаст ключ, на основе которого, вы сможете подключиться к OpenVPN серверу, но вам еще осталось подписать его на сервере. Отправьте полученный.csr файл на сервер с помощью того же самого scp:

scp /etc/openvpn/easy-rsa/keys/Sergiy.csr пользователь@хост:~/

Затем уже на сервере в папке /etc/openvpn/easy-rsa нужно выполнить команду подписи сертификата:

./sign-req ~/Sergiy

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

sudo scp пльзователь@хост:/home/Sergiy.crt /etc/openvpn/easy-rsa/keys

Только после этого сервер и клиент имеют все необходимые ключи для подключения и установки связи. Осталось еще несколько настроек. Если вы планируете использовать шифрование TLS, то необходимо создать на сервере набор данных Диффи-Хафмана, для этого используйте команду:

Настройка OpenVPN

Теперь настройка сервера OpenVPN. По умолчанию, в папке конфигурационных файлов OpenVPN ничего нет. Их нужно создать самостоятельно в зависимости от того, что планируется настраивать, сервер или клиент. Нужный файл конфигурации OpenVPN можно найти по адресу /usr/share/doc/openvpn/examples/sample-config-files/. Сначала создадим конфигурационный файл для сервера:

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

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

port и proto - порт и протокол, по которым будет работать программа;

port 1194
proto udp

Все созданные ключи нужно прописать в конфигурационном файле. Наши ключи хранятся по адресу /etc/openvpn/easy-rsa/keys:


cert /etc/openvpn/easy-rsa/keys/ca.crt
key /etc/openvpn/easy-rsa/keys/ca.key
dh /etc/openvpn/easy-rsa/keys/dh.pem

Настраиваем диапазон адресов для виртуальной сети, наш сервер будет доступен по первому из них - 10.8.0.1:

server 10.8.0.0 255.255.255.0

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

port 1194
proto udp
comp-lzo
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/ca.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf

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

remote - это ваш адрес сервера OpenVPN, адрес и порт должны совпадать с настроенными на сервере, например:

remote 194.67.215.125 1194

ca - ключ, который вы получили от центра сертификации, мы расположили его в папке /etc/openvpn/.

cert и key - это открытый и секретный ключи клиента, с помощью них вы и будете подключаться к серверу. Как вы помните, мы сохранили их в папке /etc/openvpn/easy-rsa/keys/.

ca /etc/openvpn/easy-rsa/keys/ca.crt

Остальные настройки можно оставить как есть. Вот файл настройки целиком, который вы можете скопировать:

client
dev tun
proto udp
remote 194.67.215.125 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/Sergiy.crt
key /etc/openvpn/easy-rsa/keys/Sergiy.key
tls-auth ta.key 1
comp-lzo
verb 3

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

openvpn /etc/openvpn/client.conf

Готово, теперь все работает, если вы выполните ifconfig, то увидите что был добавлен интерфейс tun0:

Также вы можете попробовать выполнить ping адреса 10.8.0.1, именно этот адрес мы настроили для нашего сервера OpenVPN, пакеты ping будут нормально отправляться. Если пакеты не идут, или еще что-то не работает, обратите внимание на вывод обоих программ, возможно, возникли какие-либо ошибки или предупреждения, также убедитесь, что брандмауэр сервера разрешает доступ извне по udp для порта 1194. Еще можно запустить сервер или клиент, настроив в конфиге уровень подробности на максимум verb 9. Очень часто это помогает понять почему что-то не работает. Но вы еще не можете направлять трафик через туннель. Для этого нужно разрешить форвардинг и добавить несколько правил iptables. Сначала разрешаем транзит пакетов на сервере:

sysctl -w net.ipv4.ip_forward=1

Затем добавьте такие правила. Разрешаем всем подключаться к нашему серверу:

iptables -A INPUT -p udp --dport 1194 -j ACCEPT

Разрешаем пользователям OpenVPN доступ к интернету:

iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
# iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Выводы

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

1) На сайте openvpn.net переходим в раздел Community . Во вкладке Downloads нажимаем на Community Downloads .

2) Выбираем установочный файл в соответствии с разрядностью ОС (32bit /64bit ), установленной на и скачиваем его.

3) Запускаем установочный файл и выполняем шаги установки.

5) В процессе установки OpenVPN программа может запросить подтверждение установки TAP -драйвера. Данный запрос необходимо подтвердить нажатием на кнопку Установить .

6) На этом процесс установки завершается.

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

Рассмотрим пример настройки OpenVPN-соединения с использованием самоподписанного SSL-сертификата.

1) Запускаем командную строку.

Пуск (Start) -> Выполнить (Run) -> cmd

2) Переходим в директорию C:\Program Files\OpenVPN\easy-rsa при помощи команды:

Cd \Program Files\OpenVPN\easy-rsa

3) Запускаем файл init-config.bat в командной строке:

Init-config.bat

После запуска файла будет создан файл vars.bat .

4) Файл vars.bat необходимо открыть в текстовом редакторе (блокнот или Wordpad) и изменить данные для подписи ключей на свои личные. Отредактировать можно информацию в следующих строках:

Set KEY_COUNTRY=US #Страна set KEY_PROVINCE=CA #Область set KEY_CITY=SanFrancisco #Город set KEY_ORG=OpenVPN #Название компании set [email protected] #Контактный e-mail

Также, в случае отсутствия записи вида:

Set OPENSSL_CONF=C:\Program Files\OpenVPN\easy-rsa\openssl-1.0.0.cnf

необходимо её добавить под строкой:

Set KEY_CONFIG=openssl-1.0.0.cnf

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

5) Для создания index и serial файлов, выполняем поочередно следующие команды в командной строке:

Vars clean-all

6) Следующей командой создается СА-ключ, которым будет подписываться будущий SSL-сертификат. После запуска команды будут запрошены значения параметров. Если до этого вы внесли корректировки в файл vars.bat , то на параметры, указанные в 4-м шаге можно отвечать путём нажатия Enter . Исключением является параметр – Common Name . В нём необходимо ввести хостнейм сервера, либо доменное имя.

Build-ca

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

Build-key-server <имя_сервера>

В нашем случае будет следующая команда:

Build-key-server server

Заполнение производится по аналогии 6-го шага. В поле Common Name в нашем случае указываем server . На оба вопроса «Sign the certificate? » и «1 out of 1 certificate requests certified, commit? » отвечаем согласием путём ввода «y «, и затем нажимаем Enter .

9) Cоздаем отдельный ключ для каждого клиента:

Build-key client1

Вводим необходимые контактные данные. В Common Name указываем client1 .

Переносим файлы из папки /keys в папку /config .

10) Из папки /sample-config копируем файл server.ovpn в папку /config

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

Убеждаемся в том, что порты 5194 и 1194 не заблокированы файерволом, иначе добавляем разрешающие правила на входящий и исходящий трафик:

11) Переходим в Start (Пуск) -> All programs -> Administrative Tools -> Windows Firewall with Advanced Security .

12) Нажимаем в левой части окна на Inbound Rules и в разделе Actions нажимаем на New rule . В результате должен появиться мастер создания правил.

13) Предложенные 5 шагов заполняем следующим образом:

Шаг 1 — Rule type: Port;

Шаг 2 — Protocol and Ports: По умолчанию в настройках OpenVPN сервера используется UDP-протокол. Если данная конфигурация не изменялась, то выбираем в данном шаге UDP . В противном случае — TCP . В поле Specific local ports указываем 5194 .

Шаг 3 – Action: Allow the connection;

Шаг 4 – Profile: Оставляем галочки включенными.

Шаг 5 – Name: Указываем название правила на своё усмотрение и нажимаем Finish .

14) Аналогичным образом добавляем правило для порта 1194 , после чего переходим в Outbound Rules и создаем два правила, идентичные тем, которые были созданы в Inbound .

Запуск сервера

15) Запускаем сервер OpenVPN путём нажатия правой кнопкой мыши на файле server.ovpn Sarting OpenVPN on this config file .

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

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

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

1) Из папки /sample-config на сервере скачиваем на компьютер файл client.ovpn в папку OpenVPN/config/

2) Из папки /config на сервере скачиваем файлы ca.crt , client1.crt , client1.key на компьютер в папку OpenVPN/config/

3) Открываем скачанный файл client.ovpn в текстовом редакторе и вносим следующие корректировки:

В записи remote my-server-1 1194 заменяем my-server-1 на IP-адрес сервера. В cert client.crt изменяем client.crt на client1.crt В key client.key изменяем client.key на client1.key

После этого сохраняем изменения.

4) Запускаем OPENVPN-GUI . В системном трее нажимаем правой кнопкой на иконке OpenVPN и в контекстном меню выбираем пункт Edit config .

Если открывшаяся конфигурация не соответствует файлу client.ovpn , то приводим настройки в соответствующий вид. Если соответствует, то закрываем редактор, вновь нажимаем правой кнопкой на иконке в системном трее и выбираем пункт Connect . Если в появившемся окне процесса соединения отобразятся строки:

Initialization Sequence Completed MANAGEMENT: >STATE: ********,CONNECTED,SUCCESS

Возможные ошибки

failed to update database TXT_DB error number 2

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

Решение: указание другой контактной информации.

WARNING: can"t open config file: /etc/ssl/openssl.cnf

Причина: некорректно установленный путь в переменной окружения OPENSSL_CONF .

Решение: необходимо объявить данную переменную в файле vars.bat , как указано в шаге 4 настройки на стороне сервера.



Загрузка...