Конфигурация VPN сервера

Имя пакета: fly-admin-openvpn-server
Версия пакета: 0.1.11+ci1 и выше
Условия работы: запуск программы выполняется от имени администратора

Общие сведения

Программа позволяет развернуть и настроить сервер OpenVPN в графическом режиме.

Запуск

Программа запускается:

  • в графическом интерфейсе:
    • через меню Пуск — Параметры — Клиент и сервер — Настройка OpenVPN сервера Fly;
    • через классическое меню Пуск — Параметры — Сеть — Настройка OpenVPN сервера Fly;
  • из терминала — выполнить команду:

sudo fly-admin-openvpn-server

Первоначальная настройка VPN-сервера

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

  • создан файл конфигурации VPN-сервера — содержит достаточные настройки по умолчанию для запуска VPN-сервера;
  • создан локальный центр аутентификации и выпущены необходимые для работы сертификаты;
  • выбран метод защитного преобразования — метод защиты канала передачи информации по VPN-соединению. Если на компьютере, на котором развернут VPN-сервер, установлены библиотеки, поддерживающие метод защитного преобразования по алгоритму ГОСТ Р 34.12-2015 («Кузнечик»), то будет выбран данный метод. В ином случае по умолчанию будет выбран метод AES-256-GCM;
  • выполнена настройка сетевого интерфейса (IP-адрес VPN-сервера идентичен IP-адресу компьютера, на котором он развернут);
  • выполнены настройки в операционной системе, необходимые для работы VPN-сервера.

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

«VPN-сервер остановлен»

Запуск сервера

Для запуска VPN-сервера необходимо в окне программы нажать [Запустить]. В нижней части окна будут отображаться операции, связанные с запуском VPN-сервера, и по завершении будет выведено сообщение:

«VPN-сервер запущен»

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

Для остановки работы VPN-сервера необходимо в главном окне программы нажать [Остановить].

Настройки сервера

Настройки сети

Чтобы настроить сетевые параметры подключения к VPN-серверу необходимо:

  • в главном окне программы перейти во вкладку Настройки;
  • указать информацию о сетевом подключении:
    • в поле Адрес подсети ввести IP-адрес создаваемой виртуальной частной сети (VPN). По умолчанию установлено значение 10.8.0.0 (поддерживается только формат адресов протокола IPv4);
    • в поле Маска подсети ввести маску создаваемой виртуальной частной сети. По умолчанию установлено значение 255.255.255.0 (поддерживается только формат масок протокола IPv4);
    • в поле Порт ввести номер порта, по которому будет выполняться подключение к VPN-серверу. По умолчанию установлено значение 1194 (данный порт зарезервирован для OpenVPN);
    • из выпадающего списка Протокол выбрать протокол, который будет использоваться для подключения. Доступны протоколы UDP и TCP;
    • из выпадающего списка Интерфейс выбрать интерфейс сетевого подключения;
  • для применения изменений необходимо в главном окне программы нажать [Остановить], затем [Запустить].

Выбор защитного преобразования

Для выбора алгоритма защитного преобразования необходимо:

  • в главном окне программы перейти во вкладку Настройки;
  • из выпадающего списка Метод защитного преобразования выбрать нужный алгоритм:
    • kuznyechik-cbc — алгоритм «Кузнечик», утвержден в качестве стандарта в ГОСТ Р 34.12-2015 и рекомендуется для применения. Установлен по умолчанию;
    • AES-256-GCM — алгоритм со встроенным механизмом аутентификации, допускается для применения;
    • AES-256-CBC — алгоритм без встроенного механизма аутентификации, допускается для применения;
    • AES-128-CBC — алгоритм с наименьшей криптографической стойкостью, к применению не рекомендуется;
  • для применения изменений необходимо перезапустить VPN-сервер, нажав [Остановить], затем [Запустить].

Расширенные настройки сервера

Сертификаты и ключи

Для создания удаленного подключения к VPN-серверу используются сертификаты и ключи. Предустановленные файлы сертификатов и ключей VPN-сервера по умолчанию хранятся в каталоге /etc/openvpn/keys/. По умолчанию сгенерированы следующие сертификаты и ключи:

  • Сертификат сервера — файл сертификата открытого ключа VPN-сервера;
  • Сертификат ЦС — файл сертификата открытого ключа центра аутентификации;
  • Закрытый ключ сервера — файл закрытого ключа VPN-сервера;
  • Файл Диффи-Хеллмана — файла протокола обмена ключей Диффи-Хеллмана;
  • Файл аутентификации TLS — файл ключа аутентификации TLS.

Для того чтобы заменить ключи и/или сертификаты VPN-сервера, необходимо:

  • в главном окне программы перейти во вкладку Настройки;
  • нажать [Показать расширенные настройки];
  • нажать [Выбрать] напротив поля с указанием пути к сертификату или ключу, который необходимо заменить;
  • в открывшемся окне Выбрать файл указать путь к файлу ключа или сертификата и нажать [Открыть];
  • для применения изменений необходимо перезапустить VPN-сервер, нажав [Остановить], затем [Запустить].

