Добавление подключения типа "сеть-сеть" к виртуальной сети с помощью существующего подключения VPN-шлюза (классическая модель)

Примечание

В этой статье рассматривается использование классической модели развертывания. Если вы новичок в Azure, мы советуем вместо этого использовать модель развертывания с помощью Resource Manager. Модель развертывания с помощью Resource Manager — это самая новая модель развертывания, которая предлагает больше возможностей и более расширенную совместимость функций, чем классическая. Дополнительные сведения о моделях развертывания см. в статье Развертывание с помощью Azure Resource Manager и классическое развертывание: сведения о моделях развертывания и состоянии ресурсов.

Чтобы узнать версию Resource Manager, используемую в этой статье, выберите соответствующий пункт в раскрывающемся списке или в оглавлении в левой части окна.

В этой статье рассматривается использование PowerShell для добавления подключений типа "сеть — сеть" (S2S) к VPN-шлюзу с имеющимся подключением. Этот тип подключения часто называется "многосайтовым". Действия из этой статьи относятся к виртуальным сетям, созданным с помощью классической модели развертывания (также называется управлением службами). Эти действия не применяются к параллельно существующим конфигурациям подключений ExpressRoute и "сеть — сеть".

Модели и методы развертывания

Сейчас Azure поддерживает две модели развертывания: классическую и с использованием Resource Manager. Две модели не являются полностью совместимыми друг с другом. Прежде чем начать, необходимо выяснить, в какой модели вам нужно работать. Дополнительную информацию о моделях развертывания см. в статье о моделях развертывания Azure. Если вы новичок в Azure, мы советуем использовать модель развертывания Resource Manager.

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

Модель и метод развертывания Портал Azure PowerShell
Resource Manager Руководство Поддерживается
Классический Не поддерживается Руководство

О подключении

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

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

Многосайтовая схема

Что необходимо учесть

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

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

Перед началом

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

  • Совместимое оборудование VPN для каждого местного расположения. Ознакомьтесь со статьей VPN-устройства для создания виртуальных сетей , чтобы проверить, является ли совместимым устройство, которое вы хотите использовать.
  • Внешний общедоступный IPv4-адрес для каждого VPN-устройства. Этот IP-адрес не может располагаться вне преобразования сетевых адресов (NAT). Это обязательное требование.
  • Пользователь, имеющий опыт в настройке вашего оборудования VPN. Вам нужно будет хорошо понимать, как настраивать VPN-устройство, или воспользоваться помощью соответствующего специалиста.
  • Диапазоны IP-адресов, которые вы хотите использовать для виртуальной сети (если она еще не создана).
  • Диапазоны IP-адресов для каждого сайта локальной сети, к которым вы будете подключаться. Понадобится убедиться, что диапазоны IP-адресов сайтов локальной сети, к которым требуется подключиться, не перекрываются. В противном случае портал или REST API отклонит передаваемую конфигурацию.
    Например, если два сайта локальной сети содержат диапазон IP-адресов 10.2.3.0/24 и имеется пакет с адресом назначения 10.2.3.3, Azure не сможет определить сайт, на который требуется отправить пакет, так как диапазоны адресов перекрываются. Для предотвращения проблем с маршрутизацией Azure не позволит передать файл конфигурации с перекрывающимися диапазонами адресов.

Работа с Azure PowerShell

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

1. Создайте подключение VPN типа "сеть — сеть"

Это отлично, если у вас уже есть подключение VPN типа "сеть — сеть" со шлюзом с динамической маршрутизацией. Можно перейти к экспорту параметров конфигурации виртуальной сети. Если нет, выполните следующее:

Если у вас уже есть виртуальная сеть типа "сеть — сеть", но со шлюзом со статической маршрутизацией (на основе политики)

  1. Измените тип шлюза на шлюз с динамической маршрутизацией. Для многосайтового подключения VPN требуется шлюз с динамической маршрутизацией (также известный как шлюз на основе маршрутов). Чтобы изменить тип шлюза, необходимо сначала удалить существующий шлюз, а затем создать новый.
  2. Настройте новый шлюз и создайте VPN-туннель. Инструкции см. в разделе Указание SKU и типа VPN. Убедитесь, что для типа маршрутизации задано значение "Динамический".

Если у вас нет виртуальной сети типа "сеть — сеть"

  1. Создайте виртуальную сеть с VPN-подключением типа "сеть — сеть" с помощью указаний в этой статье.
  2. Настройте шлюз с динамической маршрутизацией с помощью следующей процедуры: Настройка VPN-шлюза. Не забудьте выбрать динамическую маршрутизацию в качестве типа шлюза.

2. Экспортируйте файл конфигурации сети

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

azure config mode asm

Подключитесь к учетной записи. Для подключения используйте следующий пример кода:

Add-AzureAccount

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

Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml

3. Откройте файл конфигурации сети

Откройте файл конфигурации сети, скачанный на последнем шаге. Используйте любой редактор XML. Файл должен выглядеть следующим образом:

