Настройка сервера Debian openvpn

Обновлено: 30.06.2024

В этом руководстве мы узнаем, как установить 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 заканчивается.


Виртуальная частная сеть (VPN) – это безопасное и зашифрованное соединение между двумя сетями и отдельными пользователями, которое защищает ваше подключение к Интернету и конфиденциальность в Интернете. OpenVPN — это бесплатный VPN-протокол с открытым исходным кодом, в котором реализованы методы создания безопасных соединений «точка-точка» в конфигурациях с маршрутизацией. Он кроссплатформенный и совместим со всеми основными операционными системами.

В этом руководстве мы покажем вам, как установить и настроить OpenVPN на сервере Debian 10.

Оглавление

Предпосылки

  • Debian 10 VPS (мы будем использовать наш план SSD 2 VPS)
  • Доступ к учетной записи пользователя root (или доступ к учетной записи администратора с привилегиями root)

Шаг 1. Войдите на сервер и обновите пакеты операционной системы сервера

Сначала войдите на свой сервер Debian 10 через SSH как пользователь root:

Вам нужно будет заменить «IP_Address» и «Port_number» соответствующим IP-адресом вашего сервера и номером порта SSH. Кроме того, при необходимости замените «root» именем пользователя учетной записи администратора.

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

Шаг 2. Установите OpenVPN и EasyRSA

По умолчанию OpenVPN включен в репозиторий Debian по умолчанию. Вы можете установить его с помощью следующей команды:

После установки пакета OpenVPN вам нужно будет загрузить EasyRSA в свою систему.

EasyRSA — это утилита командной строки для создания и управления PKI CA. Он позволяет создавать несколько типов сертификатов.
Он используется для создания корневого центра сертификации, а также для запроса и подписи сертификатов для OpenVPN.

Вы можете загрузить последнюю версию EasyRSA из репозитория Git с помощью следующей команды:

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

Затем скопируйте извлеченный каталог в каталог OpenVPN:

На этом этапе на вашем сервере установлены OpenVPN и EasyRSA.

Шаг 3. Создайте центр сертификации

Затем вам нужно будет создать центр сертификации (ЦС) для OpenVPN.

Сначала измените каталог на EasyRSA с помощью следующей команды:

Далее вам нужно будет создать внутри него файл vars. Файл vars — это простой файл, который Easy-RSA будет использовать для настройки.

Вы можете создать его с помощью следующей команды:

Добавьте следующие строки в соответствии с вашими потребностями:

Сохраните и закройте файл, когда закончите.

Затем инициируйте инфраструктуру открытого ключа с помощью следующей команды:

Вы должны получить следующий результат:

Далее вам нужно будет запустить команду build-ca, чтобы создать файлы ca.crt и ca.key. Вы можете запустить его с помощью следующей команды:

Вам будет задано несколько вопросов, как показано ниже:

Шаг 4. Создание сертификата сервера и файлов ключей

Далее вам нужно будет использовать команду gen-req, за которой следует обычное имя, чтобы сгенерировать ключ сервера.

Вы должны увидеть следующий вывод:

Далее вам нужно будет подписать ключ vpnserver с помощью вашего сертификата ЦС. Вы можете сделать это с помощью следующей команды:

Вы должны получить следующий результат:

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

Шаг 5. Скопируйте все файлы сертификатов и ключей

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

Шаг 6. Создайте сертификат клиента и файл ключа

Далее вам нужно будет сгенерировать сертификат и файл ключа для клиентской системы.

Вы можете создать его с помощью следующей команды:

Вы должны получить следующий результат:

Затем подпишите ключ клиента с помощью следующей команды:

Вы должны получить следующий результат:

Затем скопируйте все клиентские сертификаты и ключи в каталог /etc/openvpn/client/.

Шаг 7. Настройте сервер OpenVPN

На этом этапе сертификат и ключ сервера и клиента готовы. Теперь вам нужно создать файл конфигурации OpenVPN и определить все сертификаты и ключи.

Добавьте следующие строки:

Сохраните и закройте файл, затем запустите службу OpenVPN и включите ее запуск при перезагрузке системы:

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

Вы должны получить следующий результат:

Шаг 8. Включите IP-переадресацию

Переадресация IP позволяет вашей операционной системе принимать входящие сетевые пакеты и пересылать их в другую сеть.Вы можете включить его с помощью следующей команды:

Раскомментируйте или добавьте следующую строку:

Сохраните файл, затем примените изменения конфигурации с помощью следующей команды:

Шаг 9. Установите и настройте клиент OpenVPN

Далее вам нужно будет установить клиент OpenVPN в другой системе и подключиться к серверу OpenVPN.

Сначала установите OpenVPN с помощью следующей команды:

После установки скопируйте все сертификаты и ключи клиента с сервера OpenVPN на клиентский компьютер. Вы можете сделать это с помощью следующей команды:

Затем измените каталог на client и создайте файл конфигурации клиента:

Добавьте следующие строки:

Сохраните и закройте файл, затем подключитесь к серверу OpenVPN с помощью следующей команды:

После того как соединение установлено, вы должны получить следующий вывод:

Вы можете проверить интерфейс OpenVPN на клиентском компьютере с помощью следующей команды:

Вы должны получить следующий результат:

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

ПС. Если вам понравился этот пост о том, как установить OpenVPN на Ubuntu, поделитесь им с друзьями в социальных сетях, используя кнопки слева, или просто оставьте ответ ниже. Спасибо.

3 мысли о «Как настроить сервер OpenVPN в Debian 10»

Что-то у меня не так — ниже сервер работает, но я не подключаюсь к своему VPN-серверу

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

Привет, я снова все проверил, и моя ошибка была исправлена. теперь все работает нормально
спасибо за инструкцию.
Мэтт Ноттс

Виртуальная частная сеть (VPN) – это протокол, используемый для обеспечения безопасности и конфиденциальности частных и общедоступных сетей. VPN отправляют трафик между двумя или более устройствами в сети в зашифрованном туннеле. После установления VPN-подключения весь сетевой трафик шифруется на стороне клиента. Виртуальные частные сети маскируют ваш IP-адрес, чтобы ваши действия в сети практически невозможно было отследить.

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

В этом руководстве мы покажем вам, как установить и настроить сервер и клиент OpenVPN на сервере Debian 10.

Начало работы

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

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

После обновления вашей системы вы можете перейти к следующему шагу.

Шаг 1. Включите IP-переадресацию

Затем вам необходимо включить переадресацию IP-адресов в вашей системе. Переадресация IP позволяет вашей операционной системе принимать входящие сетевые пакеты и пересылать их в другую сеть, если пункт назначения находится в другой сети.

Чтобы включить переадресацию IP, отредактируйте файл /etc/sysctl.conf:

Добавьте следующую строку:

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

Шаг 2. Установите сервер OpenVPN

По умолчанию пакет OpenVPN доступен в репозитории по умолчанию Debian 10. Вы можете установить его с помощью следующей команды:

После завершения установки вам также потребуется скопировать каталог easy-rsa для управления SSL-сертификатами.

Выполните следующую команду, чтобы скопировать каталог easy-rsa из каталога /usr/share в каталог /etc/openvpn.

Шаг 3. Настройка центра сертификации

Easy RSA использует набор сценариев для создания ключей и сертификатов. Во-первых, вам необходимо настроить центр сертификации в вашей системе.

Для этого измените каталог на /etc/openvpn/easy-rsa и создайте новый файл конфигурации Easy RSA:

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

По завершении сохраните файл.

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

Далее создайте сертификаты ЦС с помощью следующей команды:

Вы должны получить следующий результат:

Приведенная выше команда создаст два файла с именами ca.key и ca.crt. Эти сертификаты будут использоваться для подписи сертификатов вашего сервера и клиентов.

