Установка OpenVPN и настройка Debian 11

Обновлено: 04.07.2024

OpenVPN — это VPN-решение SSL/TLS. Он может преодолевать соединения NAT и брандмауэры. На этой странице кратко объясняется, как настроить VPN с помощью OpenVPN как на стороне сервера, так и на стороне клиента для различных настроек: от простого необработанного подключения для целей тестирования до подключения с поддержкой TLS.

Установите пакет openvpn как на клиенте, так и на сервере.

Чтобы включить OpenVPN в апплете Gnome NetworkManager для области уведомлений панели задач, на клиенте должен быть установлен дополнительный пакет network-manager-openvpn-gnome:

В брандмауэре сервера откройте UDP 1194 (порт по умолчанию).

Помните, что 90 % всех проблем с подключением, с которыми сталкиваются новые пользователи OpenVPN, связаны с брандмауэром.

OpenVPN может аутентифицировать пользователей с помощью пользователя/пароля, общего ключа, сертификатов и т. д.

Необработанное (незащищенное) VPN-подключение для тестирования

Серверная часть

Выполнить из оболочки сервера

Вы должны увидеть вывод консоли, похожий на

Пока работает openvpn, проверьте конфигурацию сети с помощью ip a. Вывод должен включать

Обратите внимание, что если вы отключите openvpn (например, с помощью Control-c в консоли), вы не увидите указанный выше сетевой интерфейс.

Клиентская часть

Вы также можете пропинговать сервер, чтобы проверить, что он доступен: ping 10.9.8.1.

VPN-подключение со статическим ключом

Конфигурация VPN-сервера со статическим ключом

В каталоге сервера /etc/openvpn выполните следующую команду, чтобы сгенерировать статический ключ:

Скопируйте этот статический ключ в каталог клиентов /etc/openvpn, используя безопасный канал, такой как scp или sftp.

На сервере создайте новый файл /etc/openvpn/tun0.conf и добавьте следующее:

Где 10.9.8.x — ваша подсеть VPN, 10.9.8.1 — IP-адрес сервера, 10.9.8.2 — IP-адрес клиента.

Конфигурация VPN-клиента со статическим ключом

На клиенте скопируйте /etc/openvpn/static.key с сервера, создайте новый файл /etc/openvpn/tun0.conf и добавьте следующее:

Запустите OpenVPN вручную с обеих сторон с помощью следующей команды (подробный вывод на 6):

Чтобы убедиться, что VPN работает, вы должны выполнить эхо-запрос 10.9.8.2 с сервера и 10.9.8.1 с клиента.

VPN-подключение с поддержкой TLS

Начиная с Jessie, easy-rsa – это отдельный пакет, который следует установить вместе с установкой openvpn.

Инициировать easy-rsa

Чтобы инициализировать среду, используйте следующую команду:

Все команды, запускаемые из каталога easy-rsa. Подробное описание доступных команд см. в ./easyrsa help.

  • только файлы .key должны сохранять конфиденциальность.
  • Файлы .crt и .csr можно отправлять по незащищенным каналам, таким как электронная почта с открытым текстом.
  • не нужно копировать файл .key между компьютерами.
  • каждый компьютер будет иметь собственную пару сертификат/ключ.

Создать сертификат CA/KEY

Создайте СЕРТИФИКАТ/КЛЮЧ ЦЕНТРА СЕРТИФИКАТОВ (CA):

Он создаст файлы ca.crt и ca.key в каталогах /etc/openvpn/easy-rsa/.

Создать СЕРТИФИКАТ/КЛЮЧ сервера:

Он создаст server.crt и server.key в /etc/openvpn/easy-rsa/pki/ и подпишется с помощью ваш корневой сертификат.

Сгенерировать ПАРАМЕТРЫ ДИФФИ-ХЕЛМАНА

Создайте СОЗДАТЬ ПАРАМЕТРЫ ДИФФИ-ХЕЛЛМАНА (необходимо для соединения SSL/TLS со стороны сервера):

Создать статический ключ для аутентификации TLS

