Esercizio - Creare un'appliance virtuale di rete e le macchine virtuali

Completato

Nella fase successiva dell'implementazione della sicurezza si distribuirà un'appliance virtuale di rete per proteggere e monitorare il traffico tra i server pubblici front-end e i server privati interni.

L'appliance verrà configurata per l'inoltro del traffico IP. Se l'inoltro IP non è abilitato, il traffico instradato attraverso l'appliance non verrà mai ricevuto dai server di destinazione previsti.

In questo esercizio si distribuirà l'appliance di rete nva nella subnet dmzsubnet. Si abiliterà quindi l'inoltro IP in modo che il traffico da * e il traffico che usa la route personalizzata vengano inviati alla subnet privatesubnet.

Visualization of a Network virtual appliance with IP forwarding enabled.

Nei passaggi seguenti verrà distribuita un'appliance virtuale di rete. Si aggiorneranno quindi la scheda di interfaccia di rete virtuale di Azure e le impostazioni di rete all'interno dell'appliance per abilitare l'inoltro IP.

Distribuire l'appliance virtuale di rete

Per creare l'appliance virtuale di rete, distribuire un'istanza di Ubuntu LTS.

  1. In Cloud Shell eseguire il comando seguente per distribuire l'appliance. Sostituire <password> con una password appropriata di propria scelta per l'account amministratore azureuser.

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name nva \
        --vnet-name vnet \
        --subnet dmzsubnet \
        --image Ubuntu2204 \
        --admin-username azureuser \
        --admin-password <password>
    

Abilitare l'inoltro IP per l'interfaccia di rete di Azure

Nei passaggi successivi viene abilitato l'inoltro IP per l'appliance di rete nva. Quando il traffico passa all'appliance virtuale di rete ma è destinato a un'altra destinazione, l'appliance virtuale di rete instrada il traffico alla destinazione corretta.

  1. Eseguire il comando seguente per ottenere l'ID dell'interfaccia di rete dell'appliance virtuale di rete.

    NICID=$(az vm nic list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vm-name nva \
        --query "[].{id:id}" --output tsv)
    
    echo $NICID
    
  2. Eseguire il comando seguente per ottenere il nome dell'interfaccia di rete dell'appliance virtuale di rete.

    NICNAME=$(az vm nic show \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vm-name nva \
        --nic $NICID \
        --query "{name:name}" --output tsv)
    
    echo $NICNAME
    
  3. Eseguire il comando seguente per abilitare l'inoltro IP per l'interfaccia di rete.

    az network nic update --name $NICNAME \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --ip-forwarding true
    

Abilitare l'inoltro IP nell'appliance

  1. Eseguire il comando seguente per salvare l'indirizzo IP pubblico della macchina virtuale dell'appliance virtuale di rete nella variabile NVAIP.

    NVAIP="$(az vm list-ip-addresses \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name nva \
        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
        --output tsv)"
    
    echo $NVAIP
    
  2. Eseguire il comando seguente per abilitare l'inoltro IP nell'appliance virtuale di rete.

    ssh -t -o StrictHostKeyChecking=no azureuser@$NVAIP 'sudo sysctl -w net.ipv4.ip_forward=1; exit;'
    

    Quando richiesto, immettere la password usata durante la creazione della macchina virtuale.