Упражнение. Создание VPN-шлюза Azure
Необходимо удостовериться, что вы можете подключать клиенты или сайты в вашей среде к Azure с помощью зашифрованных туннелей через общедоступный Интернет. В этом уроке вы создадите VPN-шлюз типа "точка — сеть" и затем подключитесь к этому шлюзу с клиентского компьютера. Вы будете использовать встроенные подключения Azure для проверки подлинности на основе сертификатов в целях безопасности.
Вы выполните следующий процесс:
создать VPN-шлюз на основе маршрутов;
отправить открытый ключ корневого сертификата для проверки подлинности;
Создайте сертификат клиента из корневого сертификата, а затем установите сертификат клиента на каждом клиентском компьютере, который будет подключаться к виртуальной сети для проверки подлинности.
создать файлы конфигурации VPN-клиента, которые содержат информацию, необходимую для подключения клиента к виртуальной сети.
Настройка
Чтобы завершить этот модуль, используйте Azure PowerShell с локального компьютера Windows.
Откройте новый сеанс PowerShell на локальном компьютере Windows, где установлен модуль Azure PowerShell.
Войдите в Azure с помощью командлета PowerShell
Connect-AzAccount
.Настройте переменные, которые будут использоваться для создания виртуальной сети. Скопируйте приведенные ниже переменные и вставьте их в PowerShell.
$VNetName = "VNetData"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "192.168.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "192.168.1.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "192.168.200.0/26"
$VPNClientAddressPool = "172.16.201.0/24"
$ResourceGroup = "VpnGatewayDemo"
$Location = "East US"
$GWName = "VNetDataGW"
$GWIPName = "VNetDataGWPIP"
$GWIPconfName = "gwipconf"
Настройка виртуальной сети
Выполните приведенную ниже команду, чтобы создать группу ресурсов.
New-AzResourceGroup -Name $ResourceGroup -Location $Location
Выполните приведенную ниже команду, чтобы создать конфигурации подсетей для виртуальной сети. Эти конфигурации имеют имя FrontEnd, BackEnd и GatewaySubnet. Все эти подсети существуют в пределах префикса виртуальной сети.
$fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix $besub = New-AzVirtualNetworkSubnetConfig -Name $BESubName -AddressPrefix $BESubPrefix $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
Далее выполните приведенную ниже команду, чтобы создать виртуальную сеть, используя значения подсети и статический DNS-сервер.
New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup -Location $Location -AddressPrefix $VNetPrefix1,$VNetPrefix2 -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
Теперь укажите переменные для созданной сети.
$vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
Выполните приведенную ниже команду, чтобы запросить динамически назначенный общедоступный IP-адрес.
$pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $ResourceGroup -Location $Location -AllocationMethod Static -Sku Standard -Zone 1,2,3 $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
Создание VPN-шлюза
При создании этого VPN-шлюза должны выполняться такие условия:
- Имя шлюза должно быть VPN.
- VpnType должен быть RouteBased.
Эта часть упражнения может занять до 45 минут.
Чтобы создать VPN-шлюз, выполните следующую команду и нажмите клавишу ВВОД.
New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $ResourceGroup ` -Location $Location -IpConfigurations $ipconf -GatewayType Vpn ` -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1AZ -VpnClientProtocol "IKEv2"
Дождитесь отображения выходных данных команды.
Добавление пула адресов VPN-клиента
Выполните приведенную ниже команду, чтобы добавить пул адресов VPN-клиента.
$Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $ResourceGroup -Name $GWName Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
Дождитесь отображения выходных данных команды.
Создание сертификата клиента
После создания сетевой инфраструктуры в Azure необходимо создать самозаверяющий сертификат клиента на локальном компьютере. Этот процесс создания аналогичен большинству операционных систем, но мы рассмотрим, как создать сертификат клиента в Windows с помощью PowerShell с модулем Azure PowerShell и служебной программой Диспетчера сертификатов Windows.
Первый шаг — создание самозаверяющего корневого сертификата. Выполните следующую команду.
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature ` -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
Затем создайте сертификат клиента, подписанный новым корневым сертификатом.
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature ` -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" ` -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
Экспорт открытого ключа сертификата
Создав сертификаты, необходимо экспортировать открытый ключ корневого сертификата.
Откройте диспетчер сертификатов, выполнив в PowerShell команду
certmgr
.Перейдите к личным>сертификатам.
Щелкните правой кнопкой мыши сертификат P2SRootCert в списке и выберите пункт "Экспорт всех задач>".
В мастере экспорта сертификатов нажмите кнопку "Далее".
Убедитесь, что выбрано «Нет, не экспортировать закрытый ключ», затем выберите «Далее».
На странице "Формат файла экспорта" убедитесь, что выбран Base-64 с кодировкой X.509 (.CER), и нажмите кнопку "Далее".
На странице "Экспорт файла" в разделе "Имя файла" перейдите в место, которое вы запомните, и сохраните файл как P2SRootCert.cer, а затем выберите Далее.
На странице "Завершение работы мастера экспорта сертификатов" нажмите кнопку "Готово".
В диалоговом окне мастера экспорта сертификатов нажмите кнопку "ОК".
Отправка сведений об открытом ключе корневого сертификата
В окне PowerShell выполните следующую команду, чтобы объявить переменную для имени сертификата:
$P2SRootCertName = "P2SRootCert.cer"
Замените
<cert-path>
заполнитель расположением экспорта корневого сертификата, а затем выполните эту команду.$filePathForCert = "<cert-path>\P2SRootCert.cer" $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert) $CertBase64 = [system.convert]::ToBase64String($cert.RawData) $p2srootcert = New-AzVpnClientRootCertificate -Name $P2SRootCertName -PublicCertData $CertBase64
Задав имя группы, отправьте сертификат в Azure с помощью приведенной ниже команды.
Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname $GWName -ResourceGroupName $ResourceGroup -PublicCertData $CertBase64
Теперь Azure распознает этот сертификат как доверенный корневой сертификат для виртуальной сети.
Настройка собственного VPN-клиента
Выполните приведенную ниже команду, чтобы создать файлы конфигурации VPN-клиента в формате ZIP.
$profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls" $profile.VPNProfileSASUrl
Скопируйте URL-адрес, возвращенный в выходных данных этой команды, и вставьте его в браузер. Браузер должен начать загрузку ZIP-файла. Извлеките содержимое архива и поместите его в подходящее место.
В некоторых браузерах скачивание этого ZIP-файла может блокироваться из-за того, что он опознается как опасный. Чтобы извлечь содержимое архива, нужно изменить настройки в браузере.
В извлеченной папке перейдите в папку WindowsAmd64 (для 64-разрядных компьютеров Windows) или папку WindowsX86 (для 32-разрядных компьютеров).
Если вы хотите настроить VPN на компьютере, отличном от Windows, можно использовать файлы сертификатов и параметров из универсальной папки.
Дважды щелкните файл VpnClientSetup{architecture}.exe, который соответствует вашей архитектуре.
На экране 'Windows защитила ваш компьютер' выберите 'Дополнительные сведения', а затем нажмите 'Всё равно запустить'.
В диалоговом окне "Контроль учетных записей пользователей " нажмите кнопку "Да".
В диалоговом окне VNetData нажмите кнопку "Да".
Подключение к Azure
Нажмите клавишу Windows , введите параметры и нажмите клавишу ВВОД.
В окне "Параметры" выберите "Сеть" и "Интернет".
В области слева выберите VPN.
В правой области выберите VNetData и нажмите кнопку "Подключить".
В окне VNetData выберите "Подключить".
В следующем окне VNetData нажмите кнопку "Продолжить".
В окне "Контроль учетных записей пользователей" нажмите кнопку "Да".
Если эти действия не работают, может потребоваться перезагрузить компьютер.
Проверка подключения
В новой командной строке Windows выполните команду
IPCONFIG /ALL
.Скопируйте IP-адрес в разделе "Адаптер PPP VNetData" или запишите его.
Убедитесь, что IP-адрес находится в диапазоне VPNClientAddressPool 172.16.201.0/24.
Вы успешно подключились к VPN-шлюзу Azure.
Вы настроили VPN-шлюз, позволяющий создать зашифрованное клиентское подключение к виртуальной сети в Azure. Этот подход отлично подходит для клиентских компьютеров и небольших подключений типа "сеть — сеть".