<NetworkConfiguration xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
  <VirtualNetworkConfiguration>
    <LocalNetworkSites>
      <LocalNetworkSite name="Site1">
        <AddressSpace>
          <AddressPrefix>10.0.0.0/16</AddressPrefix>
          <AddressPrefix>10.1.0.0/16</AddressPrefix>
        </AddressSpace>
        <VPNGatewayAddress>131.2.3.4</VPNGatewayAddress>
      </LocalNetworkSite>
      <LocalNetworkSite name="Site2">
        <AddressSpace>
          <AddressPrefix>10.2.0.0/16</AddressPrefix>
          <AddressPrefix>10.3.0.0/16</AddressPrefix>
        </AddressSpace>
        <VPNGatewayAddress>131.4.5.6</VPNGatewayAddress>
      </LocalNetworkSite>
    </LocalNetworkSites>
    <VirtualNetworkSites>
      <VirtualNetworkSite name="VNet1" AffinityGroup="USWest">
        <AddressSpace>
          <AddressPrefix>10.20.0.0/16</AddressPrefix>
          <AddressPrefix>10.21.0.0/16</AddressPrefix>
        </AddressSpace>
        <Subnets>
          <Subnet name="FE">
            <AddressPrefix>10.20.0.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="BE">
            <AddressPrefix>10.20.1.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="GatewaySubnet">
            <AddressPrefix>10.20.2.0/29</AddressPrefix>
          </Subnet>
        </Subnets>
        <Gateway>
          <ConnectionsToLocalNetwork>
            <LocalNetworkSiteRef name="Site1">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
          </ConnectionsToLocalNetwork>
        </Gateway>
      </VirtualNetworkSite>
    </VirtualNetworkSites>
  </VirtualNetworkConfiguration>
</NetworkConfiguration>

4. Добавьте ссылки на несколько сайтов

При добавлении или удалении данных ссылок на сайты будут внесены изменения в элемент ConnectionsToLocalNetwork/LocalNetworkSiteRef. При добавлении новой ссылки на локальный сайт Azure инициирует создание нового туннеля. В следующем примере приведена конфигурации сети для подключения одного сайта. Сохраните файл после внесения изменений.

  <Gateway>
    <ConnectionsToLocalNetwork>
      <LocalNetworkSiteRef name="Site1"><Connection type="IPsec" /></LocalNetworkSiteRef>
    </ConnectionsToLocalNetwork>
  </Gateway>

Чтобы добавить ссылки на сайты (создать многосайтовую конфигурацию), просто добавьте дополнительные строки "LocalNetworkSiteRef", как показано в следующем примере:

  <Gateway>
    <ConnectionsToLocalNetwork>
      <LocalNetworkSiteRef name="Site1"><Connection type="IPsec" /></LocalNetworkSiteRef>
      <LocalNetworkSiteRef name="Site2"><Connection type="IPsec" /></LocalNetworkSiteRef>
    </ConnectionsToLocalNetwork>
  </Gateway>

5. Импортируйте файл конфигурации сети

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

6. Скачайте ключи

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

Пример:

Get-AzureVNetGatewayKey –VNetName "VNet1" –LocalNetworkSiteName "Site1"
Get-AzureVNetGatewayKey –VNetName "VNet1" –LocalNetworkSiteName "Site2"

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

7. Проверьте подключения

Проверьте состояние многосайтового туннеля. После скачивания ключей для каждого туннеля необходимо проверить подключения. Используйте командлет "Get-AzureVnetConnection", чтобы получить список туннелей виртуальной сети, как показано в примере ниже. VNet1 — имя виртуальной сети.

Get-AzureVnetConnection -VNetName VNET1

Пример возвращаемых данных:

    ConnectivityState         : Connected
    EgressBytesTransferred    : 661530
    IngressBytesTransferred   : 519207
    LastConnectionEstablished : 5/2/2014 2:51:40 PM
    LastEventID               : 23401
    LastEventMessage          : The connectivity state for the local network site 'Site1' changed from Not Connected to Connected.
    LastEventTimeStamp        : 5/2/2014 2:51:40 PM
    LocalNetworkSiteName      : Site1
    OperationDescription      : Get-AzureVNetConnection
    OperationId               : 7f68a8e6-51e9-9db4-88c2-16b8067fed7f
    OperationStatus           : Succeeded

    ConnectivityState         : Connected
    EgressBytesTransferred    : 789398
    IngressBytesTransferred   : 143908
    LastConnectionEstablished : 5/2/2014 3:20:40 PM
    LastEventID               : 23401
    LastEventMessage          : The connectivity state for the local network site 'Site2' changed from Not Connected to Connected.
    LastEventTimeStamp        : 5/2/2014 2:51:40 PM
    LocalNetworkSiteName      : Site2
    OperationDescription      : Get-AzureVNetConnection
    OperationId               : 7893b329-51e9-9db4-88c2-16b8067fed7f
    OperationStatus           : Succeeded

Дальнейшие действия

Чтобы больше узнать о VPN-шлюзах, см. статью Шлюзы VPN.