Если вы уже создали статический ключ, вы можете переименовать его в ta.key и переместить в папку /etc/openvpn/server. В противном случае выполните следующее:

Сгенерировать CERTIFICATE/KEYs клиента(ов)

  • Вам будет предложено ввести фразу-пароль PEM. Это фраза-пароль, которая потребуется вам для входа в клиент.

Установить СЕРТИФИКАТ/КЛЮЧИ клиента

Скопируйте файлы ca.crt, clientname.crt, clientname.key с сервера в каталоги /etc/openvpn/easy-rsa/pki/ клиента.< /p>

Подробности см. в разделе OpenVPN RSA Key.

VPN-подключение из командной строки

Файл конфигурации VPN-сервера

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

Создать файл состояния журнала:

Обратите внимание, что сценарий /etc/init.d/openvpn, запущенный с помощью «service openvpn restart», запустит сервер openvpn для каждого файла .conf в /etc/openvpn/, поэтому, если у вас все еще есть файл tun0.conf из выше, переименуйте его во что-нибудь другое, чем *.conf. Это связано с тем, что по умолчанию systemd требует только один сервер openvpn.

Файл конфигурации VPN-клиента

В клиенте создайте /etc/openvpn/client.conf следующим образом:

(примечание: вы можете использовать графический интерфейс сетевого менеджера vpn, предоставив ключ и сертификаты)

VPN-подключение запущено как служба Systemd

В корне /etc/openvpn/

По умолчанию все настроенные VPN в /etc/openvpn/ запускаются во время загрузки системы. Отредактируйте /etc/default/openvpn, чтобы запустить определенные VPN или отключить это поведение. Вам нужно запустить systemctl daemon-reload один раз, чтобы активировать новые VPN

в подпапках server и client

В Debian служба systemd ожидает, что файлы конфигурации сервера и клиента находятся соответственно в /etc/openvpn/server и /etc/openvpn/client. После того, как вы создали файл конфигурации в правильной папке, вам необходимо включить его. Например, предположим, что вы создали конфигурацию в /etc/openvpn/server/myserver.conf:

VPN-подключение запущено через файл interfaces

Перехватчики openvpn ifupdown также доступны для запуска/остановки туннелей с использованием /etc/network/interfaces, например:

Для получения дополнительной информации см. /usr/share/doc/openvpn/README.Debian.gz.

Генерация сертификатов устройств Android/iOS

OpenVPN Debian Server можно настроить для использования с устройствами Android/iOS.

на сервере

В Debian Server создайте необходимые сертификаты — мы считаем, что вы установили через apt openvpn и создали папку easy-rsa, как описано выше:

Измените следующие строки в файле /etc/openvpn/server.conf:

8.8.8.8 — DNS-сервер Google. Вы можете изменить свой предпочтительный DNS-сервер.

Проверьте, работает ли конфигурация:

Если это так, нажмите Ctrl-C и перезапустите сервер OpenVPN, чтобы использовать новую конфигурацию:

Создайте файл профиля клиента /etc/openvpn/client.ovpn и прикрепите к нему сертификаты:

Измените следующие строки в файле профиля клиента /etc/openvpn/client.ovpn:

отправьте по электронной почте или загрузите файл конфигурации клиента /etc/openvpn/$YOUR_CLIENT_NAME.ovpn на диск Google, чтобы загрузить его на iPhone.

Вы также можете выполнить серверные части описанных ниже шагов "Переадресация трафика через VPN".

на клиенте

Для устройств iOS установите клиент OpenVPN Connect. Затем перенесите файл конфигурации клиента /etc/openvpn/$YOUR_CLIENT_NAME.ovpn на устройство по электронной почте или через Google Диск. Откройте файл конфигурации в приложениях Почты или Google Диска.

Для устройств Android установите клиент OpenVPN Connect. Затем скопируйте файл конфигурации клиента /etc/openvpn/$YOUR_CLIENT_NAME.ovpn в хранилище устройства. Откройте файл конфигурации в приложениях OpenVPN.

Клиент OpenVPN вашего телефона должен автоматически заботиться о клиентских частях.

