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

Данная инструкция демонстрирует, как подключиться к серверу ретрансляции 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, ВПН) – системы закрытых каналов (туннелей), которые строятся внутри другой, более крупной сети. Одним из видов ВПН является 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

У тебя могут быть самые разные мотивы, чтобы пользоваться VPN: недоверенные сети, разного рода ограничения или просто разумное желание не распространять лишний раз свои данные. В этой статье я расскажу, как сделать себе личный VPN на арендованном сервере и настроить OpenVPN и stunnel таким образом, чтобы даже глубокая инспекция пакетов ничего не давала.

О сервисах и блокировках

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

  1. Качество. Те, кто пользовался бесплатным VPN, знают, что в большинстве случаев сервис просто ужасен: низкая скорость, постоянные обрывы. Это и неудивительно, ведь, кроме тебя, им одновременно может пользоваться еще пара сотен человек.
  2. Безопасность. Даже если качество более-менее сносное, ты не знаешь, что на самом деле происходит с твоим трафиком. Хранится и анализируется ли он, кто и в каких целях оперирует сервисом. Бесплатный сыр, как говорится…
  3. Малое количество или полное отсутствие опций и настроек: нет возможности выбрать шифр, протокол и порт. Остается только пользоваться тем, что дали.

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

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

OpenVPN – технология позволяющая на базе открытого исходного кода выстраивать сеть VPN между клиентом и сервером, сайтом и сайтом, поверх самого интернета. Созданный Джеймсом Йонаном 10 апреля 2002 года OpenVPN до сих пор широко применяется юзерами с целью шифрования трафика и безопасного использования всемирной паутины. Более того, популярность технологи растет из года в год.

Работая через TCP/UDP порты и SSL/TLS протоколы OpenVPN обладает исключительной легкостью и простотой в плане настройки и установки. Кроссплатформенность дает возможность инсталлировать клиент на любые версии Windows (включая 2000 и XP), Linux, Mac OS, Solaris, Open, Net и FreeBSD без принципиальных изменений в конфигурации и архитектуре.

Принципы работы OpenVPN:

  • Использование архитектуры клиент/сервер, где OpenVPN устанавливается на каждый узел виртуальной частной сети при условии того, что один из узлов является сервером, остальные – клиентами
  • Шифрование трафика, который проходит через туннель, созданный при участии одного из TCP или UDP портов
  • Три вида аутентификации – статические ключи, сертификация, логин/пароль

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

Использование VPN в среде частных пользователей облегчает специальный OpenVPN GUI клиент. Что такое OpenVPN GUI? Это графический интерфейс, средство позволяющее работать с VPN на персональном устройстве. GUI клиент представляет из себя устанавливаемую программу малых размеров, с помощью которой пользователь может выбрать сервер для подключения, установить соединение с виртуальной частной сетью, увидеть лог подключения и т.д. Во время работы GUI скрывается в трее и совершенно не грузит систему.

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

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


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

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

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

И ещё чуть-чуть про OpenVPN и PPTP

Следующим за OpenVPN можно назвать технологию, разработанную компанией Microsoft в 1999 году - PPTP, что переводится как “Протокол Туннелирования Точка-Точка”. Это ещё один тип VPN-соединения, доступный из всех представленных на сегодняшний день. Однако сразу стоит отметить, что технология считается уязвимой и более нестабильной по сравнению с OpenVPN:

  • PPTP имеет 128-битный ключ, а OpenVPN от 1024 до 2048
  • PPTP требует поддержки протокола GRE47, а OpenVPN работает с любым интернет-соединением
  • PPTP, как и IPSec, для стабильной работы требует настройки сетевых экранов, антивирусов и firewall-ов.
  • PPTP через GRE некорректно работает под NAT-ом, а OpenVPN работает без нареканий

Многих прельщает тот факт, что для PPTP в среде Windows не требуется дополнительного программного обеспечения, но по факту из-за работы через GRE-соединение стабильность подключения намного ниже, чем в случае с OpenVPN. Причина тому заключается в NAT-е. GRE – это протокол сетевого уровня, из-за чего межсетевые экраны блокируют большую часть соединений, что вынуждает использовать такие примочки, как PPTP Passthrough посредством так называемого Port Forwarding-а, или проброса портов. Как выше уже упоминалось PPTP – технология устаревшая и изначально не рассчитывалась на использование под NAT-ом, тогда как в OpenVPN эти нюансы учтены и проблем не возникает. По итогу пользователю может потребоваться производить настройки маршрутизатора и в конечном счете времени уйдет больше, чем на установку OpenVPN клиента.

Учитывая вышеизложенное очевидно, что OpenVPN многократно превосходит “конкурирующие” решения в VPN, поскольку он разрабатывается не компаниями, а людьми для людей посредством OpenSource, в связи с чем достоин особого внимания со стороны пользователей. То, что вам мешало в других случаях здесь, наверняка, уже решено.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: