Настройка параллельных подключений ExpressRoute и "сайт — сайт" (классическая версия)

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

Важно!

Начиная с 1 марта 2017 года вы не сможете создавать каналы ExpressRoute в классической модели развертывания.

Используйте следующие ссылки для создания каналов ExpressRoute и управления ими в модели развертывания Resource Manager.

О моделях развертывания Azure

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

Важно!

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

Квоты и ограничения

  • Транзитная маршрутизация не поддерживается. Вы не можете маршрутизировать (через Azure) между локальной сетью, подключенной через VPN типа "сеть — сеть", и локальной сетью, подключенной через ExpressRoute.
  • Соединение типа "точка — сеть" не поддерживается. Невозможно включить подключения VPN "точка — сеть" к одной виртуальной сети, подключенной к ExpressRoute. VPN типа "точка — сеть" и ExpressRoute не могут сосуществовать в одной виртуальной сети.
  • Принудительное туннелирование нельзя включить в VPN-шлюзе типа "сеть — сеть". Весь интернет-трафик можно направить в локальную сеть через ExpressRoute только "принудительно".
  • Номера SKU класса "Базовый" для шлюза не поддерживаются. Используйте для ExpressRoute и VPN-шлюза номера SKU другого класса.
  • Поддерживается только VPN-шлюз на основе маршрутов. Необходимо использовать VPN-шлюз на основе маршрутов.
  • Для VPN-шлюза необходимо настроить статический маршрут. Если локальная сеть подключена и к ExpressRoute, и к VPN типа "сеть — сеть", необходимо использовать статический маршрут, настроенный в локальной сети для маршрутизации VPN-подключения типа "сеть — сеть" к Интернету.

Схемы конфигурации

Настройка VPN типа "сеть-сеть" как пути отработки отказа для ExpressRoute

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

Примечание

Хотя канал ExpressRoute лучше использовать для VPN типа "сеть — сеть", когда оба маршрута одинаковы, Azure будет выбирать маршрут для назначения пакета по совпадению самого длинного префикса.

Схема, на которой показано использование VPN-подключения типа

Настройка VPN типа "сеть-сеть" для подключения к сайтам, не подключенным через ExpressRoute

Сети можно настроить таким образом, чтобы одни из них подключались непосредственно к Azure по VPN типа "сеть-сеть", а другие — через ExpressRoute.

Существуют одновременно

Примечание

Настроить виртуальную сеть как транзитный маршрутизатор нельзя.

Выбор действий для использования

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

  • У меня нет виртуальной сети, и мне нужно ее создать.

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

  • У меня уже есть виртуальная сеть с классической моделью развертывания.

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

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

Установка командлетов PowerShell

Установите последние версии модулей PowerShell управления службами Azure (SM) и модуля ExpressRoute. В среде Azure CloudShell нельзя запускать модули SM.

  1. Воспользуйтесь инструкциями по установке модуля управления службами Azure. Если модуль Az или RM уже установлен, обязательно используйте "-AllowClobber".

  2. Импортируйте установленные модули. При использовании приведенного ниже примера измените путь в соответствии с расположением и версией установленных модулей PowerShell.

    Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\Azure.psd1'
    Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\ExpressRoute\ExpressRoute.psd1'
    
  3. Чтобы войти в свою учетную запись Azure, откройте консоль PowerShell с повышенными правами и подключитесь к учетной записи. Следующий пример позволяет установить подключение с помощью модуля управления службами:

    Add-AzureAccount
    

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

В этой процедуре описывается создание виртуальной сети, а также создание сосуществующих подключений типа "сеть — сеть" и ExpressRoute.

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

  2. Создайте схему для виртуальной сети. Дополнительные сведения о схеме конфигурации см. в статье Azure Virtual Network configuration schema (Схема конфигурации виртуальной сети Azure).

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

    • Подсеть шлюза для виртуальной сети должна иметь значение /27 или более короткий префикс (например, /26 или /25).
    • Тип подключения шлюза — Выделенный.
    <VirtualNetworkSite name="MyAzureVNET" Location="Central US">
      <AddressSpace>
        <AddressPrefix>10.17.159.192/26</AddressPrefix>
      </AddressSpace>
      <Subnets>
        <Subnet name="Subnet-1">
          <AddressPrefix>10.17.159.192/27</AddressPrefix>
        </Subnet>
        <Subnet name="GatewaySubnet">
          <AddressPrefix>10.17.159.224/27</AddressPrefix>
          /Subnet>
      </Subnets>
      <Gateway>
        <ConnectionsToLocalNetwork>
          <LocalNetworkSiteRef name="MyLocalNetwork">
            <Connection type="Dedicated" />
          </LocalNetworkSiteRef>
        </ConnectionsToLocalNetwork>
      </Gateway>
    </VirtualNetworkSite>
    
  3. После создания и настройки xml-файла схемы отправьте файл для создания виртуальной сети.

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

    Set-AzureVNetConfig -ConfigurationPath 'C:\NetworkConfig.xml'
    
  4. Создайте шлюз ExpressRoute. Не забудьте указать для номера SKU шлюза значение Standard, HighPerformance или UltraPerformance, а для типа шлюза — значение DynamicRouting.

    Используйте следующий пример, подставив собственные значения.

    New-AzureVNetGateway -VNetName MyAzureVNET -GatewayType DynamicRouting -GatewaySKU HighPerformance
    
  5. Свяжите шлюз ExpressRoute с каналом ExpressRoute. После выполнения этого действия подключение локальной сети к Azure через ExpressRoute будет установлено.

    New-AzureDedicatedCircuitLink -ServiceKey <service-key> -VNetName MyAzureVNET
    
  6. Далее создайте VPN-шлюз типа "сеть — сеть". Номер SKU шлюза должен иметь значение Standard, HighPerformance или UltraPerformance, а тип шлюза должен быть DynamicRouting.

    New-AzureVirtualNetworkGateway -VNetName MyAzureVNET -GatewayName S2SVPN -GatewayType DynamicRouting -GatewaySKU  HighPerformance
    

    Чтобы получить параметры шлюза виртуальной сети, включая идентификатор шлюза и общедоступный IP-адрес, используйте командлет Get-AzureVirtualNetworkGateway.

    Get-AzureVirtualNetworkGateway
    
    GatewayId            : 348ae011-ffa9-4add-b530-7cb30010565e
    GatewayName          : S2SVPN
    LastEventData        :
    GatewayType          : DynamicRouting
    LastEventTimeStamp   : 5/29/2015 4:41:41 PM
    LastEventMessage     : Successfully created a gateway for the following virtual network: GNSDesMoines
    LastEventID          : 23002
    State                : Provisioned
    VIPAddress           : 104.43.x.y
    DefaultSite          :
    GatewaySKU           : HighPerformance
    Location             :
    VnetId               : 979aabcf-e47f-4136-ab9b-b4780c1e1bd5
    SubnetId             :
    EnableBgp            : False
    OperationDescription : Get-AzureVirtualNetworkGateway
    OperationId          : 42773656-85e1-a6b6-8705-35473f1e6f6a
    OperationStatus      : Succeeded
    
  7. Создайте сущность VPN-шлюза локального сайта. Эта команда не настраивает локальный VPN-шлюз. Она только позволяет указать параметры локального шлюза, такие как общедоступный IP-адрес и локальное адресное пространство, чтобы VPN-шлюз Azure мог подключиться к нему.

    Важно!

    Локальный сайт для подключения VPN типа "сеть-сеть" не определяется в netcfg. Этот командлет можно использовать только для указания параметров локального сайта. Его нельзя определить с помощью портала или файла netcfg.

    Используйте следующий пример, подставив собственные значения.

    New-AzureLocalNetworkGateway -GatewayName MyLocalNetwork -IpAddress <MyLocalGatewayIp> -AddressSpace <MyLocalNetworkAddress>
    

    Примечание

    Если локальная сеть имеет несколько маршрутов, их все можно передать как массив. $MyLocalNetworkAddress = @("10.1.2.0/24","10.1.3.0/24","10.2.1.0/24")

    Чтобы получить параметры шлюза виртуальной сети, включая идентификатор шлюза и общедоступный IP-адрес, используйте командлет Get-AzureVirtualNetworkGateway. См. следующий пример.

    Get-AzureLocalNetworkGateway
    
    GatewayId            : 532cb428-8c8c-4596-9a4f-7ae3a9fcd01b
    GatewayName          : MyLocalNetwork
    IpAddress            : 23.39.x.y
    AddressSpace         : {10.1.2.0/24}
    OperationDescription : Get-AzureLocalNetworkGateway
    OperationId          : ddc4bfae-502c-adc7-bd7d-1efbc00b3fe5
    OperationStatus      : Succeeded
    
  8. Настройте локальное VPN-устройство для подключения к новому шлюзу. При настройке VPN-устройства используйте сведения, полученные на этапе 6. Дополнительные сведения о настройке VPN-устройства см. в статье О VPN-устройствах для подключений VPN-шлюзов типа "сеть — сеть".

  9. Свяжите VPN-шлюз к сети типа "сеть-сеть" в Azure с локальным шлюзом.

    В этом примере connectedEntityId — идентификатор локального шлюза, который можно узнать, выполнив Get-AzureLocalNetworkGateway. virtualNetworkGatewayId можно узнать с помощью командлета Get-AzureVirtualNetworkGateway . После выполнения этого действия подключение локальной сети к Azure через сеть VPN типа "сеть-сеть" будет установлено.

    New-AzureVirtualNetworkGatewayConnection -connectedEntityId <local-network-gateway-id> -gatewayConnectionName Azure2Local -gatewayConnectionType IPsec -sharedKey abc123 -virtualNetworkGatewayId <azure-s2s-vpn-gateway-id>
    

