Настройка подключения между виртуальными сетями (классическая модель)

В этой статье описывается, как создать подключение VPN-шлюза между виртуальными сетями. Виртуальные сети могут относиться к одному или разным регионам и к одной или разным подпискам.

Действия, описанные в этой статье, применяются к классической (устаревшей) модели развертывания и не применяются к текущей модели развертывания Resource Manager. Вы больше не можете создать шлюз с помощью классической модели развертывания. Вместо этого см. версию Resource Manager этой статьи.

Важно!

Вы больше не можете создавать новые шлюзы виртуальной сети для классических виртуальных сетей модели развертывания (управления службами). Новые шлюзы виртуальной сети можно создавать только для виртуальных сетей Resource Manager.

Diagram showing classic VNet-to-VNet architecture.

Примечание.

Эта статья написана для классической (устаревшей) модели развертывания. Вместо этого рекомендуется использовать последнюю модель развертывания Azure. Модель развертывания Resource Manager — это последняя модель развертывания, которая предоставляет дополнительные возможности и совместимость функций, чем классическая модель развертывания. Чтобы понять разницу между этими двумя моделями развертывания, ознакомьтесь с разделом "Общие сведения о моделях развертывания" и состоянии ресурсов.

Если вы хотите использовать другую версию этой статьи, используйте оглавление в левой области.

О подключениях "виртуальная сеть — виртуальная сеть"

Подключение типа "виртуальная сеть — виртуальная сеть" в классической модели развертывания через VPN-шлюз похоже на подключение виртуальной сети к локальному сайту. В обоих типах подключений используется VPN-шлюз для создания защищенного туннеля, использующего IPsec/IKE.

Подключаемые виртуальные сети могут иметь разные подписки в разных регионах. Можно комбинировать подключение "виртуальная сеть — виртуальная сеть" с многосайтовыми конфигурациями. Это позволяет настраивать топологии сети, совмещающие распределенные подключения с подключениями между виртуальными сетями.

Diagram showing VNet-VNet connections.

Зачем нужна связь между виртуальными сетями?

По следующим причинам может потребоваться подключить виртуальные сети:

  • Межрегиональная географическая избыточность и географическое присутствие

    • Вы можете настроить собственную георепликацию или синхронизацию с безопасной связью без прохождения трафика через конечные точки с выходом в Интернет.
    • С помощью Azure Load Balancer и технологий кластеризации корпорации Майкрософт или сторонних производителей можно настроить высокодоступную рабочую нагрузку с геоизбыточностью в нескольких регионах Azure. Одним из важных примеров является настройка SQL Always On с группами доступности, распределенными между несколькими регионами Azure.
  • Региональные многоуровневые приложения с четкой границей изоляции

    • В одном регионе можно настроить многоуровневые приложения с использованием нескольких связанных друг с другом виртуальных сетей с сильной изоляцией и защищенной связью между уровнями.
  • Обмен данными между подписками и организациями в Azure

    • Если у вас есть несколько подписок Azure, то вы можете безопасно связывать рабочие нагрузки из разных подписок между виртуальными сетями.
    • Благодаря технологии защищенных сетей VPN в Azure для предприятий или поставщиков услуг возможен обмен данными между организациями.

См. дополнительные сведения в разделе с часто задаваемыми вопросами о подключениях типа "виртуальная сеть — виртуальная сеть" в конце этой статьи.

Необходимые компоненты

Мы используем портал для большинства операций, но для создания подключений между виртуальными сетями нужно использовать PowerShell. Невозможно создать подключения с помощью портал Azure, так как на портале нет способа указать общий ключ. При работе с классической моделью развертывания нельзя использовать Azure Cloud Shell. Вместо этого нужно установить локально на компьютере последнюю версию командлетов PowerShell из набора программных интерфейсов по управлению службами Azure. Эти командлеты отличаются от командлетов AzureRM или Az. Сведения об установке командлетов из набора программных интерфейсов по управлению службами см. в статье Установка командлетов из набора программных интерфейсов по управлению службами. Дополнительные сведения общего характера об Azure PowerShell см. в документации по Azure PowerShell.