на сервере

На сервере включить переадресацию IP во время выполнения:

Редактируйте /etc/sysctl.conf, раскомментируйте следующую строку, чтобы сделать ее постоянной:

Выполните следующую команду на сервере для тестирования (по-старому):

Выполните следующую команду на сервере для тестирования (начиная с Bullseye):

В качестве альтернативы вы также можете использовать сценарий rc.firewall-iptables из TLDP Masquerade.

Если все работает нормально, сохраните правила: страницы Debian wiki iptables и nftables для подробностей.

В целях безопасности рекомендуется настроить PKI на сервере, отличном от сервера openvpn.

    Прежде всего, убедитесь, что порт 443 уже не используется другой службой на вашем сервере.
  1. Теперь вы должны запустить OpenVPN на сервере, а затем на клиенте.

Включите параметр в файле конфигурации сервера, добавив:

Подключиться к этому интерфейсу:

Узнайте, как установить клиент OpenVPN в Debian 11 Bullseye Linux, чтобы подключить VPN-сервер для установления безопасного соединения. Он был написан Джеймсом Йонаном и впервые выпущен в 2001 году под лицензией с открытым исходным кодом.

OpenVPN – это популярное бесплатное программное обеспечение с открытым исходным кодом. Он доступен в архитектуре клиент-сервер и может быть установлен на компьютерах, серверах или сетевых устройствах, таких как маршрутизаторы, и поддерживает такие операционные системы, как Windows, Linux, macOS, Solaris, OpenBSD, Android и многие другие.

Его можно использовать для реализации зашифрованных частных сетей между отдельными клиентами или целыми сетями. Чтобы соединение было установлено, программное обеспечение OpenVPN должно быть доступно и соответствующим образом настроено с обеих сторон. Программное обеспечение передает пользовательские данные через пакеты TCP или UDP. Программное обеспечение VPN также можно использовать через границы NAT (NAT — преобразование сетевых адресов). Обмен данными в VPN осуществляется через SSL/TLEncrypted. Для шифрования используется библиотека OpenSSL.

С помощью бесплатного программного обеспечения OpenVPN вы можете настроить виртуальную частную сеть и установить безопасное подключение к Интернету. Это соединение также известно как «туннель».

Шаги по установке клиента OpenVPN в Debian 11 Bullseye Linux

Здесь мы видим только шаги по установке клиента OpenVPN на Debian, которые будут одинаковыми для других похожих на него Linux, таких как Ubuntu, MX Linux, POP OS, Linux Mint и других…

1. Откройте командный терминал

В открытом командном терминале Debian Linux, если вы используете серверную версию CLI, она у вас уже есть.

2. Запустить обновление APT

Первое, с чего следует начать, – запустить команду обновления с помощью диспетчера пакетов APT. Это установит последние доступные обновления, а также обновит кэш репозитория.

3. Установите OpenVPN на Debian 11

Самое лучшее в OpenVPN то, что он с открытым исходным кодом, поэтому его легко установить, используя стандартный репозиторий Debian 11 с помощью диспетчера пакетов APT.

4. Проверить версию

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

Установить клиент OpenVPN на Debian 11 Bullseye

Чтобы проверить доступный вариант:

команда openvpn параметры

5. Графический интерфейс клиента OpenVPN

Если вы используете интерфейс Gnome по умолчанию в Debian 11, запустите данную команду, чтобы получить графический пользовательский интерфейс для простого подключения к серверу OpenVPN.

Открыть настройки Gnome
Подключите OpenVPN-сервер с помощью GUI-клиента
OpenVPN GUI

6. Как обновить

В будущем просто запустите команду обновления и обновления системы, чтобы получить последнюю доступную версию клиента OpenVPN в Debian 11 Bullseye Linux.

7. Удалить или удалить

Те, кому больше не нужно это клиентское приложение в своей системе Linux на базе Debian, могут удалить его с помощью диспетчера пакетов APT.

В этом руководстве мы узнаем, как установить OpenVPN Server в Debian 11/Debian 10.

Установите сервер OpenVPN в Debian 11/Debian 10

Запустить обновление системы

Установите OpenVPN в Debian 11/Debian 10

Пакет OpenVPN доступен в репозиториях Debian 11/Debian 10 по умолчанию.

Создание инфраструктуры открытого ключа OpenVPN

  • открытый ключ и закрытый ключ для сервера и каждого клиента
  • сертификат главного центра сертификации (ЦС) и ключ, которые используются для подписи каждого сертификата сервера и клиента.

Поэтому скопируйте каталог конфигурации easy-rsa в другое место, чтобы гарантировать, что будущие обновления пакета OpenVPN не перезапишут ваши изменения.

Далее инициализируйте PKI.

Пример вывода команды

Создайте сертификат и ключ центра сертификации (CA)

Далее сгенерируйте сертификат ЦС и ключ для подписи сертификатов сервера и клиента OpenVPN.

При этом вам будет предложено ввести кодовую фразу ключа ЦС и общее имя сервера.

Сертификат ЦС создается и сохраняется в /etc/easy-rsa/pki/ca.crt .

Сгенерировать параметры Диффи-Хеллмана

Создайте ключи Диффи-Хеллмана, используемые для обмена ключами во время рукопожатия TLS между сервером OpenVPN и подключающимися клиентами. Эта команда была выполнена в каталоге Easy-RSA;

Параметры DH размером 2048 будут созданы в /etc/easy-rsa/pki/dh.pem .

Создать сертификат и ключ сервера OpenVPN

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

Введите парольную фразу ключа ЦС, созданную выше, чтобы сгенерировать сертификаты и ключи.

nopass отключает использование фразы-пароля.

Создать ключ кода аутентификации сообщения на основе хэша (HMAC)

Предварительно общий ключ аутентификации TLS/SSL используется в качестве дополнительной подписи HMAC для всех пакетов рукопожатия SSL/TLS, чтобы избежать DoS-атак и переполнения портов UDP. Это можно сгенерировать с помощью команды;

Создать сертификат отзыва OpenVPN

Чтобы аннулировать ранее подписанный сертификат, необходимо создать сертификат отзыва.

Запустите скрипт в каталоге Easy-RSA;

Сертификат отзыва создается и сохраняется в /etc/easy-rsa/pki/crl.pem .

Копировать сертификаты и ключи сервера в каталог конфигурации сервера

Скопируйте все сгенерированные сертификаты/ключи сервера в каталог конфигурации сервера OpenVPN.

Создание сертификатов и ключей клиента OpenVPN

  • где коромича — имя клиента, для которого генерируются сертификат и ключи.
  • Всегда используйте уникальное общее имя для каждого клиента, для которого вы создаете сертификат и ключи.

Пример вывода команды

Чтобы сгенерировать для второго клиента,

Вы можете увидеть, как использовать команду easyrsa с помощью ./easyrsa --help .

Копировать сертификаты и ключи клиента в каталог клиента

Создайте каталоги клиентов OpenVPN. Например, мы сгенерировали сертификаты и ключевые файлы для двух клиентов, koromicha и janedoe, поэтому мы создаем каталоги как;

После этого скопируйте сгенерированные клиентом сертификаты/ключи и сертификат ЦС сервера в каталог конфигурации клиента OpenVPN. Вы можете

Настройка сервера OpenVPN в Debian 11/Debian 10

Следующий шаг — настроить сервер OpenVPN. Скопируйте образец конфигурации сервера OpenVPN в каталог /etc/openvpn/server, как показано ниже;

Извлеките конфигурацию.

Измените файл конфигурации server.conf в соответствии с вашими потребностями;

Вот так выглядят наши конфигурации без комментариев.

Сохраните и выйдите из конфигурации после редактирования.

Настройка IP-переадресации OpenVPN

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

Раскомментируйте строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf, чтобы включить пересылку пакетов для IPv4

Примените изменения без перезагрузки сервера.

Разрешить порт службы OpenVPN через брандмауэр;

Настройка маскировки IP-адресов на UFW

Найдите интерфейс по умолчанию, через который отправляются ваши пакеты.

