atesting.ru Новости Настройка openvpn клиента

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

Managing a Running Session

  1. Once a VPN session has started, it should be seen in the session list:
  2. Using the openvpn3 session-manage there are a few things which can be done, but most typically it is the –disconnect or –restart alternatives which are most commonly used. . This disconnects and re-connects to the server again, re-establishing the connection. The ${CONFIGURATION_PROFILE_NAME} is the configuration name as displayed in openvpn3 sessions-list
  3. It is also possible to use the D-Bus path to the session as well: . This command above will disconnect a running session. Once this operation has completed, it will be removed from the openvpn3 sessions-list overview. Important: you will be able to start a new session with this or another OpenVPN profile only after you have disconnected from the current session using the command in this step
  4. It is also possible to retrieve real-time tunnel statistics from running sessions: or
  5. And to retrieve real-time log events as they occur, run the following command: This might be quite silent, as it does not provide any log events from the past. Issue an openvpn3 session-manage –restart from a different terminal, and log events will occur. You may want to boost the log-level with –log-level 6. Valid log levels are from 0 to 6, where 6 is the most verbose. Note: VPN sessions are also owned by the user which started it. But the Session Manager also provides its own Access Control List feature via

Using Development Versions of OpenVPN

Getting OpenVPN snapshots

We offer several different kinds of development builds and snapshots:

  • Windows installers built from every commit
  • FreeBSD openvpn-devel port. Also usable as a standalone source snapshot on other platforms.

Note that these snapshots are either entirely untested or tested only very briefly. So there are no guarantees that they work correctly. That said, most of the time they probably work just fine.

Fetching sources using git

Second option is to fetch sources using Git. This method is preferred, as it allows you to easily keep using the latest code. For instructions take a look here.

Building

If you’re using source snapshots / ports you can extract them like this:

gzip -dc openvpn-.tar.gz | tar xvf -
cd openvpn-/

With Git you can skip this step. Next prepare for building (not required for stable releases):

autoreconf -vi

Next configure (see ./configure –help for available build-time options):

./configure

Finally compile:

make 

Once you’ve ran make, you can install OpenVPN using

make install

Building on MacOS X with homebrew

Homebrew does not install the openssl libraries in the standard paths. If you get errors like Undefined symbols for architecture x86_64: “_SSL_CTX_get0_certificate” …, you need to pass CPPFLAGS/LDFLAGS (the correct values are shown by brew info openssl).

Возможные проблемы при работе с OpenVPN

1. failed to start openvpn robust and highly flexible tunneling application on server

Описание: при запуске сервера получаем данную ошибку.

Причина: как правило, связано с отсутствием сертификата.

Решение: открываем лог /var/log/openvpn/openvpn.log и смотрим, с каким сертификатом проблема. Проверяем, что все файлы скопированы и что мы не забыли сгенерировать все сертификаты.

2. Постоянно разрывается соединение

Описание: с периодичностью от 1 до 5 минут постоянно рвется соединение с сервером. После нескольких минут переподключается.

Причина: как правило, конфликт IP-адресов. Такая ситуация возникает при случаях, когда подключение выполняется с нескольких компьютеров одновременно с одинаковыми данными авторизации (логином и паролем).

Решение: настройте клиента для подключения к серверу с уникальными логином и паролем.

3. ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

Описание: ошибка возникаем при попытке запустить сервис openvpn.

Причина: не загружается модуль tun.

Решение: необходимо перед запуском сервиса openvpn создавать устройство tun. Для этого мы создадим скрипт, который будет создавать устройство при запуске сервера.

Создаем каталог, в который поместим скрипт:

mkdir /scripts

Создадим сам скрипт:

vi /scripts/tun.sh

/bin/mkdir /dev/net
/bin/mknod /dev/net/tun c 10 200

* данный скрипт создает каталог /dev/net, а в нем — устройство tun.

Создаем юнит для автозапуска скрипта:

vi /etc/systemd/system/tun.service

After=network.target

Type=oneshot
ExecStart=/bin/sh -c «/scripts/tun.sh»

WantedBy=multi-user.target

Перечитываем изменения в systemd:

systemctl daemon-reload

Разрешаем автозапуск юнита tun и стартуем скрипт:

systemctl enable tun —now

Теперь можно запустить openvpn:

systemctl start [email protected]

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

Installation for Fedora, Red Hat Enterprise Linux, CentOS, or Scientific Linux

Packages for these distributions are provided via a Fedora Copr repository. Supported versions:

Distribution Release versions
Fedora 30, 31, 32
Red Hat Enterprise Linux / CentOS 7, 8