Настройка параллельных подключений для существующей виртуальной сети

При наличии существующей виртуальной сети проверьте размер подсети шлюза. Если размер подсети шлюза — /28 или /29, необходимо сначала удалить шлюз виртуальной сети и увеличить размер подсети шлюза. В этом разделе показано, как это сделать.

Если подсеть шлюза составляет /27 или больше, а виртуальная сеть подключена через ExpressRoute, можно пропустить эти действия и перейти к шагу 6. Создание VPN-шлюза типа "сеть — сеть" в предыдущем разделе.

Примечание

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

  1. Необходимо установить последнюю версию командлетов Azure Resource Manager PowerShell. Командлеты, которые будут использоваться для этой конфигурации, могут немного отличаться от уже знакомых вам. Обязательно используйте командлеты, указанные в инструкциях.

  2. Удалите для сети типа "сеть — сеть" существующий VPN-шлюз или шлюз ExpressRoute. Используйте командлет, приведенный ниже, подставив свои собственные значения.

    Remove-AzureVNetGateway –VnetName MyAzureVNET
    
  3. Экспортируйте схему виртуальной сети. Используйте командлет PowerShell, приведенный ниже, подставив свои собственные значения.

    Get-AzureVNetConfig –ExportToFile "C:\NetworkConfig.xml"
    
  4. Измените схему файла конфигурации сети так, чтобы подсеть шлюза имела значение /27 или более короткий префикс (например, /26 или /25). См. следующий пример.

    Примечание

    Если в виртуальной сети недостаточно свободных IP-адресов для увеличения размера подсети шлюза, необходимо добавить дополнительные пространства IP-адресов. Дополнительные сведения о схеме конфигурации см. в статье Azure Virtual Network configuration schema (Схема конфигурации виртуальной сети Azure).

    <Subnet name="GatewaySubnet">
      <AddressPrefix>10.17.159.224/27</AddressPrefix>
    </Subnet>
    
  5. Если ранее шлюз был к сети VPN типа «сеть-сеть», необходимо также изменить тип подключения на выделенный.

    <Gateway>
      <ConnectionsToLocalNetwork>
        <LocalNetworkSiteRef name="MyLocalNetwork">
          <Connection type="Dedicated" />
        </LocalNetworkSiteRef>
      </ConnectionsToLocalNetwork>
    </Gateway>
    
  6. На этом этапе у вас есть виртуальная сеть без шлюзов. Чтобы создать новые шлюзы и завершить подключение, перейдите к шагу 4 ( Создайте шлюз ExpressRoute) из предыдущего раздела.

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

Дополнительные сведения об ExpressRoute см. в статье Вопросы и ответы по ExpressRoute.