Далее обновите правила UFW;

Добавьте следующие выделенные строки непосредственно перед параметрами *filter table. Обратите внимание, что используемый интерфейс должен совпадать с именем интерфейса, указанным выше.

Сохранить и выйти из конфигурации.

Включить пересылку пакетов UFW

Запуск сервера OpenVPN в Debian 11/Debian 10

Запустите и включите сервер OpenVPN для запуска при загрузке системы;

Проверка статуса;

При запуске службы OpenVPN создается туннельный интерфейс tun0;

Кроме того, обязательно проверьте журналы;

Сервер OpenVPN теперь готов принимать и маршрутизировать подключения от клиентов.

На этом наше руководство по установке OpenVPN Server в Debian 11/Debian 10 заканчивается.

В Linux мы можем делать множество вещей, и одна из них — создать собственную VPN. Для этого мы будем использовать известные инструменты, такие как OpenVPN и наш любимый Debian 11. Итак, в этом посте вы узнаете, как установить OpenVPN Server на Debian 11.

Что такое OpenVPN

В двух словах OpenVPN – это служба, используемая для создания виртуальных частных сетей. То есть он позволяет связать два узла, которые подключены через Интернет, но не в одном и том же месте, как если бы это была локальная сеть.

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

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

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

Хотя настройка VPN никогда не была простой задачей, на самом деле это не так уж и сложно благодаря архитектуре OpenVPN и инструментам сообщества.

Итак, приступим.

Установите сервер OpenVPN в Debian 11

Благодаря фантастической работе, проделанной сообществом, у нас есть полностью рабочий и простой в использовании скрипт установки.

  • Устанавливает и настраивает готовый к использованию сервер OpenVPN
  • Правила Iptables и переадресация управляются без проблем
  • При необходимости скрипт может полностью удалить OpenVPN, включая конфигурацию и правила iptables.
  • Настраиваемые параметры шифрования, расширенные настройки по умолчанию
  • Возможности OpenVPN 2.4, в основном улучшения шифрования
  • Различные преобразователи DNS для передачи клиентам
  • Выбор использования локального преобразователя с Unbound (поддерживает уже существующие установки Unbound)
  • Выбор между TCP и UDP

И еще кое-что. Все очень просто в использовании. Давайте сделаем это.

Итак, загрузите скрипт, запустив

Если у вас не установлен пакет curl, вы можете это сделать

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

Вы увидите следующий вывод. Он покажет IP-адрес сервера или нам придется его определить. Вам также будет предложено ввести некоторую информацию.

Затем нас спросят, хотим ли мы включить IPv6, который отключен по умолчанию.

По умолчанию OpenVPN использует порт 1194, который мы можем изменить на следующем экране.

Продолжение процесса настройки

Кроме того, нам нужно установить протокол, который будет использовать OpenVPN.

Для OpenVPN требуется DNS-сервер, поэтому на этом экране вы должны определить его из списка.

Теперь вас спросят, хотите ли вы использовать сжатие. Там вам сообщат, что это не рекомендуется, но это ваш выбор.

Если вы действительно знаете, как манипулировать OpenVPN, вы можете настроить параметры шифрования. Если нет, не делайте этого.

Затем начнется весь процесс установки. Когда придет время добавить нового клиента, вы увидите следующий экран вывода, где вам нужно будет определить имя клиента.

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

Затем вы будете проинформированы об успешном завершении процесса.

Теперь все, что вам нужно сделать, это загрузить файл atechtown.ovpn и скопировать его в клиент, чтобы он мог подключаться из графического интерфейса вашего диспетчера соединений или через терминал с помощью команды

В этом посте вы узнали, как установить OpenVPN на Debian 11 и настроить его с помощью скрипта, который все упрощает. В этом аспекте OpenVPN очень гибок, и его полезность хорошо доказана.


сообщить об этом объявлении

Раскрытие партнерской информации

Этот веб-сайт содержит партнерские ссылки. Мы получаем небольшую комиссию за покупки, совершенные по партнерским ссылкам (без дополнительной оплаты для вас)

Читайте также: