Cvičení – směrování provozu přes síťové virtuální zařízení

Dokončeno

Teď, když jste vytvořili síťové virtuální zařízení a virtuální počítače, budete směrovat provoz přes síťové virtuální zařízení.

Vizualizace virtuálních počítačů a IP adres

Vytvoření veřejného a privátního virtuálního počítače

Další kroky nasadí virtuální počítač do veřejných a privátních podsítí.

  1. Otevřete editor pro Cloud Shell a vytvořte soubor s názvem cloud-init.txt.

    code cloud-init.txt
    
  2. Do souboru přidejte následující konfigurační informace. Při této konfiguraci inetutils-traceroute se balíček nainstaluje při vytváření nového virtuálního počítače. Tento balíček obsahuje nástroj traceroute, který použijete v další části tohoto cvičení.

    #cloud-config
    package_upgrade: true
    packages:
       - inetutils-traceroute
    
  3. Stisknutím kombinace kláves Ctrl+S soubor uložte a stisknutím kombinace kláves Ctrl+Q zavřete editor.

  4. Spuštěním následujícího příkazu v Cloud Shellu vytvořte veřejný virtuální počítač. V příkazu nahraďte <password> vhodným heslem pro účet azureuser.

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name public \
        --vnet-name vnet \
        --subnet publicsubnet \
        --image Ubuntu2204 \
        --admin-username azureuser \
        --no-wait \
        --custom-data cloud-init.txt \
        --admin-password <password>
    
  5. Spuštěním následujícího příkazu vytvořte privátní virtuální počítač. V příkazu nahraďte <password> vhodným heslem.

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name private \
        --vnet-name vnet \
        --subnet privatesubnet \
        --image Ubuntu2204 \
        --admin-username azureuser \
        --no-wait \
        --custom-data cloud-init.txt \
        --admin-password <password>
    
  6. Spuštěním následujícího příkazu linuxu watch zkontrolujte, jestli jsou virtuální počítače spuštěné. Příkaz watch pravidelně spouští az vm list příkaz, abyste mohli sledovat průběh virtuálních počítačů.

    watch -d -n 5 "az vm list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --show-details \
        --query '[*].{Name:name, ProvisioningState:provisioningState, PowerState:powerState}' \
        --output table"
    

    Pokud má parametr ProvisioningState hodnotu „Succeeded“ a parametr PowerState hodnotu „VM running“, znamená to, že nasazení bylo úspěšné. Když poběží všechny tři virtuální počítače, budete moct pokračovat dál. Stisknutím kombinace kláves Ctrl+C zastavte příkaz a pokračujte ve cvičení.

  7. Spuštěním následujícího příkazu uložte veřejnou IP adresu veřejného virtuálního počítače do proměnné s názvem PUBLICIP:

    PUBLICIP="$(az vm list-ip-addresses \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name public \
        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
        --output tsv)"
    
    echo $PUBLICIP
    
  8. Spuštěním následujícího příkazu uložte veřejnou IP adresu privátního virtuálního počítače do proměnné s názvemPRIVATEIP:

    PRIVATEIP="$(az vm list-ip-addresses \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name private \
        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
        --output tsv)"
    
    echo $PRIVATEIP
    

Test směrování provozu přes síťové virtuální zařízení

V závěrečných krocích použijete linuxový nástroj traceroute k zobrazení směrování provozu. Příkaz použijete ssh ke spuštění traceroute na každém virtuálním počítači. První test ukazuje trasu pořízenou pakety ICMP odesílané z veřejného virtuálního počítače do privátního virtuálního počítače. Druhý test ukazuje trasu pořízenou pakety PROTOKOLU ICMP odesílané z privátního virtuálního počítače do veřejného virtuálního počítače.

  1. Spuštěním následujícího příkazu sledujte trasu z veřejného do privátního počítače. Po zobrazení výzvy zadejte dříve použité heslo k účtu azureuser.

    ssh -t -o StrictHostKeyChecking=no azureuser@$PUBLICIP 'traceroute private --type=icmp; exit'
    

    Pokud se zobrazí chybová zpráva bash: traceroute: command not found, počkejte minutu a zkuste příkaz zopakovat. Automatická instalace traceroute může trvat minutu nebo dvě po nasazení virtuálního počítače. Po úspěšném provedení příkazu by měl výstup vypadat podobně jako v následujícím příkladu:

    traceroute to private.kzffavtrkpeulburui2lgywxwg.gx.internal.cloudapp.net (10.0.1.4), 64 hops max
    1   10.0.2.4  0.710ms  0.410ms  0.536ms
    2   10.0.1.4  0.966ms  0.981ms  1.268ms
    Connection to 52.165.151.216 closed.
    

    Všimněte si, že první segment směrování je 10.0.2.4. Tato adresa je privátní IP adresa síťového virtuálního zařízení (NVA). Druhý segment směrování je 10.0.1.4, což je privátní adresa. V prvním cvičení jste tuto trasu přidali do směrovací tabulky a tuto tabulku jste propojili s podsítí publicsubnet. Teď se veškerý provoz z veřejného do privátního virtuálního zařízení směruje přes síťové virtuální zařízení.

    Diagram trasy z veřejné do privátní

  2. Spuštěním následujícího příkazu můžete sledovat trasu z privátní do veřejné podsítě. Po zobrazení výzvy zadejte heslo k účtu azureuser.

    ssh -t -o StrictHostKeyChecking=no azureuser@$PRIVATEIP 'traceroute public --type=icmp; exit'
    

    Měli byste vidět, že provoz jde přímo do veřejné podsítě (10.0.0.4), ale nejde přes síťové virtuální zařízení (NVA). Je to vidět na následujícím výstupu příkazu.

    traceroute to public.kzffavtrkpeulburui2lgywxwg.gx.internal.cloudapp.net (10.0.0.4), 64 hops max
    1   10.0.0.4  1.095ms  1.610ms  0.812ms
    Connection to 52.173.21.188 closed.
    

    Privátní virtuální počítač používá výchozí trasy a provoz se směruje přímo mezi podsítěmi.

    Diagram trasy ze soukromého do veřejného

Nakonfigurovali jste směrování mezi podsítěmi tak, aby byl provoz z veřejného internetu směrovaný přes podsíť dmzsubnet, než dosáhne privátní podsítě. V podsíti dmzsubnet jste přidali virtuální počítač, který funguje jako síťové virtuální zařízení. Toto zařízení můžete nakonfigurovat tak, že bude zjišťovat potenciálně škodlivé požadavky a blokovat je, aby se nedostaly k zamýšleným cílům.