Controllare il routing e usare dispositivi virtuali di rete (distribuzione classica) mediante PowerShellControl routing and use virtual appliances (classic) using PowerShell

Sebbene l'utilizzo di route del sistema faciliti il traffico automaticamente per la distribuzione, esistono casi in cui si desidera controllare il routing dei pacchetti tramite un dispositivo virtuale.Although the use of system routes facilitates traffic automatically for your deployment, there are cases in which you want to control the routing of packets through a virtual appliance. Questo è possibile tramite la creazione di route definite dall'utente che specifichino l'hop successivo per i pacchetti che passano a una subnet specifica per accedere all'applicazione virtuale e tramite l’attivazione dell'inoltro IP per la macchina virtuale in esecuzione come dispositivo virtuale.You can do so by creating user defined routes that specify the next hop for packets flowing to a specific subnet to go to your virtual appliance instead, and enabling IP forwarding for the VM running as the virtual appliance.

Alcuni dei casi in cui possono essere utilizzati dispositivi di rete:Some of the cases where virtual appliances can be used include:

  • Monitoraggio del traffico con un sistema di rilevamento delle intrusioni (ID)Monitoring traffic with an intrusion detection system (IDS)
  • Controllo del traffico con un firewallControlling traffic with a firewall

Per altre informazioni su UDR, l’inoltro IP vedere Route e inoltro IP definiti dall'utente.For more information about UDR and IP forwarding, visit User Defined Routes and IP Forwarding.

Importante

Prima di iniziare a usare le risorse di Azure, è importante comprendere che Azure al momento offre due modelli di distribuzione, la distribuzione classica e Azure Resource Manager.Before you work with Azure resources, it's important to understand that Azure currently has two deployment models: Azure Resource Manager and classic. È importante comprendere i modelli e strumenti di distribuzione prima di lavorare con le risorse di Azure.Make sure you understand deployment models and tools before you work with any Azure resource. È possibile visualizzare la documentazione relativa ai diversi strumenti selezionando un'opzione nella parte superiore di questo articolo.You can view the documentation for different tools by selecting an option at the top of this article. In questo articolo viene illustrato il modello di distribuzione classica.This article covers the classic deployment model.

ScenarioScenario

Per illustrare meglio come creare un UDR, in questo documento verrà utilizzato lo scenario seguente.To better illustrate how to create UDRs, this document will use the scenario below.

DESCRIZIONE DELL’IMMAGINE

In questo scenario si creerà un UDR per la subnet front-end e un altro UDR per la subnet back-end, come descritto di seguito:In this scenario you will create one UDR for the Front end subnet and another UDR for the Back end subnet , as described below:

  • UDR-FrontEnd.UDR-FrontEnd. Il front-end UDR verrà applicato per il subnet front-end , e contiene una route:The front end UDR will be applied to the FrontEnd subnet, and contain one route:
    • RouteToBackend.RouteToBackend. Questa route invia tutto il traffico nella subnet di back-end per la macchina virtuale FW1 .This route will send all traffic to the back end subnet to the FW1 virtual machine.
  • Back-end di UDR.UDR-BackEnd. Il back-end UDR verrà applicato per il subnet back-end , e contiene una route:The back end UDR will be applied to the BackEnd subnet, and contain one route:
    • RouteToFrontend.RouteToFrontend. Questa route invia tutto il traffico nella subnet di front-end per la macchina virtuale FW1 .This route will send all traffic to the front end subnet to the FW1 virtual machine.

La combinazione di queste route garantisce che tutto il traffico destinato da una subnet a un’altra venga indirizzato alla macchina virtuale FW1 , che viene utilizzato come un dispositivo virtuale.The combination of these routes will ensure that all traffic destined from one subnet to another will be routed to the FW1 virtual machine, which is being used as a virtual appliance. È inoltre necessario attivare l'inoltro IP per tale macchina virtuale, per garantire che possa ricevere il traffico destinato ad altre macchine virtuali.You also need to turn on IP forwarding for that VM, to ensure it can receive traffic destined to other VMs.

I comandi di esempio di Azure PowerShell riportati di seguito prevedono un ambiente semplice già creato in base allo scenario precedente.The sample Azure PowerShell commands below expect a simple environment already created based on the scenario above. Se si desidera eseguire i comandi illustrati in questo documento, creare l'ambiente descritto nella pagina relativa alla creazione di una rete virtuale (classica) mediante PowerShell.If you want to run the commands as they are displayed in this document, create the environment shown in create a VNet (classic) using PowerShell.

Prerequisito: installare il modulo Azure PowerShellPrerequisite: Install the Azure PowerShell module