Сброс сертификатов сервера и клиентов

Для удаления всех сертификатов и ключей VPN-сервера и файлов сертификатов и ключей клиентов с последующим выпуском новых сертификатов сервера необходимо:

  • в главном окне программы перейти во вкладку Настройки;
  • нажать [Показать расширенные настройки];
  • нажать [Сбросить сертификаты];
  • в открывшемся окне нажать [Да] для подтверждения.

После этого будут выполнены следующие действия:

  • остановлен VPN-сервер;
  • удалены все файлы сертификатов VPN-сервера, центра аутентификации и клиентов;
  • создан новый файл сертификата открытого ключа центра аутентификации;
  • создан новый файл сертификата открытого ключа VPN-сервера;
  • создан файл закрытого ключа VPN-сервера;
  • создан файл протокола обмена ключей Диффи-Хеллмана;
  • создан файл ключа аутентификации TLS;
  • повторно запущен VPN-сервер.

После удаления сертификатов VPN-сервера клиентские сертификаты станут недействительными и клиенты утратят возможность подключения к VPN-серверу.

Для повторной организации подключения клиента необходимо создать клиентские сертификаты (см. Создание сертификата), а затем скопировать их (см. Копирование сертификатов).

Редактирование конфигурационного файла

Для редактирования конфигурационного файла VPN-сервера необходимо:

  • в главном окне программы перейти во вкладку Настройки;
  • нажать [Показать расширенные настройки];
  • нажать [Открыть файл конфигурации openvpn]. Конфигурационный файл /etc/openvpn/server.conf будет открыт в текстовом редакторе Kate;
  • отредактировать конфигурационный файл, изменив необходимые параметры. Подробное описание параметров конфигурационного файла приведено в man openvpn;
  • сохранить отредактированный конфигурационный файл (потребуется ввод пароля администратора) и закрыть его;
  • для применения изменений в главном окне программы перезапустить VPN-сервер, нажав [Остановить], затем [Запустить].

Настройка клиентских сертификатов

Создание сертификата

Для аутентификации клиентов на VPN-сервере используются клиентские сертификаты.

Для создания клиентского сертификата необходимо:

  • в главном окне программы перейти во вкладку Клиентские сертификаты;
  • нажать [Создать сертификат];
  • в открывшемся окне Создать клиентский сертификат заполнить следующие поля:
    • Имя пользователя — уникальное имя сертификата пользователя;
    • Страна — краткое обозначение страны (два символа);
    • Область — название области;
    • Город — название города;
    • Организация — название организации;
    • EMail — адрес электронной почты пользователя;
    • Отдел — название подразделения в организации;
  • для сохранения изменений нажать [Да].

Созданный сертификат отобразится в таблице Клиенты. В каталоге /etc/opnvpn/clients_keys/ будет создана папка с именем клиента.

Папка клиента содержит следующие файлы:

  • закрытый ключ с указанным именем клиента (например, ivanov.key). Для закрытого ключа возможно установить пароль c помощью инструментов командной строки (подробное описание приведено в man openvpn);
  • сертификат открытого ключа, подписанный центром аутентификации (например, ivanov.crt);
  • файл центра аутентификации (ca.crt);
  • файл аутентификации TLS (ta.key);
  • конфигурационный файл клиента OpenVPN (client.ovpn).

Отзыв сертификата

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

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

  • в главном окне программы перейти во вкладку Клиентские сертификаты;
  • в таблице Клиенты выбрать пользователя, сертификат которого необходимо отозвать;
  • нажать [Отозвать сертификат];
  • для применения изменений перезапустить VPN-сервер, нажав [Остановить], затем [Запустить].

Копирование сертификатов

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

Для копирования клиентских сертификатов необходимо:

  • в главном окне программы перейти во вкладку Клиентские сертификаты;
  • нажать [Открыть папку сертификатов];
  • в открывшемся окне менеджера файлов выбрать папку с ключами и сертификатами нужного пользователя (например, /etc/openvpn/clients_keys/ivanov/);
  • скопировать папку с ключами и сертификатами нужного пользователя и перенести их в необходимую папку на клиенте (например, /etc/openvpn/client/).

Применение ключей и сертификатов на клиенте см. Настройка клиента.

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

Ручная настройка подключения к VPN-серверу

Способы настройки удаленного подключения к VPN-серверу зависят от используемой ОС, используемого программного обеспечения и т.д.

Перед созданием удаленного подключения необходимо скопировать с компьютера, на котором развернут VPN-сервер, папку с ключами и сертификатами конкретного пользователя (см. Копирование сертификатов) и поместить ее на клиенте в каталог /etc/openvpn/client/.

Далее рассмотрено создание удаленного подключения на примере ОС семейства Astra Linux.

