OpenVPN — свободная реализация технологии виртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.
Возможные проблемы
Большая часть проблем решается при помощи логов, которые находятся в папке C:Program FilesOpenVPNlog. Уровень детализации лога контролируется параметром verb в конфигурационном файле сервера или клиента.
Также возможны следующие часто возникающие проблемы:
- Проблема: клиент постоянно пытается подключиться к серверу, но соединения не происходит или подключение зависает. Причина: сервер блокирует подключения по настроенному порту VPN (в нашем примере, 443). Решение: на сервере необходимо добавить 443 порт в исключения брандмауэра или отключить последний.
- Проблема: при попытке подключиться к серверу выскакивает ошибка «Не удалось подключиться к config». Причина: ошибка в настройках. Решение: перепроверьте каждую строчку файла конфигурации. Проверьте наличие всех файлов, на которые ссылаетесь в настройках.
- Проблема: клиенты получают одинаковые IP-адреса. Причина: подключение выполняется под одним и тем же пользователем. Решение: сервер выдает одинаковые адреса одинаковым клиентам. Необходимо настроить авторизацию на сервере и выдать каждому клиенту индивидуальные настройки.
- Проблема: соединение происходит, но через несколько минут связь прерывается. Причина: дублирование IP-адресов. Решение: данная проблема описана выше (пункт 3).
- Настройка клиентских устройств OpenVPN …
- OpenVPN в Ubuntu …
- OpenVPN в Ubuntu …
- OpenVPN в Ubuntu …
- Настройка OpenVPN в Ubuntu 20.04 | Losst
Заключение
Организация собственной VPN-сети позволит вам максимально защитить передаваемую информацию, а также сделать интернет-серфинг более безопасным. Главное – быть внимательнее при настройке серверной и клиентской части, при правильных действиях можно будет пользоваться всеми преимуществами частной виртуальной сети.
- -klienty/
- -polzovatsya-openvpn-gui/
- -openvpn-server-on-windows/
- -server-windows
Настройка OpenVPN под Windows
Установка и настройка серверной части

Поскольку большинство из нас пользуется ОС Windows, знакомство с OpenVPN-технологией начнем с нее. Итак, скачайте с официального сайта подходящий дистрибутив и запустите инсталляцию.
В списке «Select components to install» (выберите компоненты для установки) отметьте всё.

Согласитесь на установку драйвера виртуального сетевого адаптера TAP Windows Adapter V9.
Установили? Теперь займемся созданием ключей и сертификатов VPN.

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

- После создания 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 появится файл .

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

- Далее копируем из папки /easy-rsa/keys в /OpenVPN/config следующие файлы: , , , user1.key, user1.crt. Последние четыре могут называться у вас по-другому. Почему, думаю, понятно.
- Следом в этой же папке создаем файл конфигурации сервера. Копируем приведенные ниже директивы в блокнот и, если нужно, меняем их параметры на свои. Сохраняем документ с расширением .ovpn и именем «Server».

# Интерфейс (L3-туннель) dev tun # Протокол работы VPN proto udp # Используемый порт (можно указать любой свободный) port 1234 # Список сертификатов и ключей (обратите внимание на имена) ca cert key dh # Тип шифрования данных cipher AES-256-CBC # Выделяем диапазон ИП-адресов server # Уровень отладочной информации 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» 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 cert key cipher AES-256-CBC comp-lzo persist-key persist-tun verb 3
Другие директивы клиентского конфига смотрите здесь.

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

Подключение
Чтобы запустить сервер, кликните по ярлыку «OpenVPN GUI» на рабочем столе. В трее появится иконка серого цвета. Щелкните по ней правой кнопкой мышки, выберите в меню команды «Server» и «Подключиться».
При удачном подключении иконка сменит цвет на зеленый. При неудачном – кликните в меню «Посмотреть журнал»: в нем будет указана ошибка.
Подключение клиента выполняется таким же способом, только вместо «Server» выбираем в меню «Client».
Объединяем несколько офисов (компьютеров) с помощью OpenVPN
Рассмотрим, как подключиться к OpenVPN серверу с двух удаленных компьютеров, которые подключены к интернету через NAT, и организовать общую сеть между ними. Для подключения с Windows компьютера к серверу OpenVPN я использую официальный клиент от разработчиков. Скачать его можно на официальном сайте, заострять на этом внимание не будем, а перейдем сразу к настройке.
После того как вы установили клиент, нужно перейти к файлу конфигурации, который нужно создать по пути:
C:\Program Files\OpenVPN\config\
Я создал файл client и добавил в него следующее содержимое:
client dev tun proto udp remote 1194 resolv-retry infinite nobind block-outside-dns persist-key persist-tun mute-replay-warnings remote-cert-tls server tls-client auth SHA512 tls-auth «C:\\Program Files\\OpenVPN\\config\\» 1 remote-cert-eku «TLS Web Server Authentication» ca «C:\\Program Files\\OpenVPN\\config\\» cert «C:\\Program Files\\OpenVPN\\config\\» key «C:\\Program Files\\OpenVPN\\config\\» cipher AES-256-CBC comp-lzo verb 3
Для настройки нам потребуются созданные нами ранее сертификаты клиента, безопасности и сервера. Их нужно скачать с сервера и поместить в удобную вам директорию, после чего в конфигурационном файле клиента OpenVPN нужно указать путь к ним путь.
После мы подключаемся через ярлык Open VPN client в трее:
Я подключился и получил следующий IP для своего ПК:
IPv4-адрес. . . . . . . . . . . . : Маска подсети . . . . . . . . . . :
На втором компьютере за NAT я выполнил те же действия, предварительно создав сертификат для второго пользователя, при подключении второй ПК так же получил IP из сети:

IPv4-адрес. . . . . . . . . . . . : Маска подсети . . . . . . . . . . :
После подключения, оба компьютера оказались в одной сети и видят друг друга.
Запускаем пинг на втором ПК:
Обмен пакетами с по с 32 байтами данных: Ответ от : число байт=32 время=67мс TTL=127
Запускаем пинг на первом ПК:
Обмен пакетами с по с 32 байтами данных: Ответ от : число байт=32 время=71мс TTL=127
Оба подключенные VPN клиента могут обмениваться пакетами, и передавать файлы друг другу напрямую. Таким образом мы смогли объединить в одну локальную сеть два ПК, находящихся в разных точках страны.
На сервере с OpenVPN вы можете создать неограниченное количество ключей и сертификатов для пользователей. Если вам потребуется новый сертификат, выполните следующие команды в директории /etc/openvpn/easy-rsa/3:
./easyrsa gen-req имяклиента nopass./easyrsa sign-req client имяклиента
Не забывайте периодически отзывать сертификаты клиентов, если они не используются, чтобы сохранить в безопасности ваши данные.
Настройка подключения на Windows
1. В браузере подключаемся к клиентской веб-форме OpenVPN, вводим данные какого-либо существующего пользователя на VPS, из выпадающего списка выбираем режим Login и нажимаем GO.
2. В появившейся форме нажимаем либо на кнопку Connect, либо на ссылку OpenVPN Connect for Windows. После нажатия будет предоставлен для скачивания установочный файл с расширением .msi, который включает в себя как клиентскую программу, так и корректный конфигурационный файл.

3. После загрузки .msi файла на компьютер и запускаем его.
4. Установка клиента OpenVPN происходит в автоматическом режиме. После завершения установки на рабочем столе появится ярлык OpenVPN connect, который необходимо запустить.
5. В появившемся окне вводим имя пользователя, существующего на сервере и его пароль, после чего нажимаем на кнопку Connect.
6. Статус соединения можно отслеживать через иконку OpenVPN-клиента в панели задач.

Тестировать облачный VPS на KVM
- share
Тест производительности OpenVPN
Максимальный прирост при отключении сжатия, шифрования и аутентификации составил около 35%. Не думаю, что это стоит того, чтобы отключать механизмы защиты, но ситуации бывают разные.
Может кому-то как мне будет интересно влияние опций на производительность и не придется тратить время на проведение замеров, хотя я бы с удовольствием ознакомился с результами других людей. Изначально тестил для себя, поэтому точных замеров не проводил, потом решил поделиться результатами.