Per eseguire i passaggi indicati in questo articolo, è necessario installare e configurare il modulo Azure PowerShell.To perform the steps in this article, you need to install and configure the Azure PowerShell module. Assicurarsi di completare tutte le istruzioni.Be sure to complete all of the instructions. Al termine dell'installazione, accedere ad Azure e selezionare la sottoscrizione.After the installation is finished, sign in to Azure and select your subscription.

Nota

Per completare questi passaggi, è necessario un account Azure.You need an Azure account to complete these steps. Se non si ha un account Azure, è possibile iscriversi per ottenere una versione di valutazione gratuita.If you don't have an Azure account, you can sign up for a free trial.

Creare la route definita dall'utente per la subnet front-endCreate the UDR for the front end subnet

Per creare la tabella di route e la route necessarie per la subnet front-end in base allo scenario precedente, attenersi alla procedura seguente.To create the route table and route needed for the front end subnet based on the scenario above, follow the steps below.

  1. Eseguire il comando seguente per creare una tabella di route per la subnet front-end:Run the following command to create a route table for the front-end subnet:

    New-AzureRouteTable -Name UDR-FrontEnd -Location uswest `
    -Label "Route table for front end subnet"
    
  2. Eseguire il comando seguente per creare una route nella tabella della route creata in precedenza per inviare tutto il traffico destinato alla subnet back-end (192.168.2.0/24) alla VM FW1 (192.168.0.4):Run the following command to create a route in the route table to send all traffic destined to the back-end subnet (192.168.2.0/24) to the FW1 VM (192.168.0.4):

    Get-AzureRouteTable UDR-FrontEnd `
    |Set-AzureRoute -RouteName RouteToBackEnd -AddressPrefix 192.168.2.0/24 `
    -NextHopType VirtualAppliance `
    -NextHopIpAddress 192.168.0.4
    
  3. Eseguire il comando seguente per associare la tabella di route creata in precedenza alla subnet FrontEnd:Run the following command to associate the route table with the FrontEnd subnet:

    Set-AzureSubnetRouteTable -VirtualNetworkName TestVNet `
    -SubnetName FrontEnd `
    -RouteTableName UDR-FrontEnd
    

Creare la route definita dall'utente per la subnet back-endCreate the UDR for the back-end subnet

Per creare la tabella di route e la route necessarie per la subnet back-end in base allo scenario precedente, seguire questa procedura:To create the route table and route needed for the back end subnet based on the scenario, complete the following steps:

  1. Per creare una tabella di route per la subnet back-end, eseguire il comando seguente:Run the following command to create a route table for the back-end subnet:

    New-AzureRouteTable -Name UDR-BackEnd `
    -Location uswest `
    -Label "Route table for back end subnet"
    
  2. Eseguire il comando seguente per creare una route nella tabella della route creata in precedenza per inviare tutto il traffico destinato alla subnet front-end (192.168.1.0/24) alla VM FW1 (192.168.0.4):Run the following command to create a route in the route table to send all traffic destined to the front-end subnet (192.168.1.0/24) to the FW1 VM (192.168.0.4):

    Get-AzureRouteTable UDR-BackEnd
    | Set-AzureRoute `
    -RouteName RouteToFrontEnd `
    -AddressPrefix 192.168.1.0/24 `
    -NextHopType VirtualAppliance `
    -NextHopIpAddress 192.168.0.4
    
  3. Eseguire il comando seguente per associare la tabella di route creata in precedenza alla subnet BackEnd:Run the following command to associate the route table with the BackEnd subnet:

    Set-AzureSubnetRouteTable -VirtualNetworkName TestVNet `
    -SubnetName BackEnd `
    -RouteTableName UDR-BackEnd
    

Abilitare l'inoltro dell'indirizzo IP sulla VM FW1Enable IP forwarding on the FW1 VM

Per abilitare l'inoltro dell'indirizzo IP nella macchina virtuale FW1, seguire questa procedura:To enable IP forwarding in the FW1 VM, complete the following steps:

  1. Per verificare lo stato dell'inoltro dell'indirizzo IP, eseguire il comando seguente:Run the following command to check the status of IP forwarding:

    Get-AzureVM -Name FW1 -ServiceName TestRGFW `
    | Get-AzureIPForwarding
    
  2. Per abilitare l'inoltro dell'indirizzo IP per la macchina virtuale FW1, eseguire il comando seguente:Run the following command to enable IP forwarding for the FW1 VM:

    Get-AzureVM -Name FW1 -ServiceName TestRGFW `
    | Set-AzureIPForwarding -Enable