Azure Network: Configurare Routing Multihop

Microsoft Azure

Autore: Nicola Ferrini

 

Abbiamo visto in un precedente articolo come sia possibile collegare tra di loro due VNET (Azure Network: Configurare una VNet to VNet) e come sia possibile creare delle VNET multisite su Azure (Azure Network: Configurare Multisite VPN).

 

In questo articolo verrà mostrato come creare una rete di tipo Daisy Chain che permetta di ruotare il traffico tra diverse VNET. In particolare il traffico deve essere routato tra la rete della sede di Roma, passando attraverso la VNET del datacenter Azure di West Europe (Amsterdam) e la rete della VNET Azure del datacenter di Japan East (Tokio), verso la sede aziendale di Tokio come mostrato in figura.

 

2016_03_05_Multihop_01
Figura 1 – Scenario di Rete

 

Il vantaggio di questo tipo di scenario consiste nello sfruttare la larghezza di banda offerta dal collegamento tra i due datacenter di Azure (West Europe e Japan East).

 

Per configurare le reti ci serviremo del vecchio portale di Azure https://manage.windowsazure.com . Se avete già delle reti configurate è sufficiente esportarle andando nel nodo Networks e cliccando su Export, per poter modificare il file NetworkConfig.xml.

 

Se volete realizzare un laboratorio ex-novo dovete:

 

  • Creare le due VNET in West Europe e Japan East (o in altri datacenter di vostra scelta)
  • Creare un gateway di tipo dinamico per ogni singola VNET (potete creare anche il gateway da Powershell e usare gateway ad alte prestazioni che supportano fino a 30 connessioni Site-to-site con il comando New-AzureVNetGateway –VNetName NomeVNET –GatewaySKU HighPerformance –GatewayType DynamicRouting)
  • Esportare il file di configurazione della rete
  • Modificare il VPNGatewayAddress per ogni LocalNetworkSite in modo tale che coincida con l’indirizzo IP del Gateway di ogni singola VNET
  • Importare la nuova configurazione andando in NetworksàDashboardàNewàImport configuration
  • Far associare i diversi gateway utilizzando Azure Powershell e facendogli scambiare la chiave di cifratura, per ogni Gateway.

 

Nella seguente tabella viene riportata la configurazione di rete per le Virtual Network.

 

Name Address Space Subnet Name Subnet
WestEurope 172.31.0.0/16 Subnet-1 172.31.0.0/17
  GatewaySubnet 172.31.128.0/29
Japan East 172.28.0.0/24 Subnet-1 172.28.0.0/25
  GatewaySubnet 172.28.0.128/29

 

Nella seguente tabella viene riportata la configurazione di rete per le Local Network.

 

Name Address Space
Roma-Amsterdam 192.168.11.0/24 , 172.31.0.0/16
DatacenterTokio-SedeTokio 192.168.12.0/24, 172.28.0.0/24

 

Per collegare tra di loro i diversi Gateway dovete lanciare I seguenti comandi:

 

Set-AzureVNetGatewayKey -VNetName WestEurope -LocalNetworkSiteName DatacenterTokio-SedeTokio -SharedKey Querty123456

Set-AzureVNetGatewayKey -VNetName Japan East -LocalNetworkSiteName Roma-Amsterdam -SharedKey Querty123456

 

Il file di configurazione NetworkConfig.xml avrà queste informazioni:

 

<NetworkConfiguration xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration”>

  <VirtualNetworkConfiguration>

    <Dns>

      <DnsServers>

        <DnsServer name=”DC1″ IPAddress=”172.31.0.4″ />

        <DnsServer name=”DC2″ IPAddress=”172.31.0.6″ />

      </DnsServers>

    </Dns>

    <LocalNetworkSites>

      <LocalNetworkSite name=”SedeRoma”>

        <AddressSpace>

          <AddressPrefix>192.168.11.0/24</AddressPrefix>

        </AddressSpace>

        <VPNGatewayAddress>x.x.x.x</VPNGatewayAddress>

      </LocalNetworkSite>

                    <LocalNetworkSite name=”SedeTokio”>

        <AddressSpace>

          <AddressPrefix>192.168.12.0/24</AddressPrefix>

        </AddressSpace>

        <VPNGatewayAddress>k.k.k.k</VPNGatewayAddress>

      </LocalNetworkSite>

      <LocalNetworkSite name=”Roma-Amsterdam”>

        <AddressSpace>

          <AddressPrefix>192.168.11.0/24</AddressPrefix>

          <AddressPrefix>172.31.0.0/16</AddressPrefix>

        </AddressSpace>

        <VPNGatewayAddress>y.y.y.y</VPNGatewayAddress>

      </LocalNetworkSite>

      <LocalNetworkSite name=”DatacenterTokio-SedeTokio”>

        <AddressSpace>

          <AddressPrefix>172.28.0.0/24</AddressPrefix>

                                <AddressPrefix>192.168.12.0/24</AddressPrefix>

        </AddressSpace>

        <VPNGatewayAddress>z.z.z.z</VPNGatewayAddress>

      </LocalNetworkSite>

    </LocalNetworkSites>

    <VirtualNetworkSites>

      <VirtualNetworkSite name=”TCD2016″ Location=”West Europe”>

        <AddressSpace>

          <AddressPrefix>172.31.0.0/16</AddressPrefix>

        </AddressSpace>

        <Subnets>

          <Subnet name=”Subnet-1″>

            <AddressPrefix>172.31.0.0/17</AddressPrefix>

          </Subnet>

          <Subnet name=”GatewaySubnet”>

            <AddressPrefix>172.31.128.0/29</AddressPrefix>

          </Subnet>

        </Subnets>

        <Gateway>

          <VPNClientAddressPool>

            <AddressPrefix>172.30.0.0/24</AddressPrefix>

          </VPNClientAddressPool>

          <ConnectionsToLocalNetwork>

            <LocalNetworkSiteRef name=”SedeRoma”>

              <Connection type=”IPsec” />

            </LocalNetworkSiteRef>

            <LocalNetworkSiteRef name=”DatacenterTokio-SedeTokio”>

              <Connection type=”IPsec” />

            </LocalNetworkSiteRef>

          </ConnectionsToLocalNetwork>

        </Gateway>

      </VirtualNetworkSite>

      <VirtualNetworkSite name=”TOKIO” Location=”Japan East”>

        <AddressSpace>

          <AddressPrefix>172.28.0.0/24</AddressPrefix>

        </AddressSpace>

        <Subnets>

          <Subnet name=”Subnet-1″>

            <AddressPrefix>172.28.0.0/25</AddressPrefix>

          </Subnet>

          <Subnet name=”GatewaySubnet”>

            <AddressPrefix>172.28.0.128/29</AddressPrefix>

          </Subnet>

        </Subnets>

        <Gateway>

          <ConnectionsToLocalNetwork>

            <LocalNetworkSiteRef name=”Roma-Amsterdam”>

              <Connection type=”IPsec” />

            </LocalNetworkSiteRef>

          </ConnectionsToLocalNetwork>

        </Gateway>

      </VirtualNetworkSite>

    </VirtualNetworkSites>

  </VirtualNetworkConfiguration>

</NetworkConfiguration>

 

Per approfondimenti potete leggere l’articolo https://blogs.msdn.microsoft.com/igorpag/2015/10/01/hubspoke-daisy-chain-and-full-mesh-vnet-topologies-in-azure-arm-using-vpn-v1/.