Шаг 4. Создание файлов сертификатов сервера

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

Выполните следующую команду, чтобы сгенерировать ключ сервера с именем tecadmin-server:

Вы должны получить следующий результат:

Шаг 5. Подпишите ключ сервера с помощью ЦС

Далее вам нужно будет подписать ключ tecadmin-server с помощью вашего сертификата ЦС:

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

Вы должны получить следующий результат:

Далее проверьте сгенерированный файл сертификата с помощью следующей команды:

Если все в порядке, вы должны получить следующий вывод:

Затем выполните следующую команду, чтобы сгенерировать надежный ключ Диффи-Хеллмана, который будет использоваться для обмена ключами:

Вы должны получить следующий результат:

После создания всех файлов сертификатов скопируйте их в каталог /etc/openvpn/server/:

Шаг 6. Создание сертификата клиента и файла ключа

Далее вам нужно будет сгенерировать файл ключа и сертификата для клиента.

Сначала выполните следующую команду, чтобы создать файл ключа клиента:

Вы должны увидеть следующий вывод:

Далее подпишите ключ клиента, используя сертификат центра сертификации:

Вы должны получить следующий результат:

Затем скопируйте все клиентские сертификаты и файлы ключей в каталог /etc/openvpn/client/:

Шаг 7. Настройка сервера OpenVPN

Далее создайте новый файл конфигурации OpenVPN в каталоге /etc/openvpn/:

Добавьте следующие строки:

По завершении сохраните файл.

Шаг 8. Запустите службу OpenVPN

Теперь OpenVPN установлен и настроен. Теперь вы можете запустить службу OpenVPN и разрешить ее запуск после перезагрузки системы с помощью следующей команды:

Выполните следующую команду, чтобы проверить статус службы OpenVPN:

Вы должны получить следующий результат:

После успешного запуска службы OpenVPN будет создан новый сетевой интерфейс с именем tun0. Вы можете проверить это с помощью следующей команды:

Вы должны получить новый интерфейс tun0 в следующем выводе:

Шаг 9. Создание конфигурации клиента

Далее создайте новый файл конфигурации клиента OpenVPN с именем client.ovpn. Этот файл потребуется для подключения вашего сервера OpenVPN из клиентской системы.

Добавьте следующие строки:

По завершении сохраните файл.

Шаг 10. Настройка маршрутизации с помощью UFW

По умолчанию брандмауэр UFW не установлен в Debian 10. Его можно установить с помощью следующей команды:

После установки брандмауэра UFW вам потребуется добавить правила брандмауэра, чтобы включить маскировку, чтобы ваши VPN-клиенты имели доступ к Интернету.

Во-первых, вам нужно настроить UFW для приема пересылаемых пакетов. Вы можете сделать это, отредактировав файл /etc/default/ufw:

Измените следующую строку:

Добавьте следующие строки в конец файла:

По завершении сохраните файл.

Примечание. Замените ens3 именем вашего общедоступного сетевого интерфейса.

Далее разрешите порт OpenVPN по умолчанию 1194 и OpenSSH с помощью следующей команды:

Затем перезагрузите брандмауэр UFW с помощью следующей команды:

Шаг 11. Подключите OpenVPN из клиента

Сначала войдите на клиентский компьютер и установите пакет OpenVPN с помощью следующей команды:

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

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

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

Вы должны увидеть следующий вывод:

После успешного подключения OpenVPN назначит вашей системе IP-адрес. Вы можете проверить это с помощью следующей команды:

Вы также можете проверить журнал сервера OpenVPN, чтобы проверить статус подключения:

Вы должны увидеть следующий вывод:

Заключение

Поздравляем! вы успешно установили и настроили сервер OpenVPN и клиент на сервере Debian 10. Теперь вы можете безопасно подключаться к Интернету и защищать свою личность.