In order to install the OpenVPN 3 Client for Fedora, Red Hat Enterprise Linux, CentOS, or Scientific Linux, follow the steps below:

  1. Open Terminal by typing terminal into the search bar
  2. If you are running Red Hat Enterprise Linux or its clones, you need to install the Fedora EPEL repository first. Here is the list of commands for each version:(The original article on Fedora EPEL can be found here)RHEL/CentOS 6: RHEL/CentOS 7: On RHEL 7 it is recommended to also enable the optional, extras, and HA repositories since EPEL packages may depend on packages from these repositories: RHEL/CentOS 8: On RHEL 8 it is required to also enable the On CentOS 8 it is recommended to also enable the PowerTools repository since EPEL packages may depend on packages from it:
  3. You need to install the yum copr module first by running the following command: . Note: Fedora releases usually have the yum/dnf copr module preinstalled.
  4. With the Copr module available, it is time to enable the OpenVPN 3 Copr repository by running the following command:
  5. Finally, the OpenVPN 3 Linux client can be installed by running the following command:

Клиенты LinuxLinux clients

  1. Запустите новый сеанс терминала.Open a new Terminal session. Новый сеанс можно начать, нажав CTRL+ALT+Т.You can open a new session by pressing ‘Ctrl + Alt + t’ at the same time.

  2. Для установки необходимых компонентов введите следующую команду.Enter the following command to install needed components:

  3. Загрузите профиль VPN для шлюза.Download the VPN profile for the gateway. Это можно сделать со вкладки конфигурации «точка — сеть» на портале Azure.This can be done from the Point-to-site configuration tab in the Azure portal.

  4. Экспортируйте сертификат клиента P2S, который вы создали и отправили в конфигурацию P2S на шлюзе.Export the P2S client certificate you created and uploaded to your P2S configuration on the gateway. Используйте ссылки на следующие статьи:Use the following article links:

    • Инструкции по instructions

    • Инструкции для instructions

  5. Извлеките закрытый ключ и отпечаток base64 из PFX-файла.Extract the private key and the base64 thumbprint from the .pfx. Это можно сделать несколькими способами.There are multiple ways to do this. Это можно сделать с помощью OpenSSL на компьютере.Using OpenSSL on your computer is one way.

    Файл profileinfo.txt содержит закрытый ключ, отпечаток для ЦС и сертификат клиента.The profileinfo.txt file will contain the private key and the thumbprint for the CA, and the Client certificate. Не забудьте использовать отпечаток сертификата клиента.Be sure to use the thumbprint of the client certificate.

  6. Откройте файл profileinfo.txt в текстовом редакторе.Open profileinfo.txt in a text editor. Чтобы получить отпечаток сертификата клиента (дочерний), выделите текст между «——BEGIN CERTIFICATE——» и «——END CERTIFICATE——«, включая эти строки, для дочернего сертификата и скопируйте его.To get the thumbprint of the client (child) certificate, select the text including and between «——BEGIN CERTIFICATE——» and «——END CERTIFICATE——» for the child certificate and copy it. Дочерний сертификат можно определить, просмотрев строку subject=/.You can identify the child certificate by looking at the subject=/ line.

  7. Откройте файл vpnconfig.ovpn и найдите раздел, показанный ниже.Open the vpnconfig.ovpn file and find the section shown below. Замените весь код между cert и /cert.Replace everything between the and «cert» and «/cert».

  8. Откройте файл profileinfo.txt в текстовом редакторе.Open the profileinfo.txt in a text editor. Чтобы получить закрытый ключ, выберите текст, включая и между «——начать закрытый ключ——» и «——конечный закрытый ключ——«, и скопируйте его.To get the private key, select the text including and between «——BEGIN PRIVATE KEY——» and «——END PRIVATE KEY——» and copy it.

  9. Откройте файл vpnconfig.ovpn в текстовом редакторе и найдите этот раздел.Open the vpnconfig.ovpn file in a text editor and find this section. Вставьте закрытый ключ, заменив все между и key и /key.Paste the private key replacing everything between and «key» and «/key».

  10. Не изменяйте остальные поля.Do not change any other fields. Для подключения к VPN используйте заполненную конфигурацию на входе клиента.Use the filled in configuration in client input to connect to the VPN.

  11. Чтобы подключиться с помощью командной строки, введите следующую команду:To connect using the command line, type the following command:

  12. Чтобы подключиться с помощью графического пользовательского интерфейса, перейдите в параметры системы.To connect using the GUI, go to system settings.

  13. Щелкните + , чтобы добавить новое VPN-подключение.Click + to add a new VPN connection.

  14. В разделе Добавить VPN выберите Импорт из файла…Under Add VPN, pick Import from file…

  15. Просмотрите файл профиля и дважды щелкните или выберите Открыть.Browse to the profile file and double-click or pick Open.

  16. Щелкните Добавить в окне Добавить VPN.Click Add on the Add VPN window.

  17. Вы можете подключиться, выбрав для VPN Вкл. на странице Параметры сети или под значком сети на панели задач.You can connect by turning the VPN ON on the Network Settings page, or under the network icon in the system tray.

Why do I need MFA?

Many users have reused their username and password across multiple systems, namely popular websites (LinkedIn, Facebook, Twitter, many others). These sites are attractive targets for hackers who seek ways to steal data or leverage an account as a resource to generate spam. For a sample of such breaches, go to Google and type in “large credential leak” in the search box.

To combat these leaks, a couple of things can be done. First, using unique passwords for every site and system means a leak on one doesn’t directly impact another. This can extend to not just using the same username, as well.

The other thing a user can do is enable MFA. Many sites already offer this capability, Reddit, various web hosting companies, etc. Some businesses require it. Implementation across these services can vary.

Background

The OpenVPN 3 Linux project is a new client built on top of the OpenVPN 3 Core Library, which is also used in the various OpenVPN Connect clients and OpenVPN for Android (need to be enabled via the settings page in the app).

This client is built around a completely different architecture in regards to usage. It builds heavily on D-Bus and allows unprivileged users to start and manage their own VPN tunnels out-of-the-box. System administrators wanting more control can also control and restrict this access both by hardening the default OpenVPN 3 D-Bus policy or facilitating features in OpenVPN 3 Linux.

Even though the project name carries “Linux”, it doesn’t mean it is restricted to Linux only. Any platform which has D-Bus available should be capable of running this client in theory. But since D-Bus is most commonly used in Linux environments, this will naturally be the primary focus for the project.

The release notes are stored in git tags in the project git repository. They can also be viewed here: https://github.com/OpenVPN/openvpn3-linux/releases (expand the tag to see the full text)

Building the OpenVPN 3 client on Linux

These instructions were tested on Ubuntu 20.

Prepare directory structure:

$ sudo apt install g++ make libmbedtls-dev libssl-dev liblz4-dev cmake
$ export O3=~/O3 && mkdir $O3
$ export DEP_DIR=$O3/deps && mkdir $DEP_DIR
$ export DL=$O3/dl && mkdir $DL

Clone the OpenVPN 3 source repo:

$ cd $O3
$ git clone https://github.com/OpenVPN/openvpn3.git core

Build dependencies:

$ cd core/scripts/linux/
$ ./build-all

Build the OpenVPN 3 client wrapper (cli) with OpenSSL library:

$ cd $O3/core && mkdir build && cd build
$ cmake ..
$ cmake --build .

To use mbed TLS, use:

$ cmake -DUSE_MBEDTLS=on ..

Run OpenVPN 3 client:

$ sudo test/ovpncli/ovpncli myprofile.ovpn route-nopull

Options used:

  • : OpenVPN config file (must have .ovpn extension)
  • : if you are connected via ssh, prevent ssh session lockout

ovpn-dco is a kernel module which optimises data channel encryption and
transport, providing better performance.

Download, build and install ovpn-dco:

$ cd $O3
$ git clone https://github.com/OpenVPN/ovpn-dco.git
$ cd ovpn-dco
$ make && sudo make install
$ sudo modprobe ovpn-dco

Install core dependencies:

$ sudo apt install pkg-config libnl-genl-3-dev

Build cli with ovpn-dco support:

$ cd $O3/core/build
$ cmake -DCLI_OVPNDCO=on .. && make
$ sudo test/ovpncli/ovpncliovpndco --dco myprofile.ovpn

Options used:

  • : OpenVPN config file (must have .ovpn extension)
  • : enable data channel offload

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

Плюсы использования OpenVPN легко перевешивают любые проблемные моменты, которые предлагает этот протокол VPN.

Итак, давайте рассмотрим преимущества использования OpenVPN.

  • Невероятно безопасен. Как отмечалось, это очень рекомендуемый протокол VPN на случай, если вы хотите защитить свои личные данные. Благодаря 256-битному шифрованию и высокопроизводительным шифрам конфиденциальность на высоте. Даже если кто-то получит ваши данные, вероятность их изменения минимальна.
  • Работает на всех популярных платформах.Независимо от того, решите ли вы использовать службу VPN или если вы решите использовать графический интерфейс OpenVPN, вы можете установить и использовать его во всех популярных ОС. Это относится к настольным и мобильным платформам.
  • Обход любого брандмауэра.Очень трудно блокировать соединения OpenVPN, так как этот протокол использует любой порт на UDP или TCP. Кроме того, многие службы VPN шифруют ваши веб-данные и отображать их как обычные HTTPS-соединения, что облегчает обход брандмауэра.
  • Предлагает больше контроля над вашим соединением. В отличие от других протоколов VPN, этот протокол позволяет использовать два способа передачи данных — UDP или TCP. Это означает, что вы находите хороший баланс между необходимым уровнем безопасности и быстродействием веб-соединения.
  • Совместим с Perfect Forward Secrecy.Это невероятно безопасный метод шифрования, который делает ваше устройство невосприимчивым к многочисленным типам онлайн-опасностей. Поскольку известных уязвимостей нет, это лучший способ защитить вашу сеть от взлома.