Планирование

Важно определить диапазоны адресов, которые будут использоваться при настройке виртуальных сетей. При настройке необходимо убедиться в том, что никакие из диапазонов виртуальных сетей или диапазонов локальных сетей, к которым они подключены, никак не перекрываются между собой.

Виртуальные сети

Для этого упражнения мы используем следующие примерные значения:

Значения для TestVNet1

Имя: TestVNet1
Адресное пространство: 10.11.0.0/16, 10.12.0.0/16 (необязательно)
Имя подсети: default
Адресное пространство подсети: 10.11.0.0/24
Группа ресурсов: ClassicRG
Расположение: восточная часть США
Подсеть шлюза: 10.11.1.0/27

Значения для TestVNet4

Имя: TestVNet4
Адресное пространство: 10.41.0.0/16, 10.42.0.0/16 (необязательно)
Имя подсети: default
Диапазон адресов подсети: 10.41.0.0/24.
Группа ресурсов: ClassicRG
Расположение: Западная часть США
Подсеть шлюза: 10.41.1.0/27

Подключения

В следующей таблице показан пример подключения виртуальных сетей. Используйте указанные диапазоны только в качестве примера. Запишите диапазоны для своих виртуальных сетей. Эти сведения будут необходимы для выполнения последующих действий.

В этом примере TestVNet1 подключается к созданному вами сайту локальной сети с именем VNet4Local. Параметры VNet4Local содержат префиксы адресов TestVNet4. Локальным сайтом каждой виртуальной сети является другая виртуальная сеть. Для этой конфигурации используются следующие примеры значений:

Пример

Виртуальная сеть Адресное пространство Расположение Подключается к сайту локальной сети
TestVNet1 TestVNet1
(10.11.0.0/16)
(10.12.0.0/16)
Восточная часть США SiteVNet4
(10.41.0.0/16)
(10.42.0.0/16)
TestVNet4 TestVNet4
(10.41.0.0/16)
(10.42.0.0/16)
западная часть США SiteVNet1
(10.11.0.0/16)
(10.12.0.0/16)

Создание виртуальных сетей

На этом этапе вы создаете две классические виртуальные сети: TestVNet1 и TestVNet4. Если вы используете эту статью в качестве упражнения, используйте примеры значений.

При создании виртуальных сетей необходимо учитывать следующие параметры:

  • Адресное пространство виртуальной сети. На странице "Адресное пространство виртуальной сети" укажите диапазон адресов, который вы хотите использовать для виртуальной сети. Это динамические IP-адреса, которые будут назначаться виртуальным машинам и другим экземплярам ролей, развертываемым в этой виртуальной сети.
    Выбранное адресное пространство не может перекрываться с адресными пространствами для любой из других виртуальных сетей или локальных расположений, к которым будет подключаться эта виртуальная сеть.

  • Расположение — при создании виртуальную сеть можно связать с расположением Azure (регионом). Например, если вы хотите, чтобы ваши виртуальные машины разворачивались в виртуальной сети, которая физически расположена в западной части США, выберите это расположение. Нельзя изменить расположение, связанное с виртуальной сетью, после ее создания.

После создания виртуальных сетей можно добавить следующие параметры:

  • Адресное пространство — дополнительное адресное пространство не требуется для этой конфигурации, но после создания виртуальной сети можно добавить дополнительное адресное пространство.

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

  • DNS-серверы. Введите имя и IP-адрес DNS-сервера. Этот параметр не создает DNS-сервер. Он позволяет указать DNS-сервер, который вы хотите использовать для разрешения имен в этой виртуальной сети.

