Настройка OpenVPN в Windows 7/8/10
Настройка OpenVPN в Windows 7/8/10
Для настройки OpenVPN-соединения Вам понадобится конфигурационный файл ovpn и персональный логин и пароль. Мы предоставляем Вам полный доступ к сервису для кратковременного тестирования. Для успешной настройки OpenVPN-соединения, выполните все шаги в этом руководстве. В случае возникновения каких-либо вопросов, обращайтесь в техподдержку сервиса.
- OpenVPN-соединение требует наличие собственного клиента. Мы предлагаем скачать последнюю версию OpenVPN 2.3
- Инсталлировать драйвер рекомендуется в C:\Program Files\OpenVPN. Однако, если нет такой возможности, устанавливайте в любой каталог (в этом случае обратите внимания на дальнейшие примечания). Во время установки драйвера, операционная система Windows может выдать сообщения о неподписанном драйвере. Следует вопреки всем рекомендациям Microsoft продолжить установку. Ничего страшного в этом сообщении нет.
- Загрузите конфигурационным файл ovpn (ссылку на конфигурационный файл можно скачать из личного кабинета, или же его предоставит техподдержка) и распакуйте архив в папку c:\Program Files\OpenVPN\config или в %USERPROFILE%\OpenVPN\config Конфигурационный файл уже настроен, поэтому в нем ничего менять не нужно.
- Для запуска OpenVPN GUI, используйте ярлык OpenvpnGUI.lnk с рабочего стола обязательно запустив его в режиме Администратора. Данное условие обязательное, так как шлюз VPN может не прописаться при запуске в обычном режиме!
- Затем сделайте правый клик по “мониторчикам” в нижнем правом углу экрана рядом с часами, в появившимся меню выберите «Подключиться”. Этим Вы инициализируете VPN-соединение
- В настройках GUI вы можете выставить промежуточный Socks или прокси сервер, зайдя в пункт «Настройки». Если все нормально, последняя строка в журнале подключения будет выглядеть как: Initialisation Sequence Completed, мониторчики станут зеленого цвета. Это означает, что соединение запущено и весь трафик перенаправляется через OpenVPN-сервер.
- Для проверки работы сервиса, можете обратитесь к странице https://whoer.net/ru. В отчете Вы можете увидеть текущий IP-адрес. После окончания работы с VPN, кликните правой кнопкой на зеленые мониторы в трее и выберите Disconnect.
Новости
Дополнительный канал связи
Теперь вы можете связаться с нами через наш личный jabber – support@openvpn.ru.
Наши клиенты могут получить бесплатный акаунт на нашем Jabber сервере.
Новый релиз OpenVPN Portable
Уважаемые клиенты, доступа новая версия решения OpenVPN Portable
Новое решение по блокировке утечек трафика для Windows 7/10.
Доступно новое решение по блокировке утечек трафика для Windows 7/10. Обращайтесь к поддержке!
Самостоятельная смена цепочки дабла
Стала доступна бесплатная смена цепочки дабла из личного кабинета
Новый сервер в Нидерландах!
Уважаемые клиенты, доступен новый сервер в Нидерландах со свежими IP.
Доступен IPv6
теперь вы можете получить адрес IPv6, в дополнение к обычному IPv4. Обращайтесь к поддержке!
Контакты
244-436
586-534-216
support@openvpn.ru
Инструкция по установке и настройке
- Заходим на официальный ресурс разработчика и загружаем редакцию приложения, подходящую под разрядность вашей Windows.
- Запускаем инсталлятор, чтобы началась установка программы.
- Жмем на кнопку «Next».
- Знакомимся с условиями лицензии, после чего жмем «I Agree».
- Отмечаем галочками все компоненты для установки и кликаем по кнопке «Далее».
- Задаем каталог установки, если стандартные настройки не устраивают, и жмем «Установить».
Установку выполняем в каталог «OpenVPN», расположенный в корневой папке системного раздела.
- Подтверждаем установку драйвера.
- По окончании инсталляции жмем «Next».
- По завершению установки сервера для создания VPN жмем «Finish».
- Полученный у провайдера конфигурационный файл размещаем в каталоге «config».
Чтобы server правильно функционировал, его необходимо запускать с администраторскими привилегиями.
- Вызываем «Свойства» ярлыка OpenVPNGUI.
- Во вкладке «Совместимость» ставим флажок возле опции, как показано на скриншоте.
- Запускаем client.
- В трее вызываем контекстное меню приложения и жмем «Connect».
Установка OpenVPN на Windows завершена.
Далее выполняется настройка сервера и клиента.
Настройка OpenVPN
Мы приводим пошаговое руководство по настройке программы OpenVPN для трех типовых случаев. В первом случае компьютер Альфа с базой данных программы Тирика-магазин подключен к Интернету напрямую, во втором случае офис, в котором находится компьютер Альфа, подключен к Интернету через маршрутизатор, и, наконец, в третьем случае роль маршрутизатора играет отдельный компьютер
База данных программы Тирика-Магазин установлена на компьютере, напрямую подключенном к Интернет и обладающем статическим маршрутизируемым IP-адресом
В центральном офисе имеется компьютер, напрямую подключенный к Интернет и у него есть статический маршрутизируемый IP-адрес. Двум магазинам из филиалов (или из дома) необходимо подключаться к базе данных, работающей в центральном офисе через Интернет. В этом случае, конфигурация будет как на рисунке ниже:
2. Запустите файл openvpn-2.2.1-install.exe на компьютере, имеющим выход в Интернет со статическим немаршрутизируемым IP-адресом и пройдите процедуру инсталляции, следуя инструкциям программы-установщика и оставляя все опции по умолчанию. Внимание! Нужно подтверждить установку драйвера сетевого адаптера TAP-Win32 Adapter V9, когда Windows это попросит
4. Скопируйте файлы server.ovpn и ipp.txt из скачанного архива в папку C:Program FilesOpenVPNconfig
5. Файл серверной конфигурации практически готов к применению, только замените в строчке push “route 192.168.78.0 255.255.255.0” адрес сети на тот, который настроен в вашей локальной сети. Например, на рисунке выше это 192.168.5.0 255.255.255.0.
6. Теперь самая сложная часть настройки – генерация сертификатов и ключей. Здесь нужно быть предельно внимательным и точно следовать инструкциям.
6.1 Запустите окно командной строки Пуск – Выполнить – cmd.exe
6.2 Перейдите в папку C:Program FilesOpenVPNeasy-rsa и выполните команды:
cd C:Program FilesOpenVPNeasy-rsa
init-config
6.3 Отредактируйте файл vars.bat и установите следующие параметры: KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL. Эти параметры нельзя оставлять пустыми, остальные можно оставить по умолчанию, например:
set KEY_COUNTRY=RU
set KEY_PROVINCE=MO
set KEY_CITY=Moskow
set KEY_ORG=GazProm
set KEY_EMAIL=root@gazprom.ru
set KEY_CN=changeme
set KEY_NAME=changeme
set KEY_OU=changeme
set PKCS11_MODULE_PATH=changeme
set PKCS11_PIN=1234
6.4 Далее выполните следующие команды из того же окна командной строки:
vars
clean-all
build-ca
Последняя команда build-ca запросит значения параметров. Все параметры можно не менять, нажав Enter, кроме одного – Common Name. Здесь нужно ввести какое-нибудь имя, например, OpenVPN-CA
6.5 Теперь сгенерируем сертификат и ключ для сервера, выполнив команду:
build-key-server server
Также, как и в предыдущей команде, все параметры можно принять по умолчанию, но для Common Nameвведите слово server.
На последние два вопроса “Sign the certificate? [y/n]” and “1 out of 1 certificate requests certified, commit? [y/n]”ответьте утвердительно, нажав “y”
6.6 Теперь сгенерируем ключи для клиентов, выполнив команды:
build-key client1
build-key client2
(это команды для двух филиалов, по аналогии можно сделать ключи для большего количества)
Как и в прошлый раз, принимаем все параметры, кроме Common Name, для которого указываем client1 иclient2 соответственно. На последние вопросы опять ответьте утвердительно.
6.7 Осталось выполнить еще одну команду:
build-dh
6.8 Итак, в результате выполнения всех команд, мы получим в папке C:Program FilesOpenVPNeasy-rskeysряд файлов ключей и сертификатов. Создайте на сервере папку C:vpn_keys и скопируйте туда содержимое папки .easy-rskeys. Скопируйте отдельно следующие файлы для клиентских машин: ca.crt, client1.crt, client1.key, client2.crt, client2.key в безопасное место, затем их нужно будет перенести на компьютеры филиалов
7. Вот и все с сервером, можно запускать службу OpenVPN Service, можно сделать автоматический запуск службы при необходимости (через Пуск- Панель управления – Службы)
8. Приступим к настройке клиента из филиала №1 . Клиент OpenVPN устанавливается на компьютере, расположенном в филиале и имеющим выход в Интернет. Необходимо запустить тот же файл openvpn-2.2.1-install.exe и пройти процедуру инсталляции точно так же, как и для сервера.
9. Скопируйте файл client.ovpn из ранее скачанного архива в папку C:Program FilesOpenVPNconfig
10. Создайте папку C:vpn_keys и скопируйте туда три ранее сохраненных файла ключей: ca.crt, client1.crt, client1.key
11. Отредактируйте файл client.ovp. В строке remote my-server 5194 нужно заменить my-server на IP адрес сервера. Не забывайте, что это должен быть реальный Интернет адрес, иначе соединение не получится.
12. Проверьте связь с VPN-сервером командой ping
ping 10.218.77.1
где 10.218.77.1 – адрес сервера OpenVPN (замените этот адрес на тот статически маршрутизируемый IP-адрес, кот. вы получили от вашего интернет-провайдера в главе «Этап 3» – см. выше). Если приходят ответы – отлично. Если получен ответ от сервера, запустите графический интерфейс клиента Пуск – Программы – OpenVPN – OpenVPN GUI. В системном трее появится иконка клиента в виде двух красных компьютеров – щелкните на ней правой клавишей и выберите Connect. Если все настроено успешно, то установится соединение с сервером и иконка позеленеет и можно приступить к настройке программы Тирика-Магазин, как это описано в следующей главе «Этап 5».
Если проверка не прошла, то нужно внимательно проверить всю настройку по шагам, возможно, вы все-таки сделали ошибку и нужно все повторить еще раз. Однако большая часть проблем при настройке VPN связана с сетевыми экранами (firewall). В Windows встроенный сетевой экран называется брандмауэром Windows. Настоятельно рекомендуем включить брандмауэр в случае, если компьютер напрямую подключен к Интернет! И в этом случае необходимо разрешить доступ к порту, на котором работает сервер OpenVPN для входящих подключений. Для этого убедитесь сперва, что брандмауэр вообще включен, вызвав окно с сетевыми подключениями, щелкните правой кнопкой на то подключение, которое соединено с Интернетом и нажмите Свойства. В Свойствах выберите вкладку Дополнительно, а затем кнопку Параметры. Там должно быть так, как на рисунке ниже:
Далее в этом же окне перейдите на вкладку Исключения и нажмите кнопку Добавить порт. Введите имя OpenVPN, номер 5194 и порт UPD, как на следующем рисунке:
Центральный офис подключен напрямую в Интернет через компьютер с реальным статическим IP-адресом, который является маршрутизатором в локальной сети офиса, а база данных Тирика-Магазин находится на другом компьютере в этой же локальной сети.
В центральном офисе имеется компьютер, напрямую подключенный к Интернет и у него есть статический маршрутизируемый IP-адрес. Этот компьютер (в дальнейшем сервер) может работать на операционных системах Windows XP, Windows 7, Vista или любой серверной версии и имеет два сетевых интерфейса. Один из интерфейсов подключен в локальную сеть офиса, а другой смотрит в Интернет. Двум магазинам из филиалов (или из дома) необходимо подключаться к базе данных, работающей в центральном офисе через Интернет, а сама база установлена на один из других компьютеров в сети офиса. В этом случае, конфигурация будет как на рисунке ниже:
Собственно, в этом случае настройка VPN-сервера и клиентов никак не отличается от предыдущего варианта, поэтому выполните пункты 1-11 без изменений. В этом варианте подключения база данных Тирика-Магазин находится на другом компьютере в сети, следовательно, нужно обеспечить маршрутизацию пакетов на компьютере, подключенном к Интернету. Запустите через Пуск – Выполнить команду regedit.exe и перейдите в следующий каталог реестра:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
Там нужно задать параметру IPEnableRouter значение единицы и перегрузить компьютер. Теперь он стал маршрутизатором из виртуальной сети в локальную сеть офиса. Снова вернемся на компьютер клиента и проверим связь с сетевым интерфейсом VPN сервера:
ping 10.218.77.1
Получен ответ? Отлично, теперь проверим связь с интерфейсом офисной сети на сервере. Для нашего примера это будет так:
ping 192.168.5.1
Снова отвечает? Тогда последняя проверка связи с компьютером, на котором работает база данных Тирика-Магазин, для нашего примера это:
ping 192.168.5.2
В случае удачного результата, можем подключаться к базе данных, предварительно указав адрес 192.168.5.2 для программы Тирика-Магазин (см. главу Этап 5).
Не забудьте сделать исключение в брандмауэре для порта UDP 5194, как описано для предыдущего варианта конфигурации сети.
Центральный офис подключен напрямую в Интернет через аппаратный маршрутизатор с реальным статическим IP-адресом, база данных Тирика-магазин находится на одном из компьютеров в сети офиса.
Рассмотрим еще один популярный способ подключения к Интернет – с помощью аппаратного маршрутизатора. В этом случае Интернет-кабель подключается к WAN-порту маршрутизатора, а все компьютеры офиса подключены к внутренним LAN-портам маршрутизатора; база данных Тирика-Магазин и сервер OpenVPN установлены на одном и том же компьютере локальной сети офиса. Как же подключиться к серверу OpenVPN в этом случае? Для этого можно использовать функцию перенаправления портов в маршрутизаторе. При обращении клиента к определенному TCP или UDP порту маршрутизатора, последний перенаправит запрос на компьютер в локальной сети согласно правилу, указанному в настройках. Схема доступа в этой конфигурация будет как на рисунке ниже.
Настроить перенаправление портов на маршрутизаторе достаточно просто, хотя настройки, конечно, отличаются на устройствах разных производителей. Для примера, рассмотрим перенаправление порта на маршрутизаторе D-Link DIR-655.
Запустите web-консоль управления DIR-655, затем перейдите на вкладку Advanced и выберите пункт VIRTUAL SERVER из меню слева. Далее нужно настроить правило для перенаправления порта UDP 5194, используемого OpenVPN согласно нашим настройкам. Введите имя приложения “openvpn”, в поле IP адрес укажите адрес из внутренней сети сервера OpenVPN, в примере это 192.168.5.2. Порт нужно указать 5194 в полях Public и Private, протокол выбрать UDP. Теперь необходимо сохранить настройки и рестартовать маршрутизатор.
Настройка VPN клиента на компьютере под управлением Windows
19) Копируем в папку C:Program filesOpenVPNconfig
из C:Program filesOpenVPNeasy-rsakeys следующие файлы
ca.crt, client.crt, client.key.
из C:Program filesOpenVPNsimple-config
client.ovpn
Создадим текстовый файл pass, где укажем логин и пароль от созданного VPN клиента на сервере.
В нашем случае это ovpn_user1
20) Откроем файл client.ovpn с помощью блокнота или notepad++
Изменяем следующие строки:
#Протокол
proto tcp
#Адрес и порт сервера
remote ваш.ip.адрес.сервера 1194
#Проверяем правильность названия ключей
ca ca.crt
cert client.crt
key client.key
И в самом конце добавим строчку
auth-user-pass «C:\Program files\OpenVPN\config\pass.txt»
В итоге у нас получатся следующие настройки в этом файле:
client
dev tun
proto tcp
remote адрес_сервера 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert user.crt
key user.key
remote-cert-tls server
cipher AES-128-CBC
verb 3
auth-user-pass «c:\Program Files\OpenVPN\config\pass.txt»
Остальные настройки закомментированы решеткой «#» или точкой с запятой «;»
21) Сохраняем файл. Если сохранить в папку не получается — сохраняем на рабочий стол, а затем копируем с заменой.
Запускаем OpenVPN и подключаемся.
После подключения можем увидеть, что нам назначен IP из диапазона, который ранее указали на сервере.
- Автор: Уваров А.С.
- 12.10.2019
В наших прошлых материалах мы рассматривали применение OpenVPN исключительно для организации каналов связи между подразделениями организации. Но современный мир приносит новые вызовы, на которые следует реагировать. Один из них – общественные сети с низкой безопасностью, для работы в которых желательно иметь защищенный канал, препятствующий доступу третьих лиц к вашему трафику. Традиционно эта задача решается использованием VPN-сервисов и в данной статье мы расскажем, как организовать собственный сервис на базе OpenVPN.
Кроме общественных сетей в последние годы стала приобретать повышенную актуальность проблема ограничения доступа к некоторым ресурсам исходя из географического расположения клиента. Это могут быть как ограничения регионального характера, например, популярный поставщик видеоконтента Netflix, так и блокировки со стороны органов власти, как яркий пример которых “ковровые блокировки” РКН в его борьбе с Телеграм, когда под ограничения попало большое количество совершенно легальных ресурсов.
Исходя из вышесказанного можно сделать вывод, что наличие VPN-сервиса для доступа в интернет в современных условиях – это не роскошь, а насущная необходимость, особенно если ваша деятельность завязана на работу в сети. Да, существуют многочисленные VPN-провайдеры, но их услуги являются платными и снова встает вопрос доверия, особенно если вы используете канал для обмена конфиденциальной или финансовой информацией.
Что нужно для создания собственного VPN-сервиса? Прежде всего потребуется VPS (виртуальный выделенный сервер) расположенный в регионе, из которого возможен неограниченный доступ к требуемым ресурсам. В большинстве случаев можно выбирать Европу или Штаты, но во втором случае задержки будут выше. На наш взгляд, выбирать Штаты имеет смысл, если вам требуется доступ к американским ресурсам, тому же Netflix или покупкам у американских продавцов на Amazon и Ebay.
Для поиска недорогих VPS можно воспользоваться специальными сайтами, такими как Low End Box или бесплатными предложениями от облачных провайдеров. Так у Amazon и Microsoft можно бесплатно получить виртуальную машину на год, а Oracle предлагает две VPS бесплатно и навсегда.
В нашем примере мы будем использовать бесплатный VPS от Oracle с Ubuntu 18.04, но данная инструкция подойдет для любых deb-based систем и с некоторыми поправками для любого другого Linux-дистрибутива.
Настройка сервера OpenVPN
Прежде всего установим OpenVPN и Easy-RSA для управления ключами:
Скопируем файлы easy-rsa в конфигурационную директорию OpenVPN и создадим символическую ссылку на файл настроек OpenSSL:
Затем откроем файл /etc/openvpn/easy-rsa/vars и изменим в нем следующие строки, указав собственные данные для сертификатов, например, так:
Сохраним файл и перейдем к созданию собственного центра сертификации (CA). Для этого перейдем в директорию нашего CA и загрузим переменные:
Очистим любые имеющиеся данные и инициализируем центр сертификации:
В процессе создания ключей вам будут задаваться вопросы, ответы по умолчанию на которые берутся из файла vars и помещены в квадратных скобках, поэтому можно просто подтверждать их нажатием Enter.
После чего в директории /etc/openvpn/easy-rsa/keys появится сертификат CA, содержащий публичный ключ, ca.crt, который должен присутствовать на каждом VPN-клиенте, и закрытый ключ центра сертификации ca.key, этот файл является секретным и не должен покидать пределы сервера.
Затем создадим файл параметров Диффи-Хеллмана, который нужен для формирования уникального сеансового ключа и обеспечения режима совершенной прямой секретности:
Данная операция, в зависимости от производительности вашего VPS, может занять достаточно много времени.
И, наконец, создадим ключевую пару для сервера:
где server – имя вашего сервера, мы рекомендуем давать осмысленные названия, чтобы потом не пришлось гадать, что именно это за ключевая пара и для чего она нужна.
На этом формирование необходимых ключей и сертификатов закончено, перейдем к настройке OpenVPN, прежде всего создадим директорию для хранения ключей. Можно, конечно, использовать ключи прямо из директории easy-rsa, но лучше отделить CA от остальных служб.
Теперь скопируем туда необходимые серверу ключи и сертификаты:
Распакуем и скопируем в директорию /etc/openvpn шаблон серверной конфигурации:
Откроем файл /etc/openvpn/server.conf и внесем в него необходимые изменения, в большинстве случаев вам придется раскомментировать нужны строки или убедиться в их наличии. Опции указаны в порядке их следования в файле:
Данные опции указывают порт, протокол и тип туннеля, менять их не следует, однако в ряде случаев может потребоваться использовать протокол tcp, но в силу более высоких накладных расходов этой ситуации желательно избегать.
Затем зададим топологию сети:
Укажем пути к ключам и сертификатам, допускаются относительные пути, в этом случае корнем будет считаться директория /etc/openvpn:
Зададим диапазон OpenVPN-сети:
И укажем файл для хранения адресов клиентов, которые будут автоматически выдаваться сервером:
Автоматически сконфигурируем клиентов на доступ в интернет через OpenVPN-подключение:
И передадим им собственные DNS-сервера:
Укажем параметры проверки активности:
Сервер будет проверять клиента каждые 10 секунд и при отсутствии ответа через 120 секунд клиент будет считаться неактивным.
Обязательно закомментируйте строку:
Для сценария доступа в интернет дополнительная TLS-аутентификация будет излишней.
В последних версиях OpenVPN включен механизм автоматического согласования протоколов шифрования между клиентом и сервером, по умолчанию будет выбран шифр AES-256-GCM, но так как вычислительные возможности VPS обычно ограничены и большого смысла шифровать канал доступа в интернет сложными шифрами нет, то отключим соглассование и укажем достаточно простой AES-шифр:
Также в новых версиях доступен новый механизм компрессии, для его включения укажем:
Данная опция будет автоматически отправлена на клиент, что облегчает его конфигурирование.
Если у вас есть старые версии клиентов (ниже 2.4), то можно использовать простое lzo-сжатие, для этого закомментируйте вышеприведенные строки и добавьте:
Эту опцию также потребуется добавить в конфигурационные файлы клиентов.
В целях безопасности понизим права запущенного сервера:
После чего проконтролируем наличие опций, отвечающих за правильные права к некоторым ресурсам после их понижения:
Укажем путь к файлам логов:
И укажем его подробность:
Во время отладки можно поднять уровень логов до 5-6.
Настройка брандмауэра и маршрутизации
Основной задачей нашего сервера является обеспечение выхода в интернет и будет разумно обеспечить минимальный набор правил безопасности, во многом они будут повторять те правила, которые мы использовали для наших роутеров на базе Linux.
Создадим файл правил:
и внесем в него следующие строки, обратите внимание на имя сетевого интерфейса вашего VPS, в нашем случае это ens3:
Не забудем сделать файл исполняемым:
Данный файл требуется запускать после создания туннельного интерфейса tun0, поэтому откроем конфигурационный файл сервера OpenVPN /etc/openvpn/server.conf и в его конце добавим опцию:
Перезагрузим сервер и убедимся, что OpenVPN сервер автоматически запустился и создал туннельный интерфейс, это можно сделать командой:
Также проверим применение правил брандмауэра:
Следующий шаг касается только виртуальных машин в облаке Oracle Cloud, вам потребуется дополнительно разрешить входящий трафик на порт OpenVPN. Для этого перейдите в Сети » Виртуальные облачные сети » VirtualCloudNetwork-20191008-0144 » Сведения о списках безопасности, где вместо VirtualCloudNetwork-20191008-0144 будет имя вашей виртуальной сети. Затем добавьте новое правило для входящего трафика:
Укажите: Тип источника – CIDR, Исходный CIDR – 0.0.0.0/0, IP-протокол – UDP, Диапазон исходных портов – Все, Диапазон конечных портов – 1194.
Настройка клиентов OpenVPN
Настройка клиента начинается на сервере с получения ключей и сертификатов клиента, для этого перейдем в директорию центра сертификации и загрузим переменные:
Затем создадим ключевую пару клиента командой:
где client -имя клиента, мы также рекомендуем давать им осмысленные имена.
Теперь скопируем файлы, которые необходимо передать на компьютер клиента в домашнюю директорию и изменим их владельца (по умолчанию владелец – root), чтобы вы смогли их скопировать с помощью любого FTP или SFTP клиента. В нашем случае имя пользователя ubuntu:
Помните, что закрытый ключ клиента client.key является секретным и следует избегать его передачи по открытым каналам связи.
Также не будет лишним сразу скопировать шаблон клиентской конфигурации:
После чего скопируйте все эти файлы на клиент и установите на нем OpenVPN, в Windows системах советуем изменить путь установки OpenVPN на более короткий и без пробелов, скажем, C:OpenVPN.
Затем откроем файл client.ovpn, который в Windows системах должен быть расположен в C:OpenVPNconfig, а в Linux в /etc/openvpn, и внесем в него следующие изменения:
Данные опции задают клиентский режим работы, тип туннеля и используемый протокол UDP.
Затем укажем адрес сервера:
Следующая опция предписывает клиенту постоянно разрешать имя OpenVPN-сервера, имеет смысл если мы указываем сервер по FQDN-имени, а не IP-адресу.
Для Linux систем обязательно укажите:
В Windows данные опции следует обязательно закомментировать.
Проконтролируем наличие следующих опций:
Укажем пути к ключам и сертификатам, для Linux систем подразумеваем их нахождение в /etc/openvpn/keys:
Для Windows систем предположим их нахождение в C:OpenVPNkeys:
Также обязательно закомментируем опцию:
Включим защиту от атак типа “человек посередине”:
И укажем используемый шифр, он должен совпадать с указанным на сервере:
Остальные опции можно оставить без изменений. Сохраним файл и запустим OpenVPN-клиент.
Убедиться, что вы выходите в интернет через VPN-канал можно при помощи любого сервиса, показывающего ваш IP-адрес, например, 2ip.ru:
Обращаем внимание на национальную принадлежность адреса, в данном случае мы выходим в интернет из Штатов.
Самое время провести замер скорости доступа, мы будем использовать для этого популярный сервис SpeedTest. Первый замер без VPN:
Второй через OpenVPN-канал:
Сразу обращаем внимание на выросший пинг – это последствия размещения сервера в Штатах, а также скорость скачивания не выше 10 Мбит/с – ограничение бесплатного тарифа Oracle, хотя в большинстве случаев этого вполне достаточно для комфортного серфинга.
Напоследок затронем еще один момент. Мы настроили сервер таким образом, что он автоматически конфигурирует клиента на доступ в интернет через OpenVPN-подключение, но бывают случаи, когда это не нужно. Допустим вы хотите пустить через VPN только некоторые ресурсы, а остальной доступ должен осуществляться через локального провайдера. В таком случае добавьте в конфигурационный файл клиента опцию:
После чего клиент будет игнорировать передаваемые с сервера опции маршрутизации и DHCP-опции, такие как DNS-сервера и т.п.
Настройка клиентов
Инструкции по настройке клиентов для OpenVPN для разных устройств и систем вы можете найти в сети. В большинстве случаев достаточно установить клиент и импортировать файл конфигурации.
Для примера, ниже рассмотрим настройку клиентов на компьютере с системами Windows и MacOS.
Windows
- Загрузите клиент с сайта OpenVPN: https://openvpn.net/community-downloads/ и установите его на компьютер.
- После установки скопируйте полученный файл конфигурации в папку C:Program FilesOpenVPNconfig .
- Запустите OpenVPN. Это необходимо сделать от имени администратора: кликните на значке правой кнопкой и выберите “Запуск от имени администратора”. Чтобы OpenVPN всегда по умолчанию запускался от имени администратора, кликните на его значке правой кнопкой и выберите Свойства. На вкладке “Совместимость” отметьте пункт “Выполнять эту программу от имени администратора” и сохраните.
- В появившемся при запуске окне с предупреждением (разрешить программе внести изменения) нажмите “Да.”
- Кликните правой кнопкой мыши на значке OpenVPN в трее, выберите загруженный профиль и нажмите Connect / Подключиться.
Откроется окно с логом соединения, и, как только соединение будет установлено, появится соответствующее уведомление.
Для отключения снова кликните на значок OpenVPN в трее, выберите нужный профиль и нажмите Disconnect / Отключиться.
MacOS
- Для MacOS можно использовать бесплатный клиент Tunnelblick.
- Загрузите клиент с сайта Tunnelblick: https://tunnelblick.net/downloads.html
- Дважды кликните на загруженном файле и пройдите процесс установки.
- При завершении установки выберите “Нет” в ответ на вопрос о наличии конфигурационных файлов.
- После завершения установке откройте Finder и кликните дважды на вашем конфигурационном файле. Tunnelblick автоматически установит профиль.
Для установки соединения запустите Tunnelblick, после чего кликните на его иконку в верхней части экрана и нажмите Connect. Далее выберите установленный профиль.
ramer
(убей всех людей)
- Recent Entries
- Friends
- Archive
- Profile
- Add to friends
- RSS
Настройка OpenVPN (Windows)
1. Установка OpenVPN.
1.1. Скачиваем программу с оф. сайта для своей версии windows.
1.2. При установке ставим галочку EasyRSA
Путь установки – по умолчанию (C:Program FilesOpenVPN).
2. Настройка конфигов OpenVPN.
2.1. Заходим в директорию, куда установили программу (по умолчанию C:Program FilesOpenVPN) и переходим в easy-rsa.
Будет удобней и наглядней, если проводить работы в Командной строке (cmd) от администратора.
2.2. Во-первых, запускаем init-config.bat
2.3. Затем, отредактируем vars.bat , чтобы адаптировать его к своей среде. Конкретно, нас интересует последний блок:
2.4. Для удобства рекомендуется переименовать название сетевого TAP-адаптера (Панель управленияСеть и ИнтернетСетевые подключения) во что-то более понятное. Например, VPN-Server.
3. Генерация TLS ключей.
3.1. Создаём новые пустые файлы index и serial :
vars
clean-all
3.2. Генерируем корневой сертификат CA (только один раз):
vars
build-ca
3.3. Генерируем ключ Диффи-Хэлмана (для сервера, только один раз):
vars
build-dh
3.4. Генерируем приватный серверный сертификат:
vars
build-key-server имя_сервера
3.5. Генерируем клиентский сертификат в PEM формате (для каждого клиента):
vars
build-key имя_клиента
Генерируем клиентский сертификат в PKCS#12 формате (для каждого клиента):
vars
build-key-pkcs12 имя_клиента
3.6. Для отзыва TLS сертификата и генерации файла CRL:
1. vars
2. revoke-full имя_клиента
3. проверяем последнюю строку вывода, подтверждающую отзыв
4. копируем файл отзыва сертификата (crl.pem) в директорию сервера и убеждаемся, что конфиг использует “crl-verify crl filename“
3.7. Генерируем ключ для аутентификации:
openvpn –genkey –secret keys/имя_сервера-ta.key
4. Подготовка серверного и клиентского конфигов.
4.1. Серверный конфиг нужно разместить в C:Program FilesOpenVPNconfigserver.ovpn на сервере:
# Какой порт TCP/UDP должен прослушиваться OpenVPN?
# Если вы хотите запустить несколько экземпляров OpenVPN
# на той же машине используйте другой номер
# порта для каждого из них. Вам нужно будет
# открыть этот порт в брандмауэре.
port 1194
# TCP или UDP сервер?
;proto tcp
proto udp
# “dev tun” создаст маршрутизируемый IP-туннель,
# “dev tap” создаст туннель ethernet.
# Используйте “dev tap0”, если вы соединяете ethernet
# и предварительно создали виртуальный интерфейс tap0
# и соединили его с вашим интерфейсом ethernet.
# Если вы хотите контролировать политику доступа
# через VPN необходимо создать правила
# брандмауэра для интерфейса TUN/TAP.
# В системах, отличных от Windows, вы можете дать
# явный номер единицы измерения, например tun0.
# В Windows для этого используйте “dev-node”.
# В большинстве систем VPN не будет работать
# если вы не отключите брандмауэр полностью или частично
;dev tap
;dev tun
# Windows требуется имя адаптера TAP-Win32
# из панели Сетевые подключения если у вас
# есть больше, чем один. На XP SP2 или выше,
# возможно, вам придётся выборочно отключить
# брандмауэр для адаптера TAP.
# Системы, отличные от Windows, обычно не нуждаются в этом.
dev-node MyTap
# Корневой сертификат SSL/TLS (ca), сертификат
# (cert) и закрытый ключ (key). Каждый клиент
# и сервер должен иметь свой собственный сертификат и
# ключ. Сервер и все клиенты будут
# используйте один и тот же файл ca.
#
# Можно использовать любую систему управления ключами X509.
# OpenVPN также может использовать ключевой файл формата PKCS #12
ca ca.crt
cert server.crt
key server.key
# Параметры ключа Диффи-Хэлмана.
# Сгенерируйте свой ключ:
# openssl dhparam -out dh2048.pem 2048
dh dh2048.pem
# Топология сети
# Должна быть подсеть (адресация через IP)
# если клиенты Windows v2.0.9 и ниже должны
# поддерживаться (тогда net30, т.е. a /30 на клиента)
# По умолчанию net30 (не рекомендуется)
;topology subnet
# Настройка режима сервера и предоставление подсети VPN
# для OpenVPN, чтобы предоставить адреса клиентам.
# Сервер возьмёт 10.8.0.1 для себя,
# остальное будет предоставлено клиентам.
# Каждый клиент сможет связаться с сервером
# на 10.8.0.1. Закомментируйте эту строку, если у вас
# мост Ethernet.
server 10.8.0.0 255.255.255.0
# Ведение записи назначения виртуального IP-адреса клиента
# в этом файле. Если OpenVPN выходит из строя или
# перезапускается, можно назначить повторное подключение клиентов
# на тот же виртуальный IP-адрес из пула, который был
# ранее назначен.
ifconfig-pool-persist ipp.txt
# Настройка режима сервера для моста ethernet.
# Вы должны сначала использовать возможности моста вашей ОС
# для соединения интерфейса TAP с ethernet
# Интерфейс NIC. Затем вы должны вручную установить
# IP/netmask на интерфейсе моста, здесь мы
# предположим, что 10.8.0.4/255.255.255.0. Наконец, нам
# необходимо выделить диапазон IP-адресов в этой подсети
# (начало=10.8.0.50 конец=10.8.0.100)
# для подключения клиентов. Оставьте эту строку закомментированной,
# если вы не соединяете ethernet.
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
# Настройка режима сервера для моста ethernet
# через DHCP-прокси, где клиенты обращаются
# к серверу DHCP на стороне OpenVPN-сервера,
# чтобы получить распределение их IP-адресов
# и адресов DNS-серверов. Вы должны сначала использовать
# способность моста вашей ОС для моста TAP
# интерфейса с интерфейсом сетевого адаптера ethernet.
# Примечание: этот режим работает только на клиентах (таких как
# Windows), где на стороне клиента находится адаптер TAP,
# привязанный к DHCP-клиенту.
;server-bridge
# Push-маршруты к клиенту, чтобы разрешить
# добраться до других частных подсетей позади
# сервера. Помните, что эти
# частные подсети также потребуется
# знать для маршрута возвращения пула адресов OpenVPN-клиентов
# (10.8.0.0/255.255.255.0) обратно на OpenVPN-сервер.
;push “route 192.168.10.0 255.255.255.0”
;push “route 192.168.20.0 255.255.255.0”
# Чтобы назначить определенные IP-адреса определенным
# клиентам или если подключающийся клиент имеет свою
# подсеть, которая также должна иметь доступ к VPN,
# используйте подкаталог “ccd” с файлами конфигурации
# для конкретного клиента.
#
# НАПРИМЕР: Предположим, что клиент
# имеющий название сертификата “Телониус”
# также имеет небольшую подсеть за его подключенной
# машиной, например 192.168.40.128/255.255.255.248.
# Во-первых, раскомментируйте эти строки:
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Затем создайте файл ccd/Thelonious с этой строкой:
# iroute 192.168.40.128 255.255.255.248
# Это разрешит частной подсети Телониуса
# доступ к VPN. Этот пример будет работать только
# если вы маршрутизируете, а не наводите мост, т. е. вы
# используете директивы “dev tun” и “server”.
#
# НАПРИМЕР: Предположим, вы хотите выдать
# Телониусу фиксированный IP-адрес VPN 10.9.0.1.
# Сначала раскомментируйте эти строки:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Затем добавьте эту строку в ccd/Thelonious:
# ifconfig-push 10.9.0.1 10.9.0.2
# Предположим, что вы хотите включить разные
# политики доступа брандмауэра для различных групп
# клиентов. Существует два метода:
# (1) запуск нескольких демонов OpenVPN, по одному для каждой
# группы, и брандмауэр интерфейсов TUN/TAP
# для каждой группы/демона соответственно.
# (2) (продвинутый) создание скрипта для динамического
# изменения брандмауэра в ответ на доступ
# от разных клиентов.
;learn-address ./script
# Если включено, эта директива настроит
# всем клиентах перенаправление их сетевых шлюзов
# по умолчанию через VPN, повлёкший
# весь IP-трафик, такой как просмотр веб-страниц и
# и DNS-запросы, чтобы пройти через VPN
# (серверу OpenVPN может потребоваться NAT
# или мост интерфейса TUN/TAP с интернетом
# для того, чтобы это работало правильно).
;push “redirect-gateway def1 bypass-dhcp”
# Определенные параметры сети для Windows
# могут быть переданы клиентам, такие как DNS
# или адреса WINS-серверов. ПРЕДОСТЕРЕЖЕНИЕ:
# http://openvpn.net/faq.html#dhcpcaveats
# Адреса, приведенные ниже, относятся к публичным
# DNS-серверам, предоставляемые opendns.com.
;push “dhcp-option DNS 208.67.222.222”
;push “dhcp-option DNS 208.67.220.220”
# Раскомментируйте эту директиву, чтобы разрешить разным
# клиентам иметь возможность “видеть” друг друга.
# По умолчанию клиенты будут видеть только сервер.
# Чтобы заставить клиентов видеть только сервер, вам
# также необходимо будет соответствующим образом настроить брандмауэр
# интерфейса TUN/TAP сервера.
;client-to-client
# Раскомментируйте эту директиву, если несколько клиентов
# могут подключаться с одним и тем же сертификатом/ключом
# или общим именем. Это рекомендуется
# только в целях тестирования. Для использования в производстве,
# каждый клиент должен иметь свою собственную пару сертификата/ключа.
#
# ЕСЛИ ВЫ НЕ СОЗДАЛИ ИНДИВИДУАЛЬНОЙ
# ПАРЫ СЕРТИФИКАТ/КЛЮЧ ДЛЯ КАЖДОГО КЛИЕНТА,
# КАЖДЫЙ ИЗ НИХ ИМЕЕТ СВОЕ УНИКАЛЬНОЕ “ОБЩЕЕ ИМЯ”,
# РАСКОММЕНТИРУЙТЕ ЭТУ СТРОКУ.
;duplicate-cn
# Директива keepalive вызывает ping-like
# сообщения, которые будут отправляться туда и обратно,
# чтобы каждая сторона знала, когда
# другая сторона перестала работать.
# Пингуем каждые 10 секунд; предполагается, что удалённый
# узел не работает, если нет пинга в течение
# 120 секунд.
keepalive 10 120
# Для дополнительной безопасности помимо этого предусмотрено
# с помощью SSL/TLS, создайте “брандмауэр HMAC”
# чтобы помочь блокировать DoS-атаки и флудинг UDP-портов.
#
# Сгенерировать с помощью:
# openvpn –genkey –secret ta.key
#
# Сервер и каждый клиент должны иметь
# копию этого ключа.
# Второй параметр должен быть “0”
# на сервере и ‘1’ на клиентах.
tls-auth ta.key 0
# Выберите криптографический шифр.
# Этот пункт конфига должен также копироваться
# в файл конфигурации клиента.
# Обратите внимание, что клиент/сервер версии 2.4 будет автоматически
# согласовывать AES-256-GCM в режиме TLS.
cipher AES-256-CBC
# Включите сжатие на VPN-канале и передайте
# опцию клиенту (только v2. 4+, для более ранних
# версий см. ниже)
;compress lz4-v2
;push “compress lz4-v2”
# Для сжатия, совместимого со старыми клиентами, используйте comp-lzo
# Если вы включите его здесь, вы также должны
# включить его в файле конфигурации клиента.
;comp-lzo
# Максимальное количество одновременно подключенных
# клиентов, которое мы хотим разрешить.
;max-clients 100
# Параметры сохранения будут пытаться избежать
# доступа к определенным ресурсам при перезапуске,
# которые не могут быть больше доступны
# из-за понижения привилегий.
persist-key
persist-tun
# Выводит короткий файл состояния, показывающий
# текущие соединения, усеченные
# и перезаписанные каждую минуту.
status openvpn-status.log
# По умолчанию сообщения журнала будут отправляться в системный журнал (или
# в Windows, если они запущены как Служба, они будут отправлены в
# каталог “Program FilesOpenVPNlog”).
# Используйте log или log-append, чтобы переопределить это значение по умолчанию.
# “log” будет усекать файл журнала при запуске OpenVPN,
# а “log-append” будет добавляться к нему. Используйте один
# или другой (но не оба).
;log openvpn.log
;log-append openvpn.log
# Установите соответствующий уровень детализации файла журнала.
#
# 0 молчит, за исключением фатальных ошибок
# 4 является разумным для общего использования
# 5 и 6 могут помочь отладить проблемы с подключением
# 9 очень подробно
verb 3
# Заглушить повторные сообщения. В журнал будет
# выведено не более 20 последовательных сообщений
# одной и той же категории.
;mute 20
# Уведомить клиента при перезапуске сервера,
# чтобы он мог автоматически повторно подключиться.
explicit-exit-notify 1
Итоговый пример серверного конфига может быть такой:
Настройка OpenVPN-сервера на Windows Server 2008/2012
Это пошаговое руководство о том, как настроить OpenVPN-сервер в операционных системах Windows Server 2008/2012 и подключить клиентов к созданной виртуальной частной сети.
OpenVPN – открытая реализация технологии VPN – Virtual Private Network, которая предназначена для создания виртуальных частных сетей между группой территориально удаленных узлов поверх открытого канала передачи данных (интернет). OpenVPN подходит для таких задач, как безопасное удаленное сетевое подключение к серверу без открытия интернет-доступа к нему, как будто вы подключаетесь к хосту в своей локальной сети. Безопасность соединения достигается шифрованием OpenSSL.
Содержание:
Виртуальный сервер на базе Windows
- Лицензия включена в стоимость
- Тестирование 3-5 дней
- Безлимитный трафик
- Как это работает?
- Установка OpenVPN на сервер
- Генерация ключей (PKI) центра сертификации, сервера, клиента; алгоритм Диффи-Хеллмана
- Конфигурация сервера OpenVPN
- Конфигурация клиента OpenVPN
- Проверка правил Брандмауэра Windows
- Проверка OpenVPN-соединения
Как это работает?
По окончанию настройки OpenVPN сервер сможет принимать внешние защищенные SSL сетевые подключения к созданному при запуске VPN-сервиса виртуальному сетевому адаптеру (tun/tap), не затрагивая правила обработки трафика других интерфейсов (внешний интернет-адаптер и др.) Имеется возможность настроить общий доступ клиентов OpenVPN к конкретному сетевому адаптеру из присутствующих на сервере. Во второй части инструкции рассмотрено такое туннелирование интернет-трафика пользователей. При этом способе переадресации обрабатывающий VPN-подключения хост будет выполнять и функцию прокси-сервера (Proxy) – унифицировать правила сетевой активности пользователей и осуществлять маршрутизацию клиентского интернет-трафика от своего имени.
Установка OpenVPN на сервер
Скачайте и установите актуальную версию OpenVPN, соответствующую вашей операционной системе. Запустите установщик, убедитесь что на третьем шаге мастера установки выбраны все компоненты для установки.
Обратите внимание, что в этой инструкции дальнейшие команды приведены из расчета, что OpenVPN установлен в директорию по-умолчанию “C:Program FilesOpenVPN”.
Разрешаем добавление виртуального сетевого адаптера TAP в ответ на соответствующий запрос и дожидаемся завершения установки (может занять несколько минут).
Генерация ключей (PKI) центра сертификации, сервера, клиента; алгоритм Диффи-Хеллмана
Для управления парами “ключ/сертификат” всех узлов создаваемой частной сети используется утилита easy-rsa, работающая через командную строку по аналогии с консолью Linux. Для работы с ней откройте запустите командую строку (Сочетание клавиш Win+R, затем наберите cmd и нажмите Enter)
Файлы конфигурации
Скачайте наши файлы конфигурации и скрипты и замените их в каталоге C:Program FilesOpenVPNeasy-rsa.
Если пути по умолчанию не совпадают, откорректируйте их во всех файлах.
В файле конфигурации openssl-1.0.0.conf обязательно задайте значения переменным, соответствующие вашим данным: countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
emailAddress_default
Примечание: если значение переменной содержит пробел, то заключите ее в кавычки.
Генерация ключей Центра Сертификации и Сервера
- Переименуйте файл index.txt.start в index.txt, serial.start в serial с помощью следующих команд: cd
cd “C:Program FilesOpenVPNeasy-rsa”
ren index.txt.start index.txt
ren serial.start serial
Перейдем к созданию ключа/сертификата центра сертификации. Запустите скрипт: .build-ca.bat
В ответ на появляющиеся запросы вы можете просто нажимать Enter. Единственное исключение – поле KEY_CN (Common Name) – обязательно укажите уникальное имя и такое же имя вставьте в поле name.
Аналогичным образом генерируем сертификат сервера. Здесь значение полей Common Name и Name – SERVER: .build-key-server.bat server
Примечание: аргумент server – имя будущего файла.
Для всех генерируемых ключей теперь будет задаваться вопрос о том, подписать ли создаваемый сертификат (Sign the certificate) от имени центра сертификации. Отвечаем y (yes).
Для каждого клиента VPN необходимо сгенерировать отдельный SSL-сертификат.
В конфигурации OpenVPN присутствует опция, включив которую вы можете использовать один сертификат для нескольких клиентов (см. файл server.ovpn -> опция “dublicate-cn”), но это не рекомендуется с точки зрения безопасности. Сертификаты можно генерировать и в дальнейшем, по мере подключения новых клиентов. Поэтому сейчас создадим только один для клиента client1:
Выполните следующие команды для генерации клиентских ключей: cd
cd “C:Program FilesOpenVPNeasy-rsa”
.build-key.bat client1
Примечание: аргумент client1 – имя будущего файла.
В поле Common Name указываем имя клиента (в нашем случае client1).
Параметры Diffie Hellman
Для завершения настройки шифрования, необходимо запустить скрипт генерации параметров Диффи-Хеллмана: .build-dh.bat
Отображение информации о создании параметров выглядит так:
Перенос созданных ключей/сертификатов
Сгенерированные сертификаты находятся в директории C:Program FilesOpenVPNeasy-rsakeys. Скопируйте перечисленные ниже файлы в каталог C:Program FilesOpenVPNconfig:
- ca.crt
- dh2048.pem/dh1048.pem
- server.crt
- server.key
Конфигурация сервера OpenVPN
В дереве найдите каталог HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters. В правой части окна найдите переменную IPEnableRouter, двойным щелчком мыши перейдите в окно редактирования значения и измените его на 1, тем самым разрешив адресацию на VPS.
- Перейдем к настройке непосредственно VPN-сервера, используйте наш файл конфигурации с именем server.ovpn и поместите его в директорию C:Program FilesOpenVPNconfig.
Откройте файл, находим пути до ключей (см. ниже). Проверяем в нем пути до скопированных ранее сертификатов ca.crt, dh1024.pem/dh2048.pem, server.key, server.crt и при необходимости меняем: port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
ca “C:\Program Files\OpenVPN\config\ca.crt”
cert “C:\Program Files\OpenVPN\config\server.crt”
key “C:\Program Files\OpenVPN\config\server.key”
dh “C:\Program Files\OpenVPN\config\dh2048.pem”
push “redirect-gateway def1”
push “dhcp-option DNS 8.8.8.8”
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3
Теперь необходимо разрешить пересылку трафика между адаптерами. Выполните следующие шаги: Панель управления -> Сеть и интернет -> Центр управления сетями и общим доступом -> Изменение параметров адаптера. Выберете адаптер который смотрит во внешнюю сеть Интернет (TAP-адаптер отвечает за VPN соединение). В нашем примере это Ethernet 2.
С помощью двойного щелчка мыши откройте Свойства адаптера и перейдите во вкладку Доступ, отметьте галочкой все пункты. Сохраните изменения.
Далее нужно включить IP-адресацию.
С помощью поиска Windows найдите приложение REGEDIT.exe.
Автозапуск OpenVPN
Сразу настроим службу OpenVPN на автозапуск при старте системы. Открываем “Службы”(Services) Windows. Находим в списке OpenVPN -> ПКМ -> Свойства (Properties) -> Запуск: Автоматически
На этом базовая настройка сервера виртуальной частной сети завершена. Найдите файл C:Program FilesOpenVPNconfigserver.ovpn -> кликните правой кнопкой мыши -> “Start OpenVPN on this config” для запуска сервера виртуальной частной сети и подготовленного нами файла настроек.
Конфигурация клиента OpenVPN
Клиентские приложения OpenVPN доступны для всех популярных ОС: Windows / Linux / iOS / Android. Для MacOS используется клиент Tunnelblick. Все эти приложения работают с одними и теми же файлами конфигурации. Возможны лишь некоторые различия нескольких опций. Узнать о них вы можете, изучив документацию к своему клиенту OpenVPN. В этом руководстве мы рассмотрим подключение Windows-клиента с использованием того же дистрибутива программы, который мы устанавливали на сервер. При использовании приложений для других операционных систем логика настройки аналогична.
- Устанавливаем актуальную версию OpenVPN на клиентский компьютер.
- Копируем в директорию C:Program FilesOpenVPNconfig созданные ранее на сервере файлы клиентских сертификатов (2 сертификата с расширением .crt и ключ с расширением .key) и используем наш файл конфигурации клиента client.ovpn. Последний файл после копирования на устройство пользователя удаляем с сервера или переносим из папки config во избежание путаницы в будущем.
- Откройте файл client.ovpn. Найдите строку remote my-server-1 1194 и укажите в ней ip-адрес или доменное имя vpn-сервера:
remote 1194
Например: remote 111.222.88.99 1194
# See the server config file for more
# description. It’s best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.
ca “C:\Program Files\OpenVPN\config\ca.crt”
cert “C:\Program Files\OpenVPN\config\client1.crt”
key “C:\Program Files\OpenVPN\config\client1.key”
# This file should be kept secret
Проверка правил Брандмауэра Windows
Внимание! Для корректной работы сервиса OpenVPN требуется, чтобы на севере были открыты соответствующие порты (по-умолчанию UDP 1194). Проверьте соответствующее правило в вашем Firewall’е: Брандмауэре Windows или стороннем антивирусном ПО.
Проверка OpenVPN-соединения
Запустите OpenVPN сервер, для этого перейдите в директорию C:Program FilesOpenVPNconfig и выберите файл конфигурации сервера (у нас server.ovpn -> ПКМ -> “Start OpenVPN on this config file”).
Запустите клиент, для этого перейдите в директорию C:Program FilesOpenVPNconfig и выберите файл конфигурации клиента (у нас client.ovpn -> ПКМ -> “Start OpenVPN on this config file”).
На экране отобразится окно статуса подключения. Через несколько секунд оно будет свернуто в трей. Зеленый индикатор ярлыка OpenVPN в области уведомлений говорит об успешном подключении.
Проверим доступность с клиентского устройства сервера OpenVPN по его внутреннему адресу частной сети:
- Нажимаем клавиши Win+R и появившемся окне вводим cmd для открытия командной строки.
- Выполняем команду ping до адреса нашего сервера в виртуальной частной сети (10.8.0.1): ping 10.8.0.1
- В случае корректной настройки VPN начнется обмен пакетами с сервером
С помощью утилиты tracert проверим по какому маршруту идут пакеты от клиента. В консоли введите следующую команду: tracert ya.ru
Из результата работы утилиты мы видим, что сначала пакеты отправляются на сервер VPN, а уже потом во внешнюю сеть.
Теперь вы имеете готовую к работе виртуальную частную сеть, позволяющую осуществлять безопасные сетевые подключения между ее клиентами и сервером, используя открытые и территориально удаленные точки подключения к сети интернет.
Решение проблем при установке VPN
Хотя проблемы возникают редко, чтобы сэкономить ваше время на поиск решений при настройке VPN вот вам краткий обзор некоторых проблем при установке
Сервис VPN не запускается
Посмотрите что находится в журнале
tail -f /var/log/openvpn.log
Скорее всего не хватает какого-нибудь файла, который мы копировали выше (команда cp). Вернитесь на шаги назад и проверьте — все ли файлы скопировались.
VPN подключился, но интернета нет
Скорее всего проблема в настройках NAT. Вернитесь к пункту «Активируем NAT» выше и перепроверьте снова
Сообщение FirewallD is not running
На вашей машине не запущен файрвол. Необходимо запустить его сервис (отдельный мануал ). По умолчанию он не блокирует доступ через ssh (через telnet), но правила для http и https необходимо будет добавить, если на вашем сервере крутятся сайты. Это не сложно. Вот эти команды (плюсом еще доступ по ftp)
firewall-cmd –permanent –add-service=http
firewall-cmd –permanent –add-service=https
firewall-cmd –permanent –add-service=ftp
Плюс надо будет заново пройтись по секции с firewall-cmd этого текста (заново ввести правила и команды для файрвола).