Клиенты WindowsWindows clients

  1. Скачайте и установите клиент Опенвпн (версии 2,4 или более поздней) на официальном веб-сайте опенвпн.Download and install the OpenVPN client (version 2.4 or higher) from the official OpenVPN website.

  2. Загрузите профиль VPN для шлюза.Download the VPN profile for the gateway. Это можно сделать со вкладки конфигурации «точка — сеть» на портале Azure или с «New-AzVpnClientConfiguration» в PowerShell.This can be done from the Point-to-site configuration tab in the Azure portal, or ‘New-AzVpnClientConfiguration’ in PowerShell.

  3. Распакуйте профиль.Unzip the profile. Затем откройте файл конфигурации vpnconfig.ovpn из папки OpenVPN в Блокноте.Next, open the vpnconfig.ovpn configuration file from the OpenVPN folder using Notepad.

  4. Экспортируйте сертификат клиента «точка — сеть», созданный и отправленный в конфигурацию P2S на шлюзе.Export the point-to-site client certificate you created and uploaded to your P2S configuration on the gateway. Используйте ссылки на следующие статьи:Use the following article links:

    • Инструкции по instructions

    • Инструкции для instructions

  5. Извлеките закрытый ключ и отпечаток base64 из PFX-файла.Extract the private key and the base64 thumbprint from the .pfx. Это можно сделать несколькими способами.There are multiple ways to do this. Это можно сделать с помощью OpenSSL на компьютере.Using OpenSSL on your machine is one way. Файл profileinfo.txt содержит закрытый ключ, отпечаток для ЦС и сертификат клиента.The profileinfo.txt file contains the private key and the thumbprint for the CA and the Client certificate. Не забудьте использовать отпечаток сертификата клиента.Be sure to use the thumbprint of the client certificate.

  6. Откройте profileinfo.txt в Блокноте.Open profileinfo.txt in Notepad. Чтобы получить отпечаток сертификата клиента (дочерний), выделите текст между «——BEGIN CERTIFICATE——» и «——END CERTIFICATE——» (включая эти строки) для дочернего сертификата и скопируйте его.To get the thumbprint of the client (child) certificate, select the text (including and between)»——BEGIN CERTIFICATE——» and «——END CERTIFICATE——» for the child certificate and copy it. Дочерний сертификат можно определить, просмотрев строку subject=/.You can identify the child certificate by looking at the subject=/ line.

  7. Переключитесь на файл vpnconfig.ovpn, который вы открыли в Блокноте на шаге 3.Switch to the vpnconfig.ovpn file you opened in Notepad from step 3. Найдите раздел, указанный ниже, и замените весь код между cert и /cert.Find the section shown below and replace everything between «cert» and «/cert».

  8. Откройте файл profileinfo.txt в Блокноте.Open the profileinfo.txt in Notepad. Чтобы получить закрытый ключ, выберите текст (включая и между ними)——начать закрытый ключ——«и»——конечный закрытый ключ——«и скопируйте его.To get the private key, select the text (including and between) «——BEGIN PRIVATE KEY——» and «——END PRIVATE KEY——» and copy it.

  9. Вернитесь к файлу vpnconfig.ovpn в Блокноте и найдите этот раздел.Go back to the vpnconfig.ovpn file in Notepad and find this section. Вставьте закрытый ключ, заменив все между и key и /key.Paste the private key replacing everything between and «key» and «/key».

  10. Не изменяйте остальные поля.Do not change any other fields. Для подключения к VPN используйте заполненную конфигурацию на входе клиента.Use the filled in configuration in client input to connect to the VPN.

  11. Скопируйте файл vpnconfig.ovpn в папку C:\Program Files\OpenVPN\config.Copy the vpnconfig.ovpn file to C:\Program Files\OpenVPN\config folder.

  12. Щелкните правой кнопкой мыши значок OpenVPN в области уведомлений и щелкните «Подключить».Right-click the OpenVPN icon in the system tray and click connect.