Настройка ExpressRoute и подключения типа "Site-to-Site" (классическая модель)

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

Это важно

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

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

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

В настоящее время Azure работает с двумя моделями развертывания: Resource Manager и классической. Две модели не полностью совместимы друг с другом. Прежде чем начать, необходимо знать, в какой модели вы хотите работать. Сведения о моделях развертывания см. в разделе "Основные сведения о моделях развертывания". Если вы не знакомы с 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 и пиринговые соединения Microsoft. Канал ExpressRoute всегда является основным соединением. Поток данных через межсайтовый VPN-путь происходит только в случае сбоя канала ExpressRoute.

Замечание

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

Схема, показывающая VPN-подключение типа

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

Вы можете настроить сеть, где некоторые сайты подключаются непосредственно к Azure через VPN типа "сеть — сеть" и некоторые сайты подключаются через ExpressRoute.

Сосуществовать

Замечание

Невозможно настроить виртуальную сеть в качестве транзитного маршрутизатора.

Выбор шагов, которые будут использоваться

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

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

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

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

    Возможно, у вас уже есть виртуальная сеть с существующим VPN-подключением типа "сеть — сеть" или подключением ExpressRoute. В разделе статьи по настройке сосуществующих подключений для уже существующей виртуальной сети описано удаление шлюза, а затем создание новых VPN-подключений 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
    

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

В этой процедуре пошагово описывается создание виртуальной сети (VNet) и настройка подключений типа Site-to-Site и ExpressRoute, которые могут сосуществовать.

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

  2. Создайте схему для виртуальной сети. Дополнительные сведения о схеме конфигурации см. в схеме конфигурации виртуальной сети 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. Не забудьте указать GatewaySKU как Standard, HighPerformance или UltraPerformance и GatewayType как DynamicRouting.

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

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

    New-AzureDedicatedCircuitLink -ServiceKey <service-key> -VNetName MyAzureVNET
    
  6. Затем создайте межсетевой VPN-шлюз. ШлюзSKU должен быть стандартным, 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-устройство для подключения к новому шлюзу. Используйте сведения, полученные на шаге 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 или VPN-шлюз типа "сеть — сеть". Используйте следующий командлет, заменив значения собственными.

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

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

    Замечание

    Если в виртуальной сети недостаточно IP-адресов, чтобы увеличить размер подсети шлюза, необходимо добавить дополнительное пространство IP-адресов. Дополнительные сведения о схеме конфигурации см. в схеме конфигурации виртуальной сети 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