Также стоит упомянуть, что сервер OpenVPN также можно развернуть как контейнер Docker. Процесс установки можно посмотреть здесь — ССЫЛКА.

Установка сервера OpenVPN

<р>1. Загрузите скрипт установки:

Если вы используете минимальную версию Debian, у нее может не быть инструмента curl, но установка выполняется просто с помощью:

<р>2. Сделайте его исполняемым и запустите:

<р>3. Общедоступные и частные IP-адреса: сценарий начнет процесс установки с ряда вопросов, за которыми следует приглашение и ваш ответ, чтобы настроить OpenVPN сразу после его установки. В первом запросе вас спросят — находится ли ваша машина Debian за NAT, и укажите общедоступный IP-адрес сервера:

установить сервер openvpn на debian

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

<р>4.IPv6 и номер порта: следующие запросы будут: хотите ли вы включить поддержку IPv6, для которой по умолчанию установлено значение НЕТ, и вы оставляете ее как есть, и какой порт использовать для OpenVPN для установления соединения. OpenVPN по умолчанию использует порт 1194, но вы также можете установить собственный порт:


<р>5. Преобразователь DNS и сжатие: OpenVPN требует использования преобразователя DNS. Это может быть почти любой, но вы можете установить Google или OpenDNS (вариант 8 или 9). Для сжатия используйте NO, который установлен по умолчанию:

установить сервер openvpn на debian

<р>6. Шифрование: Здесь у нас есть 3 подсказки для настроек шифрования. Вы можете выбрать НЕТ для всех 3, если вы не уверены или не знаете, как его установить и настроить. Вы можете оставить значение НЕТ, так как по умолчанию сценарий установки сгенерирует сертификат SSL и включит его в конфигурацию клиента, которая также зашифрует туннель VPN. После этих подсказок он уведомит о необходимости нажать любую клавишу для завершения установки. Затем он начнется и закончится через пару минут.


<р>7. Настройки и параметры клиента: введите имя для первого клиентского устройства.


<р>8. Защитите файл конфигурации клиента паролем: у вас есть возможность установить пароль для клиента, чтобы он мог подключаться к серверу или нет.


<р>9. Завершение и загрузка файла конфигурации клиента .ovpn: здесь сценарий уведомляет вас о том, что установка и настройка завершены, и о том, куда он поместил файл конфигурации клиента, который необходимо загрузить и разместить на своем клиенте.


Подключение клиента к серверу OpenVPN

Как уже упоминалось, после установки загрузите клиентский файл .ovpn (вы можете использовать SSH-клиент со встроенным файловым менеджером, таким как MobaxTerm или Bitwise или аналогичный). В Linux вы можете загрузить файл с помощью sftp:

Файл будет загружен в ваш домашний каталог.

Если вы используете версию оболочки клиента openvpn (без графического интерфейса), для подключения просто в терминале запустите openvpn с именем файла и расположением файла конфигурации вашего клиента .ovpn:


В версии с графическим интерфейсом вы можете просто импортировать файл конфигурации и все.

Добавление другого клиента

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

установить сервер openvpn на debian

Процедура проста и такая же, как при создании первого клиента. Добавьте имя и загрузите клиент.

Настройка брандмауэра

Если на вашем сервере установлен брандмауэр, такой как UFW или IPTABLE, то для работы VPN необходимо открыть порт на вашем сервере:

Обзор

Подводя итоги статьи, мы рассмотрели процесс установки сервера OpenVPN в Debian 10 и Debian 11 с помощью сценария автоматической установки из Github, который ускоряет и упрощает процесс. Причина, по которой мы выбрали этот сценарий, заключается в том, что он может помочь нам развернуть серверное решение OpenVPN за считанные минуты, а также охватывает и автоматизирует большую часть конфигурации для наиболее распространенных сценариев использования. Помимо этого метода, мы также рассмотрели процедуру установки сервера OpenVPN с помощью Docker, которую можно проверить в этом посте.

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