Управление OpenVPN

Вы можете подключить текущее устройство к сети OpenVPN, вызвав интерфейс, предоставляемый FIRERPA. Встроенная поддержка OpenVPN в FIRERPA позволяет использовать один из трёх режимов входа: режим входа по сертификату (CA/CERT/KEY), режим входа по имени пользователя и паролю (CA/имя пользователя/пароль) и режим входа по сертификату + имени пользователя и паролю (CA/CERT/KEY/имя пользователя/пароль) — конкретный вариант также зависит от конфигурации вашего OpenVPN-сервера. Эта функция может работать одновременно с системным прокси. Обратите внимание: она включает только основные возможности OpenVPN. За исключением конфигурации DNS, пока нельзя применить другие автоматические настройки, передаваемые сервером, включая, помимо прочего, PAC-прокси и конфигурацию HTTP-прокси. Чтобы избавить вас от необходимости самостоятельно разворачивать OpenVPN-сервер, мы предоставляем готовый Docker-образ OpenVPN со встроенными скриптами, которые могут генерировать код вызова интерфейса и конфигурацию автозапуска.

Подключение к VPN

Рекомендуем сначала прочитать документ Развёртывание OpenVPN-сервера, чтобы понять, как автоматически сгенерировать эту конфигурацию подключения. При ручном написании легко ошибиться. Ниже описаны только способы вызова основных интерфейсов.

profile = OpenVPNProfile()
# Вставьте сюда код, автоматически сгенерированный на вашем сервере
d.start_openvpn(profile)

Отключение VPN

Отключить VPN тоже очень просто: достаточно выполнить следующий код, чтобы закрыть OpenVPN.

d.stop_openvpn()

Полные параметры

Ниже перечислены все параметры интерфейса VPN и их значения. Мы не рекомендуем самостоятельно писать эти параметры — используйте код, сгенерированный на вашем сервере.

Включать ли глобальный VPN. Если параметр включён, весь трафик в системе будет проходить через выход VPN-сервера.

profile.all_traffic  = False

Протокол подключения, используемый на стороне сервера. Можно выбрать OpenVPNProto.UDP или OpenVPNProto.TCP в зависимости от конфигурации вашего сервера.

profile.proto        = OpenVPNProto.UDP

Имя пользователя и пароль, необходимые для аутентификации OpenVPN по имени пользователя и паролю.

profile.login        = "имя пользователя"
profile.password     = "пароль"

С помощью этих двух параметров можно задать адрес и порт OpenVPN-сервера.

profile.host         = адрес_сервера
profile.port         = порт_сервера

Задаёт метод шифрования канала на стороне сервера. Интерфейс поддерживает следующие методы шифрования: AES_128_GCM, AES_256_GCM, CHACHA20_POLY1305, AES_128_CBC, AES_256_CBC.

profile.cipher       = OpenVPNCipher.AES_256_GCM

Задаёт параметры, связанные с аутентификацией OpenVPN TLS. Подробнее можно узнать в официальной документации openvpn.net/community-resources/reference-manual-for-openvpn-2-5.

profile.tls_encryption = OpenVPNEncryption.TLS_CRYPT
profile.tls_key_direction = OpenVPNKeyDirection.KEY_DIRECTION_NONE
profile.tls_key      = "-----BEGIN OpenVPN Static key V1-----"

Конфигурация клиентского сертификата OpenVPN, закрытого ключа клиента и сертификата сервера.

profile.ca           = "-----BEGIN CERTIFICATE-----"
profile.cert         = "-----BEGIN CERTIFICATE-----"
profile.key          = "-----BEGIN PRIVATE KEY-----"

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

Можно настроить автоматическое подключение к VPN при запуске FIRERPA. Способ настройки см. в разделе Конфигурация служб. Из-за сложности конфигурации мы по-прежнему не рекомендуем писать её вручную. Обратитесь к документу Развёртывание OpenVPN-сервера, чтобы узнать, как сгенерировать и заполнить соответствующую конфигурацию.

Быстрое развёртывание VPN

Обратитесь к документу Развёртывание OpenVPN-сервера, чтобы узнать, как развернуть и использовать OpenVPN.