Для создания классической виртуальной сети

  1. В браузере откройте портал Azure и при необходимости войдите с помощью учетной записи Azure.
  2. Выберите +Создать ресурс. В поле Поиск по Marketplace введите "Виртуальная сеть". Найдите виртуальную сеть в возвращенном списке и выберите ее, чтобы открыть страницу виртуальной сети.
  3. На странице "Виртуальная сеть" под кнопкой "Создать" вы увидите "Развернуть с помощью диспетчера ресурсов (изменить на классический)". Диспетчер ресурсов используется по умолчанию для создания виртуальной сети. Вы не хотите создавать виртуальную сеть Resource Manager. Выберите (изменить на Classic), чтобы создать классическую виртуальную сеть. Затем выберите вкладку Обзор и выберите Создать.
  4. На странице Создание виртуальной сети (классическая) на вкладке Основные настройте параметры виртуальной сети с использованием примеров значений.
  5. Выберите Обзор + создать, чтобы проверить свою виртуальную сеть.
  6. Выполняется проверка. После проверки виртуальной сети выберите Создать.

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

После создания виртуальной сети можно добавить IP-адрес DNS-сервера для обработки разрешения имен. Откройте настройки своей виртуальной сети, выберите DNS-серверы и добавьте IP-адрес DNS-сервера, который вы хотите использовать для разрешения имен.

  1. Найдите виртуальную сеть на портале.
  2. В колонке виртуальной сети в разделе Параметры выберите DNS-серверы.
  3. Добавьте DNS-сервер.
  4. Чтобы сохранить параметры, выберите кнопку Сохранить в верхней части страницы.

Настроить сайты и шлюзы

С помощью параметров, заданных в каждом сайте локальной сети, Azure определяет способ маршрутизации трафика между виртуальными сетями. Каждая виртуальная сеть должна указывать на соответствующую локальную сеть, в которую будет выполняться маршрутизация трафика. Укажите имена, которые будут использоваться для ссылки на каждый из сайтов локальной сети. Лучше всего использовать описательные имена.

Например, сеть TestVNet1 подключается к созданному вами сайту локальной сети с именем VNet4Local. Параметры VNet4Local содержат префиксы адресов TestVNet4.

Помните, что локальным сайтом каждой виртуальной сети является другая виртуальная сеть.

Виртуальная сеть Адресное пространство Расположение Подключается к сайту локальной сети
TestVNet1 TestVNet1
(10.11.0.0/16)
(10.12.0.0/16)
Восточная часть США SiteVNet4
(10.41.0.0/16)
(10.42.0.0/16)
TestVNet4 TestVNet4
(10.41.0.0/16)
(10.42.0.0/16)
западная часть США SiteVNet1
(10.11.0.0/16)
(10.12.0.0/16)

Чтобы настроить сайт

Термин "локальный сайт" обычно означает локальное расположение. Он содержит IP-адрес VPN-устройства, к которому вы создадите подключение, и диапазоны IP-адресов, которые направляются через VPN-шлюз на VPN-устройство.

  1. На странице вашей виртуальной сети в разделе Параметры выберите Подключения "сеть — сеть".

  2. На странице Подключения "сеть — сеть" нажмите кнопку + Добавить.

  3. На странице Настройка подключения VPN и шлюза оставьте для параметра Тип подключения значение Сеть — Сеть.

    • IP-адрес VPN-шлюза. Это общедоступный IP-адрес VPN-устройства для локальной сети. В этом упражнении можно поместить в фиктивный адрес, так как у вас еще нет IP-адреса для VPN-шлюза для другого сайта. Например, 5.4.3.2. Позже, когда вы настроите шлюз для другой виртуальной сети, вы сможете изменить это значение.

    • Адресное пространство клиента: перечислите диапазоны IP-адресов, которые вы хотите направить в другую виртуальную сеть через этот шлюз. Можно добавить несколько диапазонов пространства адресов. Убедитесь, что указанные здесь диапазоны не перекрываются с диапазонами других сетей, к которым подключается виртуальная сеть, или с диапазонами адресов самой виртуальной сети.

  4. В нижней части страницы НЕ НАЖИМАЙТЕ кнопку "Проверить и создать". Вместо этого выберите Далее: шлюз>.

