Настройка VPN на устройстве Azure Stack Edge Mini R с помощью Azure PowerShell
VPN-подключение обеспечивает второй уровень шифрования при передаче данных по протоколу TLS c устройств Azure Stack Mini R или Azure Stack Edge Pro R в Azure. Настроить VPN на устройстве Azure Stack Mini R можно с помощью портала Azure или Azure PowerShell.
В этой статье описываются шаги, необходимые для настройки VPN-подключения "точка-сеть" (P2S) на устройстве Azure Stack Mini R с помощью скрипта Azure PowerShell для создания конфигурации в облаке. Настройка на устройстве Azure Stack Mini R выполняется через локальный пользовательский интерфейс.
Сведения о настройке VPN
Подключение типа "точка-сеть" через VPN-шлюз позволяет создать безопасное подключение к виртуальной сети с отдельного клиентского компьютера или с устройства Azure Stack Mini R. Подключение "точка-сеть" запускается с клиентского компьютера или устройства. В этом случае в подключении "точка-сеть" используется VPN-решение IKEv2 VPN на основе стандартов IPsec.
Стандартный рабочий процесс включает следующие этапы.
- Настройка необходимых компонентов.
- Настройте необходимые ресурсы в Azure.
- Создайте и настройте виртуальную сеть и требуемые подсети.
- Создайте и настройте VPN-шлюз Azure (шлюз виртуальной сети).
- Настройте брандмауэр Azure и добавьте правила сети и приложений.
- Создайте таблицы маршрутизации Azure и добавьте маршруты.
- Включите подключение типа "точка-сеть" в шлюзе VPN.
- Добавьте пулы адресов клиента.
- Настройте тип туннеля.
- Настройте тип аутентификации.
- Создайте сертификат.
- Отправка сертификата.
- Загрузите телефонную книгу.
- Настройте VPN в локальном веб-интерфейсе устройства.
- Укажите телефонную книгу.
- Укажите файл тегов служб (JSON).
Подробные сведения об этих шагах приведены в следующих разделах.
Настройка обязательных компонентов
У вас должен быть доступ к устройству Azure Stack Mini R, которое установлено в соответствии с инструкциями в статье Установка устройства Azure Stack Mini R. Это устройство будет устанавливать соединение "точка-сеть" с Azure.
У вас должен быть доступ к действующей подписке Azure, которая включена для службы Azure Stack Edge в Azure. Используйте эту подписку, чтобы создать соответствующий ресурс в Azure для управления устройством Azure Stack Mini R.
У вас есть доступ к клиенту Windows, который будет использоваться для доступа к устройству Azure Stack Mini R. Этот клиент будет использоваться для программного создания конфигурации в облаке.
Чтобы установить требуемую версию PowerShell на клиенте Windows, выполните следующие команды:
Install-Module -Name Az -AllowClobber -Scope CurrentUser Import-Module Az.Accounts
Чтобы подключиться к учетной записи Azure и подписке, выполните следующие команды:
Connect-AzAccount Set-AzContext -Subscription "<Your subscription name>"
Укажите имя подписки Azure, которое вы используете на устройстве Azure Stack Edge Mini R, чтобы настроить VPN.
Загрузите скрипт, требуемый для создания конфигурации в облаке. Он выполняет следующие действия:
- Создайте виртуальную сеть Azure и следующие подсети: GatewaySubnet и AzureFirewallSubnet.
- Создайте и настройте шлюз Azure VPN.
- Создайте и настройте локальный сетевой шлюз Azure.
- Создание и настройка VPN-подключения Azure между VPN-шлюзом Azure и локальным сетевым шлюзом.
- Создайте брандмауэр Azure и добавьте правила сети и правила приложений.
- Создайте таблицу маршрутизации Azure и добавьте в нее маршруты.
Создайте группу ресурсов на портале Azure, в которой будут создаваться ресурсы Azure. Перейдите к списку служб в портал Azure, выберите Группа ресурсов, а затем выберите + Добавить. Укажите сведения о подписке и имя группы ресурсов, а затем выберите Создать. В тот момент, когда вы переходите в эту группу ресурсов, она не должна содержать ресурсов.
Вам потребуется сертификат с шифрованием Base 64 в формате
.cer
для устройства Azure Stack Edge Mini R. Этот сертификат необходимо отправить на устройство Azure Stack Edge какpfx
с закрытым ключом. Его также необходимо установить в доверенном корневом каталоге хранилища на клиенте, который пытается установить соединение "точка-сеть".
Использование скрипта
Сначала измените файл parameters-p2s.json
, указав в нем входные параметры. Затем запустите скрипт, используя измененный файл JSON.
В следующих разделах каждый этап рассматривается более подробно.
Загрузка файла тегов службы
В папке, куда загружен скрипт, уже может содержаться файл ServiceTags.json
. В противном случае можно загрузить файл тегов службы.
Загрузите теги службы из Azure в локальный клиент и сохраните их как JSON-файл в той же папке, которая содержит скрипты: https://www.microsoft.com/download/details.aspx?id=56519.
Этот файл будет отправлен в локальный веб-интерфейс позже.
Изменение файла параметров
Первым шагом является изменение файла parameters-p2s.json
и сохранение этих изменений.
Для создаваемых ресурсов Azure можно указать следующие имена:
Имя параметра | Описание: |
---|---|
virtualNetworks_vnet_name | Имя виртуальной сети Azure |
azureFirewalls_firewall_name | Имя брандмауэра Azure |
routeTables_routetable_name | Имя таблицы маршрутов Azure |
publicIPAddresses_VNGW_public_ip_name | Общедоступный IP-адрес шлюза виртуальной сети |
virtualNetworkGateways_VNGW_name | Имя VPN-шлюза Azure (шлюз виртуальной сети) |
publicIPAddresses_firewall_public_ip_name | Имя общедоступного IP-адреса для брандмауэра Azure |
Расположение | Это регион, в котором будет создаваться виртуальная сеть. Выберите тот же регион, который связан с устройством. |
RouteTables_routetable_onprem_name | Это имя дополнительной таблицы маршрутов, которая помогает брандмауэру перенаправлять пакеты обратно на устройство Azure Stack Edge. Скрипт создает два дополнительных маршрута и связывает default и FirewallSubnet с этой таблицей маршрутов. |
Укажите следующие IP-адреса и пространства адресов для создаваемых ресурсов Azure, включая виртуальную сеть и связанные подсети (default, firewall, GatewaySubnet).
Имя параметра | Описание: |
---|---|
VnetIPv4AddressSpace | Это адресное пространство, связанное с виртуальной сетью. Укажите диапазон IP-адресов виртуальной сети как частный диапазон IP-адресов (https://en.wikipedia.org/wiki/Private_network#Private_IPv4_addresses). |
DefaultSubnetIPv4AddressSpace | Это адресное пространство, связанное с подсетью Default для вашей виртуальной сети. |
FirewallSubnetIPv4AddressSpace | Это адресное пространство, связанное с подсетью Firewall для вашей виртуальной сети. |
GatewaySubnetIPv4AddressSpace | Это адресное пространство, связанное с GatewaySubnet для вашей виртуальной сети. |
GatewaySubnetIPv4bgpPeeringAddress | Это IP-адрес, зарезервированный для обмена данными по BGP и использующий адресное пространство, связанное с GatewaySubnet для виртуальной сети. |
ClientAddressPool | Этот IP-адрес используется для пула адресов в конфигурации "точка-сеть" на портале Azure. |
PublicCertData | Данные общедоступного сертификата используются VPN-шлюзом для проверки подлинности P2S клиентов, которые к нему подключаются. Чтобы получить данные сертификата, установите корневой сертификат. Убедитесь, что сертификат использует кодировку Base-64 с расширением CER. Откройте этот сертификат и скопируйте текст, указанный между ==BEGIN CERTIFICATE== и ==END CERTIFICATE== одной непрерывной строкой. |
Выполнение скрипта
Выполните следующие действия, чтобы использовать измененный parameters-p2s.json
, и запустите скрипт для создания ресурсов Azure.
Запустите PowerShell. По умолчанию используется каталог, в котором находится скрипт.
Выполните скрипт.
.\AzDeployVpn.ps1 -Location <Location> -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath "<Service tag json file>" -ResourceGroupName "<Resource group name>" -AzureDeploymentName "<Deployment name>" -NetworkRuleCollectionName "<Name for collection of network rules>" -Priority 115 -AppRuleCollectionName "<Name for collection of app rules>"
Примечание.
В этом выпуске скрипт используется только в регионе "Восточная часть США".
При выполнении скрипта необходимо указать следующие сведения:
Параметр Описание Местонахождение Это регион, где должны создаваться ресурсы Azure. AzureAppRuleFilePath Это путь к файлу для appRule.json
.AzureIPRangesFilePath Это JSON-файл тега службы, загруженный в предыдущем шаге. ResourceGroupName Это имя группы ресурсов, в которой создаются все ресурсы Azure. AzureDeploymentName Это имя для развертывания Azure. NetworkRuleCollectionName Это имя для коллекции всех правил сети, которые создаются и добавляются в брандмауэр Azure. Приоритет Это приоритет, назначенный всем создаваемым правилам сети и приложений. AppRuleCollectionName Это имя для коллекции всех правил приложений, которые создаются и добавляются в брандмауэр Azure. Результат выполнения команды показан ниже.
PS C:\Offline docs\AzureVpnConfigurationScripts> .\AzDeployVpn.ps1 -Location eastus -AzureAppRuleFilePath "appRule.json" -AzureIPRangesFilePath ".\ServiceTags_Public_20200203.json" -ResourceGroupName "mytmarg3" -AzureDeploymentName "tmap2stestdeploy1" -NetworkRuleCollectionName "testnrc1" -Priority 115 -AppRuleCollectionName "testarc2" validating vpn deployment parameters Starting vpn deployment C:\Offline docs\AzureVpnConfigurationScripts\parameters-p2s.json C:\Offline docs\AzureVpnConfigurationScripts\template-p2s.json vpn deployment: tmap2stestdeploy1 started and status: Running Waiting for vpn deployment completion.... ==== CUT ==================== CUT ============== Adding route 191.236.0.0/18 for AzureCloud.eastus Adding route 191.237.0.0/17 for AzureCloud.eastus Adding route 191.238.0.0/18 for AzureCloud.eastus Total Routes:294, Existing Routes: 74, New Routes Added: 220 Additional routes getting added
Важно!
- Выполнение каждого скрипта занимает около 90 минут. Перед запуском скрипта обязательно выполните вход в сеть.
- Если по какой-либо причине произошел сбой сеанса с скриптом, удалите группу ресурсов, чтобы удалить все созданные в ней ресурсы.
После завершения работы скрипта создается журнал развертывания в той же папке, где находится скрипт.
Проверка ресурсов Azure
После успешного выполнения скрипта убедитесь, что все ресурсы созданы в Azure. Перейдите к созданной группе ресурсов. Отобразятся следующие ресурсы:
Загрузка телефонной книги для профиля VPN
На этом шаге вы загружаете профиль VPN для своего устройства.
На портале Azure перейдите в группу ресурсов и выберите шлюз виртуальной сети, созданный в предыдущем шаге.
Перейдите к Параметры > конфигурации "точка — сеть". Выберите Загрузить VPN-клиент.
Сохраните архив профиля и распакуйте его на клиенте Windows.
Перейдите в папку WindowsAmd64 и распакуйте архив
.exe
: VpnClientSetupAmd64.exe.Создайте временный путь. Например:
C:\NewTemp\vnet\tmp
Запустите PowerShell и перейдите в каталог, в котором находится архив
.exe
. Чтобы запустить файл.exe
, введите:.\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp"
Временный путь будет содержать новые файлы. Пример выходных данных:
PS C:\windows\system32> cd "C:\Users\Ase\Downloads\vngw5\WindowsAmd64" PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> .\VpnClientSetupAmd64.exe /Q /C /T:"C:\NewTemp\vnet\tmp" PS C:\Users\Ase\Downloads\vngw5\WindowsAmd64> cd "C:\NewTemp\vnet" PS C:\NewTemp\vnet> ls .\tmp Directory: C:\NewTemp\vnet\tmp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2/6/2020 6:18 PM 947 8c670077-470b-421a-8dd8-8cedb4f2f08a.cer -a---- 2/6/2020 6:18 PM 155 8c670077-470b-421a-8dd8-8cedb4f2f08a.cmp -a---- 2/6/2020 6:18 PM 3564 8c670077-470b-421a-8dd8-8cedb4f2f08a.cms -a---- 2/6/2020 6:18 PM 11535 8c670077-470b-421a-8dd8-8cedb4f2f08a.inf -a---- 2/6/2020 6:18 PM 2285 8c670077-470b-421a-8dd8-8cedb4f2f08a.pbk -a---- 2/6/2020 6:18 PM 5430 azurebox16.ico -a---- 2/6/2020 6:18 PM 4286 azurebox32.ico -a---- 2/6/2020 6:18 PM 138934 azurevpnbanner.bmp -a---- 2/6/2020 6:18 PM 46064 cmroute.dll -a---- 2/6/2020 6:18 PM 196 routes.txt PS C:\NewTemp\vnet>
Файл PBK представляет собой телефонную книгу для профиля VPN. Он используется в локальном пользовательском интерфейсе.
Настройка VPN на устройстве
Выполните следующие шаги в локальном пользовательском интерфейсе на устройстве Azure Stack Edge.
В локальном пользовательском интерфейсе перейдите на страницу VPN. В разделе "Состояние VPN" выберите Настроить.
В колонке Настройка VPN выполните следующие действия:
- В разделе "Выгрузить файл телефонной книги" выберите файл PBK, созданный в предыдущем шаге.
- В разделе "Выгрузить файл конфигурации списка общедоступных IP-адресов" укажите в качестве входных данных JSON-файл, который содержит диапазон IP-адресов центра обработки данных Azure. Этот файл был загружен в предыдущем шаге из: https://www.microsoft.com/download/details.aspx?id=56519.
- Выберите eastus в качестве региона и нажмите кнопку Применить.
В разделе Диапазоны IP-адресов, доступ к которым осуществляется только по VPN укажите диапазон виртуальной сети IPv4, который был выбран для вашей виртуальной сети Azure.
Проверка подключения клиента
- Перейдите к VPN-шлюзу на портале Azure.
- Перейдите к Параметры > конфигурации "точка — сеть". В разделе Выделенные IP-адреса должен отобразиться IP-адрес устройства Azure Stack Edge.
Проверка передачи данных по VPN
Чтобы убедиться, что VPN работает, скопируйте данные в общую папку SMB. Выполните действия, описанные в разделе Добавление общей папки на устройстве Azure Stack Edge.
Скопируйте файл, например \data\pictures\waterfall.jpg, в общую папку SMB, подключенную к системе клиента.
Проверка передачи данных по VPN в процессе копирования данных:
Перейдите к VPN-шлюзу на портале Azure.
Перейдите к метрикам мониторинга>.
В области справа выберите Область в качестве VPN-шлюза, Метрика в качестве полосы пропускания шлюза "точка-сеть" и Агрегирование в качестве AVG.
При копировании данных вы увидите увеличение уровня использования полосы пропускания, а после завершения копирования данных потребление полосы пропускания снизится.
Убедитесь, что этот файл отображается в вашей учетной записи хранения в облаке.
Отладка проблем
Для устранения ошибок используйте следующие команды:
Get-AzResourceGroupDeployment -DeploymentName $deploymentName -ResourceGroupName $ResourceGroupName
Пример выходных данных приведен ниже.
PS C:\Projects\TZL\VPN\Azure-VpnDeployment> Get-AzResourceGroupDeployment -DeploymentName "tznvpnrg14_deployment" -ResourceGroupName "tznvpnrg14"
DeploymentName : tznvpnrg14_deployment
ResourceGroupName : tznvpnrg14
ProvisioningState : Succeeded
Timestamp : 1/21/2020 6:23:13 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=========================================== ========================= ==========
virtualNetworks_vnet_name String tznvpnrg14_vnet
azureFirewalls_firewall_name String tznvpnrg14_firewall
routeTables_routetable_name String tznvpnrg14_routetable
publicIPAddresses_VNGW_public_ip_name String tznvpnrg14_vngwpublicip
virtualNetworkGateways_VNGW_name String tznvpnrg14_vngw
publicIPAddresses_firewall_public_ip_name String tznvpnrg14_fwpip
localNetworkGateways_LNGW_name String tznvpnrg14_lngw
connections_vngw_lngw_name String tznvpnrg14_connection
location String East US
vnetIPv4AddressSpace String 172.24.0.0/16
defaultSubnetIPv4AddressSpace String 172.24.0.0/24
firewallSubnetIPv4AddressSpace String 172.24.1.0/24
gatewaySubnetIPv4AddressSpace String 172.24.2.0/24
gatewaySubnetIPv4bgpPeeringAddress String 172.24.2.254
customerNetworkAddressSpace String 10.0.0.0/18
customerPublicNetworkAddressSpace String 207.68.128.0/24
dbeIOTNetworkAddressSpace String 10.139.218.0/24
azureVPNsharedKey String 1234567890
dbE-Gateway-ipaddress String 207.68.128.113
Outputs :
Name Type Value
======================= ========================= ==========
virtualNetwork Object {
"provisioningState": "Succeeded",
"resourceGuid": "dcf673d3-5c73-4764-b077-77125eda1303",
"addressSpace": {
"addressPrefixes": [
"172.24.0.0/16"
]
================= CUT ============================= CUT ===========================
Get-AzResourceGroupDeploymentOperation -ResourceGroupName $ResourceGroupName -DeploymentName $AzureDeploymentName
Следующие шаги
Настройка VPN с помощью локального пользовательского интерфейса на устройстве Azure Stack Edge.