Управление 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.