Чтобы настроить шлюз виртуальной сети

  1. На странице Шлюз выберите следующие значения:

    • Размер — это SKU шлюза, который будет использоваться для создания шлюза виртуальной сети. Классические VPN-шлюзы используют старые (устаревшие версии) SKU. Дополнительные сведения об устаревших версиях SKU шлюза см. в статье Работа со SKU шлюза виртуальной сети (старые версии SKU). Для этого упражнения можно выбрать Стандартный.

    • Подсеть шлюза: размер указанной подсети шлюза зависит от конфигурации создаваемого VPN-шлюза. Хотя можно создать подсеть шлюза меньше /29, рекомендуется использовать /27 или /28. При этом создается большая подсеть, которая включает в себя больше адресов. Использование более крупной подсети для шлюза позволяет создавать достаточное число IP-адресов с учетом возможных конфигураций в будущем.

  2. Нажмите кнопку Проверить и создать в нижней части страницы, чтобы проверить параметры. Нажмите кнопку Создать для развертывания. Создание шлюза виртуальной сети может занять до 45 минут в зависимости от выбранного вами SKU шлюза.

  3. Вы можете перейти к следующему шагу во время создания этого шлюза.

Настройте параметры TestVNet4

Повторите шаги для Создания сайта и шлюза, чтобы настроить TestVNet4, при необходимости подставляя значения. Если вы делаете это в качестве упражнения, используйте примеры значений.

Обновите локальные сайты

После создания шлюзов виртуальной сети для обеих виртуальных сетей необходимо настроить свойства локального сайта для IP-адреса шлюза VPN.

Имя виртуальной сети Подключенный сайт IP-адрес шлюза
TestVNet1 VNet4Local IP-адрес VPN-шлюза для TestVNet4
TestVNet4 VNet1Local IP-адрес VPN-шлюза для TestVNet1

Часть 1. Получение общедоступного IP-адреса шлюза виртуальной сети

  1. Перейдите к виртуальной сети, перейдя в Группу ресурсов и выбрав виртуальную сеть.
  2. На странице виртуальной сети на панели Основные компоненты справа выберите IP-адрес шлюза и скопируйте его в буфер обмена.

Часть 2. Изменение свойств локального сайта

  1. В разделе "Подключения между сайтами" выберите подключение. Например, SiteVNet4.
  2. На странице Свойства для соединения "сайт-сайт" выберите Изменить локальный сайт.
  3. В поле IP-адрес VPN-шлюза вставьте IP-адрес VPN-шлюза, который вы скопировали в предыдущем разделе.
  4. Нажмите ОК.
  5. Поле обновлено в системе. Вы также можете использовать этот метод для добавления дополнительного IP-адреса, который вы хотите направить на этот сайт.

Часть 3. Повторите шаги для другой виртуальной сети

Повторите шаги для TestVNet4.

Получите значения конфигурации

При создании классических виртуальных сетей на портале Azure имя, которое вы просматриваете, не является полным именем, используемым для PowerShell. Например, если виртуальная сеть отображается на портале с именем TestVNet1, то в файле конфигурации сети ее имя может быть гораздо длиннее. Для виртуальной сети в группе ресурсов "ClassicRG" имя может выглядеть примерно так: Group ClassicRG TestVNet1. При создании подключений важно использовать значения, приведенные в файле конфигурации сети.

Выполняя следующие действия, вы подключитесь к учетной записи Azure, а также скачаете и просмотрите файл конфигурации сети для получения значений, необходимых для подключений.

  1. Скачайте и установите последнюю версию командлетов PowerShell для управления службами Azure. У большинства людей модули Resource Manager установлены локально, но у них нет модулей Service Management. Модули управления услугами являются устаревшими и должны устанавливаться отдельно. Дополнительные сведения см. в разделе Установка командлетов управления службами.

  2. Откройте консоль PowerShell с повышенными правами и подключитесь к своей учетной записи. Используйте следующие примеры, чтобы помочь вам подключиться. Эти команды необходимо запускать локально с помощью модуля PowerShell Service Management. Подключитесь к учетной записи. Для подключения используйте следующий пример кода:

    Add-AzureAccount
    
  3. Просмотрите подписки учетной записи.

    Get-AzureSubscription
    
  4. При наличии нескольких подписок выберите подписку, которую вы хотите использовать.

    Select-AzureSubscription -SubscriptionId "Replace_with_your_subscription_ID"
    
  5. Создайте каталог на своем компьютере. Например, C:\AzureVNet

  6. Экспортируйте файл конфигурации сети в каталог. В этом примере файл конфигурации сети экспортируется в каталог C:\AzureNet.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  7. Откройте файл в текстовом редакторе и просмотрите имена для виртуальных сетей и сайтов. Эти имена будут теми именами, которые вы будете использовать при создании своих подключений.
    Имена виртуальных сетей перечислены как VirtualNetworkSite name =
    Имена сайтов перечислены как LocalNetworkSiteRef name =

Создание подключений

После завершения всех предыдущих шагов можно задать ключи предварительно общего доступа IPsec/IKE и создать подключение. Для этого набора действий используется только PowerShell. Подключения виртуальной сети к виртуальной сети для классической модели развертывания не могут быть настроены в портал Azure, так как общий ключ не может быть указан на портале.

Обратите внимание, что в приведенных ниже примерах общий ключ совпадает. Общий ключ всегда должен совпадать. Обязательно замените значения в этих примерах на точные имена для виртуальных сетей и сайтов локальной сети.

  1. Создайте подключение между TestVNet1 и TestVNet4. Обязательно измените значения.

    Set-AzureVNetGatewayKey -VNetName 'Group ClassicRG TestVNet1' `
    -LocalNetworkSiteName 'value for _VNet4Local' -SharedKey A1b2C3D4
    
  2. Создайте подключение между TestVNet4 и TestVNet1.

    Set-AzureVNetGatewayKey -VNetName 'Group ClassicRG TestVNet4' `
    -LocalNetworkSiteName 'value for _VNet1Local' -SharedKey A1b2C3D4
    
  3. Ожидание подключений для инициализации. После инициализации шлюза для состояния будет установлено значение "Успешно".

    Error          :
    HttpStatusCode : OK
    Id             :
    Status         : Successful
    RequestId      :
    StatusCode     : OK
    

Часто задаваемые вопросы и рекомендации

Эти соображения применимы к классическим виртуальным сетям и классическим виртуальным сетевым шлюзам.

  • Виртуальные сети могут быть в одной или разных подписках.
  • Виртуальные сети могут быть в одном или разных регионах (расположениях) Azure.
  • Облачная служба или конечная точка балансировки нагрузки не может распространяться на виртуальные сети, даже если они соединены друг с другом.
  • Для подключения нескольких виртуальных сетей друг к другу не требуются VPN-устройства.
  • Подключения между виртуальными сетями поддерживает подключение виртуальных сетей Azure. Он не поддерживает подключение виртуальных машин или облачных служб, которые не развернуты в виртуальной сети.
  • Для подключения "виртуальная сеть — виртуальная сеть" требуются шлюзы с динамической маршрутизацией. Шлюзы статической маршрутизации Azure не поддерживаются.
  • Подключение к виртуальной сети можно использовать одновременно с многосайтовыми VPN-подключениями. Можно использовать до 10 туннелей VPN для подключения VPN-шлюза виртуальной сети к другим виртуальным сетям или локальным сайтам.
  • Адресные пространства виртуальных сетей и местных сайтов локальных сетей не должны перекрываться. Перекрывающиеся адресные пространства приводят к сбою создания виртуальных сетей или отправки файлов конфигурации netcfg.
  • Избыточные туннели между парой виртуальных сетей не поддерживаются.
  • Все туннели VPN виртуальной сети, включая VPN-подключения типа "точка — сеть", совместно используют доступную пропускную способность VPN-шлюза Azure и регулируются одним соглашением об уровне обслуживания, определяющим время работы VPN-шлюзов в Azure.
  • Трафик между виртуальными сетями проходит через магистральную сеть Azure.

Следующие шаги

Проверьте подключения. Дополнительные сведения см. в статье Проверка подключения VPN-шлюза.