Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ файловые хранилища SMB Azure
Vpn-подключение типа "точка — сеть" (P2S) можно использовать для подключения общих папок Azure через SMB за пределами Azure без открытия порта 445. VPN-подключение типа "точка — сеть" — это VPN-подключение между Azure и отдельным клиентом. Чтобы использовать VPN-подключение P2S с файлами Azure, необходимо настроить VPN-подключение для каждого клиента, который хочет подключиться. Если у вас есть множество клиентов, которые должны подключаться к общим папкам Azure из локальной сети, вы можете использовать VPN-подключение типа "сеть — сеть" (S2S) вместо подключения типа "точка — сеть" для каждого клиента. Дополнительные сведения см. в статье "Настройка VPN типа "сеть — сеть" для использования с файлами Azure.
Настоятельно рекомендуется ознакомиться с рекомендациями по работе с сетями для прямого доступа к общей папке Azure , прежде чем продолжить работу с этой статьей, чтобы ознакомиться с полным обсуждением параметров сети, доступных для файлов Azure.
В статье описаны действия по настройке VPN типа "точка — сеть" в Windows (клиент Windows и Windows Server) для подключения общих папок Azure непосредственно в локальной среде. Если вы хотите маршрутизировать трафик синхронизации файлов Azure через VPN, ознакомьтесь с настройкой прокси-сервера службы "Синхронизация файлов Azure" и параметров брандмауэра.
Prerequisites
Последняя версия модуля Azure PowerShell. См. статью Установка модуля Azure PowerShell.
Общий файловый ресурс Azure, который вы хотите подключить к локальной системе. Общие папки Azure развертываются в учетных записях хранения, которые представляют собой общий пул хранилища, в котором можно развернуть несколько общих папок, а также другие ресурсы хранилища. Дополнительные сведения о развертывании общих папок Azure и учетных записей хранения см. в разделе "Создание общей папки Azure".
Виртуальная сеть с частной конечной точкой для учетной записи хранения, содержащей общую папку Azure, которую требуется подключить локально. Сведения о создании частной конечной точки см. в статье "Настройка сетевых конечных точек файлов Azure".
Необходимо создать подсеть шлюза в виртуальной сети. Чтобы создать подсеть шлюза, войдите на портал Azure, перейдите к виртуальной сети, выберите "Параметры > подсети" и выберите "+ Подсеть шлюза". При создании подсети шлюза указывается количество IP-адресов, которое содержит подсеть. Необходимое количество IP-адресов зависит от конфигурации VPN-шлюза, который вы хотите создать. Рекомендуется указать /27 или больше (/26, /25 и т. д.), чтобы разрешить достаточно IP-адресов для будущих изменений, таких как добавление шлюза ExpressRoute.
Сбор сведений о среде
Перед настройкой VPN типа "точка — сеть" необходимо собрать некоторые сведения о вашей среде.
Чтобы настроить VPN типа "точка — сеть" с помощью портала Azure, необходимо знать имя группы ресурсов, имя виртуальной сети, имя подсети шлюза и имя учетной записи хранения.
Создание корневого сертификата для проверки подлинности VPN
Чтобы VPN-подключения с локальных компьютеров Windows прошли проверку подлинности для доступа к виртуальной сети, необходимо создать два сертификата:
- Корневой сертификат, который будет предоставлен шлюзу виртуальных машин
- Сертификат клиента, который будет подписан корневым сертификатом
Вы можете использовать корневой сертификат, созданный с помощью корпоративного решения, или создать самозаверяющий сертификат. Если вы используете корпоративное решение, получите файл .cer для корневого сертификата из ИТ-организации.
Если вы не используете решение корпоративного сертификата, создайте самозаверяющий корневой сертификат с помощью этого скрипта PowerShell. После развертывания шлюза виртуальной сети вы создадите сертификат клиента. Если это возможно, оставьте сеанс PowerShell открытым, чтобы не нужно переопределить переменные при создании сертификата клиента далее в этой статье.
Important
Запустите этот сценарий PowerShell от имени администратора на локальном компьютере под управлением Windows 10/Windows Server 2016 или более поздней версии. Не запускайте скрипт из Cloud Shell или виртуальной машины в Azure.
$rootcertname = 'CN=P2SRootCert'
$certLocation = 'Cert:\CurrentUser\My'
$vpnTemp = 'C:\vpn-temp'
$exportedencodedrootcertpath = "$vpnTemp\P2SRootCertencoded.cer"
$exportedrootcertpath = "$vpnTemp\P2SRootCert.cer"
if (-Not (Test-Path -Path $vpnTemp -PathType Container)) {
New-Item -ItemType Directory -Force -Path $vpnTemp | Out-Null
}
if ($PSVersionTable.PSVersion.Major -ge 6) {
Import-Module -Name PKI -UseWindowsPowerShell
}
$selfSignedCertParams = @{
Type = 'Custom'
KeySpec = 'Signature'
Subject = $rootcertname
KeyExportPolicy = 'Exportable'
HashAlgorithm = 'sha256'
KeyLength = '2048'
CertStoreLocation = $certLocation
KeyUsageProperty = 'Sign'
KeyUsage = 'CertSign'
}
$rootcert = New-SelfSignedCertificate @selfSignedCertParams
Export-Certificate -Cert $rootcert -FilePath $exportedencodedrootcertpath -NoClobber | Out-Null
certutil -encode $exportedencodedrootcertpath $exportedrootcertpath | Out-Null
$rawRootCertificate = Get-Content -Path $exportedrootcertpath
$rootCertificate = ''
foreach ($line in $rawRootCertificate) {
if ($line -notlike '*Certificate*') {
$rootCertificate += $line
}
}
Развертывание шлюза виртуальной сети
Шлюз виртуальной сети Azure — это служба, к к которому будут подключаться локальные компьютеры Windows. Если вы еще не сделали этого, необходимо создать подсеть шлюза в виртуальной сети перед развертыванием шлюза виртуальной сети.
Для развертывания шлюза виртуальной сети требуется два основных компонента:
- Общедоступный IP-адрес, который будет определять шлюз для клиентов, где бы они ни находились в мире.
- Корневой сертификат, созданный на предыдущем шаге, который будет использоваться для проверки подлинности клиентов
Для развертывания шлюза виртуальной сети можно использовать портал Azure или Azure PowerShell. Развертывание может занять до 45 минут.
Чтобы развернуть шлюз виртуальной сети с помощью портала Azure, выполните следующие инструкции.
Войдите на портал Azure.
В разделе "Поиск ресурсов, служб и документов" введите шлюзы виртуальной сети. Найдите шлюзы виртуальной сети в результатах поиска Marketplace и выберите его.
Нажмите кнопку "+ Создать ", чтобы создать шлюз виртуальной сети.
На вкладке Основные введите значения в полях Сведения о проекте и Сведения об экземпляре.
- Подписка: выберите подписку, которую вы хотите использовать в раскрывающемся списке.
- Группа ресурсов. Этот параметр автоматически заполняется при выборе виртуальной сети на этой странице.
- Имя: присвойте шлюзу имя. Назначение имени шлюзу не то же самое, что назначение имени подсети шлюза. Это имя создаваемого объекта шлюза.
- Регион: выберите регион, в котором нужно создать этот ресурс. Шлюз должен находиться в том же регионе, где и виртуальная сеть.
- Тип шлюза: выберите VPN. VPN-шлюзы используют тип виртуального сетевого шлюза VPN.
- SKU. Выберите номер SKU шлюза, поддерживающий функции, которые вы хотите использовать в раскрывающемся списке. См. номера SKU шлюза. Не используйте номер SKU "Базовый", так как он не поддерживает проверку подлинности IKEv2.
- Поколение: выберите поколение, которое вы хотите использовать. Рекомендуется использовать номер SKU поколения 2. Дополнительные сведения см. в разделе о номерах SKU шлюзов.
- Виртуальная сеть: в раскрывающемся списке выберите виртуальную сеть, в которую необходимо добавить этот шлюз. Если вы не видите виртуальную сеть, для которой вы хотите создать шлюз, убедитесь, что выбрана правильная подписка и регион.
- Подсеть: это поле должно быть серым и вывести имя созданной подсети шлюза, а также диапазон IP-адресов. Если вместо этого отображается поле диапазона адресов подсети шлюза с текстовым полем, то вы еще не настроили подсеть шлюза (см. предварительные требования.)
Укажите значения общедоступного IP-адреса , связанного с шлюзом виртуальной сети. Общедоступный IP-адрес назначается этому объекту при создании шлюза виртуальной сети. Единственное время изменения основного общедоступного IP-адреса — при удалении и повторном создании шлюза. Он не изменяется при изменении размера, сбросе или других внутренних обновлениях и обслуживании.
- Общедоступный IP-адрес: оставьте выбран вариант "Создать новый".
- Имя общедоступного IP-адреса: в текстовом поле введите имя для экземпляра общедоступного IP-адреса.
- Номер SKU общедоступного IP-адреса: параметр выбирается автоматически.
- Назначение: назначение обычно выбирается автоматически и может быть динамическим или статическим.
- Включение активно-активного режима: выберите "Отключено". Включите этот параметр только в том случае, если вы создаете конфигурацию шлюза active-active.
- Настройка BGP: выберите "Отключено", если для настройки не требуется этот параметр. Если он вам нужен, то по умолчанию для ASN устанавливается значение 65515, но вы можете его изменить.
Выберите "Проверка и создание ", чтобы выполнить проверку. После прохождения проверки выберите "Создать ", чтобы развернуть шлюз виртуальной сети. Развертывание может занять до 45 минут.
По завершении развертывания выберите элемент Перейти к ресурсу.
В меню службы в разделе "Параметры" выберите конфигурацию "Точка — сеть " и выберите "Настроить сейчас". Вы увидите страницу конфигурации "Точка — сеть".
- Пул адресов: добавьте диапазон частных IP-адресов, который вы хотите использовать. VPN-клиенты динамически получают IP-адрес из указанного диапазона. Минимальное значение для маски подсети: 29 бит в режиме "активный — пассивный" и 28 бит в режиме "активный — активный".
- Тип туннеля: укажите тип туннеля, который требуется использовать. Компьютеры, подключающиеся через собственный VPN-клиент Windows, сначала попытаются использовать IKEv2. Если это не подключается, они возвращаются к SSTP (если выбрать IKEv2 и SSTP из раскрывающегося списка). Если выбрать тип туннеля OpenVPN, можно подключиться с помощью клиента OpenVPN или VPN-клиента Azure.
- Тип проверки подлинности. Укажите тип проверки подлинности, который вы хотите использовать (в этом случае выберите сертификат Azure).
- Имя корневого сертификата: имя файла корневого сертификата (.cer файла).
-
Данные общедоступного сертификата: откройте корневой сертификат с помощью Блокнота и скопируйте или вставьте данные общедоступного сертификата в этом текстовом поле. Если вы использовали скрипт PowerShell в этой статье для создания самозаверяющего корневого сертификата, он будет расположен в
C:\vpn-temp. Не забудьте вставить только текст, который находится между -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----. Не включать дополнительные пробелы или символы.
Note
Если вы не видите тип туннеля или тип проверки подлинности, шлюз использует SKU "Базовый". Базовый номер SKU не поддерживает проверку подлинности IKEv2. Если вы хотите использовать IKEv2, необходимо удалить и повторно создать шлюз с помощью другого номера SKU шлюза.
Нажмите кнопку "Сохранить " в верхней части страницы, чтобы сохранить все параметры конфигурации и отправить сведения о корневом сертификате с открытым ключом в Azure.
Создание сертификата клиента
Каждый клиентский компьютер, подключенный к виртуальной сети с подключением типа "точка — сеть", должен иметь сертификат клиента. Вы создаете сертификат клиента из корневого сертификата и устанавливаете его на каждом клиентском компьютере. Если вы не устанавливаете действительный сертификат клиента, проверка подлинности завершится ошибкой при попытке подключения клиента. Вы можете создать сертификат клиента из корневого сертификата, созданного с помощью корпоративного решения, или создать сертификат клиента из самозаверяющего корневого сертификата.
Создание сертификата клиента с помощью корпоративного решения
При использовании корпоративного решения для создания сертификатов создайте сертификат клиента с общим именем в формате [email protected]. Используйте этот формат вместо формата доменное_имя\имя_пользователя. Убедитесь, что сертификат клиента основан на шаблоне сертификата пользователя, в котором первым указан пункт Проверка подлинности клиента. Проверить сертификат можно, дважды щелкнув его и выбрав на вкладке СведенияУлучшенный ключ.
Создать клиентский сертификат из самоподписанного корневого сертификата
Если вы не используете решение корпоративного сертификата, можно использовать PowerShell для создания сертификата клиента с URI шлюза виртуальной сети. Этот сертификат будет подписан с помощью корневого сертификата, созданного ранее. Если вы создаете сертификат клиента из самозаверяющего корневого сертификата, он автоматически устанавливается на компьютере, используемом для его создания.
Если вы хотите установить сертификат клиента на другом клиентском компьютере, экспортируйте сертификат в виде PFX-файла вместе со всей цепочкой сертификатов. При этом будет создан файл .pfx, содержащий информацию о корневом сертификате, необходимую для аутентификации клиента. Чтобы экспортировать самозаверяющий корневой сертификат в виде PFX, выберите корневой сертификат и выполните те же действия, что и в разделе "Экспорт сертификата клиента".
Определить самоподписанный корневой сертификат
Если вы используете тот же сеанс PowerShell, который использовался для создания самозаверяющего корневого сертификата, можно перейти к созданию сертификата клиента.
В противном случае выполните следующие действия, чтобы определить самозаверяющий корневой сертификат, установленный на компьютере.
Получите список сертификатов, установленных на компьютере.
Get-ChildItem -Path 'Cert:\CurrentUser\My'Найдите имя субъекта из возвращаемого списка, а затем скопируйте отпечаток, расположенный рядом с ним, в текстовый файл. В следующем примере есть два сертификата. Имя CN — это имя самозаверяющего корневого сертификата, из которого требуется создать дочерний сертификат. В этом случае он называется P2SRootCert.
Thumbprint Subject ---------- ------- AED812AD883826FF76B4D1D5A77B3C08EFA79F3F CN=P2SChildCert4 7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655 CN=P2SRootCertОбъявите переменную для корневого сертификата, используя отпечаток из предыдущего шага. Замените THUMBPRINT отпечатком корневого сертификата, из которого требуется создать сертификат клиента.
$rootcert = Get-ChildItem -Path 'Cert:\CurrentUser\My\<THUMBPRINT>'Например, используя отпечаток P2SRootCert на предыдущем шаге, команда выглядит следующим образом:
$rootcert = Get-ChildItem -Path 'Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655'
Создание сертификата клиента
New-AzVpnClientConfiguration Используйте командлет PowerShell для создания сертификата клиента. Если вы не используете тот же сеанс PowerShell, который использовался для создания самозаверяющего корневого сертификата, необходимо определить самозаверяющий корневой сертификат , как описано в предыдущем разделе. Перед запуском скрипта замените <resource-group-name> именем группы ресурсов и <vpn-gateway-name> именем только что развернутого шлюза виртуальной сети.
Important
Запустите этот сценарий PowerShell от имени администратора на локальном компьютере Windows, который требуется подключить к общей папке Azure. Компьютер должен работать под управлением Windows 10/Windows Server 2016 или более поздней версии. Не запускайте скрипт из Cloud Shell в Azure. Перед запуском скрипта (Connect-AzAccount) выполните вход в учетную запись Azure.
$clientcertpassword = '<enter-your-password>'
$resourceGroupName = '<resource-group-name>'
$vpnName = '<vpn-gateway-name>'
$vpnTemp = 'C:\vpn-temp'
$certLocation = 'Cert:\CurrentUser\My'
$vpnClientConfigParams = @{
ResourceGroupName = $resourceGroupName
Name = $vpnName
AuthenticationMethod = 'EAPTLS'
}
$vpnClientConfiguration = New-AzVpnClientConfiguration @vpnClientConfigParams
$webRequestParams = @{
Uri = $vpnClientConfiguration.VpnProfileSASUrl
OutFile = "$vpnTemp\vpnclientconfiguration.zip"
}
Invoke-WebRequest @webRequestParams
$expandArchiveParams = @{
Path = "$vpnTemp\vpnclientconfiguration.zip"
DestinationPath = "$vpnTemp\vpnclientconfiguration"
}
Expand-Archive @expandArchiveParams
$vpnGeneric = "$vpnTemp\vpnclientconfiguration\Generic"
$vpnProfile = ([xml](Get-Content -Path "$vpnGeneric\VpnSettings.xml")).VpnProfile
$exportedclientcertpath = "$vpnTemp\P2SClientCert.pfx"
$clientcertname = "CN=$($vpnProfile.VpnServer)"
$selfSignedCertParams = @{
Type = 'Custom'
DnsName = $vpnProfile.VpnServer
KeySpec = 'Signature'
Subject = $clientcertname
KeyExportPolicy = 'Exportable'
HashAlgorithm = 'sha256'
KeyLength = 2048
CertStoreLocation = $certLocation
Signer = $rootcert
TextExtension = @('2.5.29.37={text}1.3.6.1.5.5.7.3.2')
}
$clientcert = New-SelfSignedCertificate @selfSignedCertParams
$mypwd = ConvertTo-SecureString -String $clientcertpassword -Force -AsPlainText
Export-PfxCertificate -FilePath $exportedclientcertpath -Password $mypwd -Cert $clientcert |
Out-Null
Настройка VPN-клиента
Шлюз виртуальной сети Azure создаст скачиваемый пакет с файлами конфигурации, необходимыми для инициализации VPN-подключения на локальном компьютере Windows. Пакет конфигурации содержит параметры, относящиеся к созданному VPN-шлюзу. Если вы вносите изменения в шлюз, например изменение типа туннеля, сертификата или типа проверки подлинности, необходимо создать другой пакет конфигурации профиля VPN-клиента и установить его на каждом клиенте. В противном случае VPN-клиенты могут не подключаться.
Вы настроите VPN-подключение с помощью функции AlwaysOn VPN , представленной в Windows 10/Windows Server 2016. Этот пакет также содержит исполняемые файлы, которые будут настраивать устаревший VPN-клиент Windows при необходимости. В этом руководстве используется VPN AlwaysOn, а не устаревший VPN-клиент Windows, так как vpn-клиент Always On позволяет подключаться и отключаться от VPN Azure, не имея разрешений администратора на компьютер.
Установка сертификата клиента
Чтобы установить сертификат клиента, необходимый для проверки подлинности в шлюзе виртуальной сети, выполните следующие действия на клиентском компьютере.
- Когда сертификат клиента будет экспортирован, найдите PFX-файл и скопируйте его на клиентский компьютер.
- На клиентском компьютере дважды щелкните PFX -файл, чтобы установить его. Для параметра Расположение хранилища оставьте значение Текущий пользователь, а затем выберите кнопку Далее.
- На странице Файл для импорта не вносите никаких изменений. Нажмите кнопку Далее.
- На странице Защита с помощью закрытого ключа введите пароль для сертификата или проверьте, правильно ли выбран субъект безопасности, а затем выберите кнопку Далее.
- На странице Хранилище сертификатов оставьте расположение по умолчанию и выберите кнопку Далее.
- Нажмите Готово. На странице Предупреждение системы безопасности для установки сертификата выберите Да. Вы можете выбрать "Да" для этого предупреждения системы безопасности, так как вы создали сертификат.
- Сертификат успешно импортирован.
Установка VPN-клиента
В этом разделе описана настройка собственного VPN-клиента, который входит в операционную систему Windows для подключения к виртуальной сети (IKEv2 и SSTP). Для этой конфигурации не требуется дополнительное клиентское программное обеспечение.
Просмотр файлов конфигурации
На клиентском компьютере перейдите к C:\vpn-temp папке vpnclientconfiguration и откройте ее, чтобы просмотреть следующие вложенные папки:
- WindowsAmd64 и WindowsX86, которые содержат 64-разрядные и 32-разрядные пакеты установщика Windows соответственно. Пакет установщика WindowsAmd64 предназначен для всех поддерживаемых 64-разрядных клиентов Windows, а не только Amd.
- Универсальный, содержащий общие сведения, используемые для создания собственной конфигурации VPN-клиента. Универсальная папка предоставляется, если IKEv2 или SSTP+IKEv2 была настроена на шлюзе. Если настроен только SSTP, общая папка отсутствует.
Настройка профиля VPN-клиента
Вы можете использовать один и тот же пакет конфигурации VPN-клиента на каждом клиентском компьютере Windows, если версия соответствует архитектуре клиента.
Note
Для запуска пакета установщика необходимо иметь права администратора на клиентском компьютере Windows, с которого требуется подключиться.
Выберите файлы конфигурации VPN-клиента, которые соответствуют архитектуре компьютера Windows. Для 64-разрядной архитектуры процессора выберите пакет установщика
VpnClientSetupAmd64. Для 32-разрядной архитектуры процессора выберите пакет установщикаVpnClientSetupX86.Дважды щелкните пакет, чтобы установить его. При появлении всплывающего окна SmartScreen выберите Подробнее, затем Выполнить в любом случае.
Подключитесь к VPN. Перейдите к параметрам VPN и найдите созданное VPN-подключение. Это такое же имя, как у вашей виртуальной сети. Нажмите Подключиться. Может появиться всплывающее сообщение. Нажмите кнопку "Продолжить", чтобы использовать повышенные привилегии.
На странице состояния подключения выберите "Подключиться ", чтобы запустить подключение. Если отображается экран выбора сертификата , убедитесь, что сертификат клиента, отображающийся, является тем, который вы хотите использовать для подключения. Если это не так, используйте стрелку раскрывающегося списка, чтобы выбрать правильный сертификат, а затем нажмите кнопку "ОК".
Монтирование файловой доли Azure
Теперь, когда вы настроили VPN типа "точка — сеть", его можно использовать для подключения общей папки Azure к локальному компьютеру. См. Подключение файлового ресурса Azure SMB на Windows.
Поворот корневого сертификата VPN
Если корневой сертификат необходимо повернуть из-за истечения срока действия или новых требований, можно добавить новый корневой сертификат в существующий шлюз виртуальной сети без повторного развертывания шлюза виртуальной сети. После добавления корневого сертификата с помощью следующего скрипта необходимо повторно создать сертификат VPN-клиента.
Замените <resource-group-name>, <desired-vpn-name-here>а <new-root-cert-name> также собственными значениями, а затем запустите скрипт.
#Creating the new Root Certificate
$ResourceGroupName = '<resource-group-name>'
$vpnName = '<desired-vpn-name-here>'
$NewRootCertName = '<new-root-cert-name>'
$rootcertname = "CN=$NewRootCertName"
$certLocation = 'Cert:\CurrentUser\My'
$date = Get-Date -Format 'MM_yyyy'
$vpnTemp = "C:\vpn-temp_$date"
$exportedencodedrootcertpath = "$vpnTemp\P2SRootCertencoded.cer"
$exportedrootcertpath = "$vpnTemp\P2SRootCert.cer"
if (-Not (Test-Path -Path $vpnTemp -PathType Container)) {
New-Item -ItemType Directory -Force -Path $vpnTemp | Out-Null
}
$selfSignedCertParams = @{
Type = 'Custom'
KeySpec = 'Signature'
Subject = $rootcertname
KeyExportPolicy = 'Exportable'
HashAlgorithm = 'sha256'
KeyLength = 2048
CertStoreLocation = $certLocation
KeyUsageProperty = 'Sign'
KeyUsage = 'CertSign'
}
$rootcert = New-SelfSignedCertificate @selfSignedCertParams
$exportCertParams = @{
Cert = $rootcert
FilePath = $exportedencodedrootcertpath
NoClobber = $true
}
Export-Certificate @exportCertParams | Out-Null
certutil -encode $exportedencodedrootcertpath $exportedrootcertpath | Out-Null
$rawRootCertificate = Get-Content -Path $exportedrootcertpath
$rootCertificate = ''
foreach($line in $rawRootCertificate) {
if ($line -notlike '*Certificate*') {
$rootCertificate += $line
}
}
#Fetching gateway details and adding the newly created Root Certificate.
$gateway = Get-AzVirtualNetworkGateway -Name $vpnName -ResourceGroupName $ResourceGroupName
$vpnClientRootCertParams = @{
PublicCertData = $rootCertificate
ResourceGroupName = $ResourceGroupName
VirtualNetworkGatewayName = $gateway
VpnClientRootCertificateName = $NewRootCertName
}
Add-AzVpnClientRootCertificate @vpnClientRootCertParams