Чтобы создать удаленное подключение к VPN-серверу, необходимо:

  • на клиенте в области уведомлений панели задач правой кнопкой мыши вызвать контекстное меню сетевого соединения и выбрать Параметры соединений;
  • в открывшемся окне Сетевые соединения нажать [Добавить новое соединение];
  • в открывшемся окне Выберите тип соединения из выпадающего списка выбрать OpenVPN и нажать [Создать].

После этого будет создано новое VPN-соединение и откроется окно Изменение Соединение VPN 1, в котором необходимо выполнить следующие настройки:

  • в поле Имя соединения ввести имя соединения для подключения к VPN-серверу;
  • перейти во вкладку VPN и указать информацию о соединении:
    • в секции Общие в поле Шлюз ввести IP-адрес VPN-сервера и порт подключения;
    • в секции Аутентификация:
      • из выпадающего списка Тип выбрать Сертификаты (TLS);
      • в поле Сертификат CA нажать левой кнопкой мыши и в открывшемся окне выбрать файл центра аутентификации (ca.crt);
      • в поле Сертификат Пользователь нажать левой кнопкой мыши и в открывшемся окне выбрать файл сертификата открытого ключа, подписанного центром аутентификации (например, ivanov.crt);
      • в поле Приватный ключ Пользователь нажать левой кнопкой мыши и в открывшемся окне выбрать файл закрытого ключа с именем клиента VPN-сервера (например, ivanov.key);
      • если для закрытого ключа был установлен пароль, то ввести его в поле Пароль приватного ключа Пользователь, в ином случае — оставить поле пустым. Чтобы отобразить/скрыть пароль при вводе — установить/снять флаг Показывать пароль;
  • для применения изменений нажать [Сохранить].

Кнопка [Дополнительно] позволяет настроить дополнительные параметры, которые могут потребоваться для соединения с VPN-серверами различных модификаций (например, OpenConnect). Изменять дополнительные параметры не рекомендуется, т.к. это может привести к сбоям при подключении к VPN-серверу.

Настройка подключения с использованием готовой конфигурации VPN

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

Перед созданием удаленного подключения необходимо скопировать с компьютера, на котором развернут VPN-сервер, папку с ключами, сертификатами и конфигурационным файлом конкретного пользователя (см. Копирование сертификатов) и поместить ее на клиенте в каталог /etc/openvpn/client/.

Чтобы создать удаленное подключение к VPN-серверу, необходимо:

  • на клиенте в области уведомлений панели задач правой кнопкой мыши вызвать контекстное меню сетевого соединения и выбрать Параметры соединений;
  • в открывшемся окне Сетевые соединения нажать [Добавить новое соединение];
  • в открывшемся окне Выберите тип соединения из выпадающего списка выбрать Импортировать сохраненную конфигурацию VPN и нажать [Создать];

  • в открывшемся окне выбрать конфигурационный файл клиента OpenVPN (например, /etc/openvpn/client/ivanov/client.ovpn) и нажать [Открыть];
  • откроется окно Изменение <имя_соединения>, в котором необходимо:
    • в поле Имя соединения ввести имя соединения для подключения к VPN-серверу;
    • во вкладке VPN с импортированными параметрами подключения проверить, что:
      • в поле Шлюз указан IP-адрес VPN-сервера и порт подключения;
      • из выпадающего списка Тип выбран Сертификаты (TLS);
      • в поле Сертификат CA указан файл центра аутентификации (ca.crt);
      • в поле Сертификат Пользователь указан файл сертификата открытого ключа, подписанного центром аутентификации (например, ivanov.crt);
      • в поле Приватный ключ Пользователь указан файл закрытого ключа с именем клиента VPN-сервера (например, ivanov.key);
    • если для закрытого ключа был установлен пароль, то во вкладке VPN ввести его в поле Пароль приватного ключа Пользователь, в ином случае — оставить поле пустым. Чтобы отобразить/скрыть пароль при вводе — установить/снять флаг Показывать пароль;
  • для применения изменений нажать [Сохранить].

Кнопка [Дополнительно] позволяет настроить параметры, которые могут потребоваться для соединения с VPN-серверами различных модификаций (например, OpenConnect). Изменять значения данных параметров не рекомендуется, т.к. это может привести к сбоям при подключении к VPN-серверу.

Подключение к VPN-серверу

С помощью ранее созданного удаленного подключения (см. Настройка подключения с использованием готовой конфигурации VPN) или при использовании готового файла конфигурации клиента OpenVPN (см. Ручная настройка подключения к VPN-серверу) можно подключиться к VPN-серверу.

Для подключения к VPN-серверу с клиента необходимо:

  • в области уведомлений на панели задач рабочего стола нажать левой кнопкой мыши на значок сетевого соединения;
  • в открывшемся контекстном меню выбрать Соединения VPN — <имя_соединения>.

В случае успешного подключения к VPN-серверу будет выведено сообщение:

«Сообщение авторизации VPN. Соединение VPN успешно установлено»

Для отключения от VPN-сервера необходимо повторно нажать на значок сетевого соединения и выбрать Соединения VPN — <имя_соединения>.