Övning – Konfigurera nätverksåtkomst

Slutförd

I den här övningen konfigurerar du åtkomsten till den virtuella datorn (VM) som du skapade tidigare i den här modulen.

Viktigt!

Sandbox-miljön för Microsoft Learn bör fortfarande köras. Om tidsgränsen för sandbox-miljön överskrids måste du göra om föregående övning (Övning – Skapa en virtuell Azure-dator).

Om du vill kontrollera att den virtuella dator som du skapade tidigare fortfarande körs använder du följande kommando:

az vm list



















Om du får ett tomt svar []måste du slutföra den första övningen i den här modulen igen. Om resultatet visar din aktuella virtuella dator och dess inställningar kan du fortsätta.

Just nu är den virtuella dator som du skapade och installerade Nginx på inte tillgänglig från Internet. Du skapar en nätverkssäkerhetsgrupp som ändrar det genom att tillåta inkommande HTTP-åtkomst på port 80.

Uppgift 1: Få åtkomst till webbservern

I den här proceduren hämtar du IP-adressen till din virtuella dator och försöker öppna webbserverns startsida.

  1. Kör följande az vm list-ip-addresses-kommando för att hämta den virtuella datorns IP-adress och lagra resultatet som en Bash-variabel:

    IPADDRESS="$(az vm list-ip-addresses \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name my-vm \
      --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
      --output tsv)"    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  2. Kör följande curl-kommando för att ladda ned startsidan:

    curl --connect-timeout 5 http://$IPADDRESS
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Argumentet --connect-timeout tillåter att det kan ta upp till fem sekunder innan anslutningen sker. Efter fem sekunder visas ett felmeddelande om att tidsgränsen för anslutningen uppnåddes:

    curl: (28) Connection timed out after 5001 milliseconds
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Det här meddelandet innebär att den virtuella datorn inte var tillgänglig inom tidsgränsen.

  3. Som ett valfritt steg kan du försöka öppna webbservern från en webbläsare:

    1. Kör följande för att skriva den virtuella datorns IP-adress till konsolen:

      echo $IPADDRESS       
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      

      En IP-adress visas, till exempel 23.102.42.235.

    2. Kopiera IP-adressen som du ser till Urklipp.

    3. Öppna en ny webbläsarflik och gå till webbservern. Efter en liten stund ser du att anslutningen inte utförs. Om du väntar tills webbläsaren överskrider tidsgränsen ser du något som liknar detta:

      Skärmbild av en webbläsare som visar ett felmeddelande om att tidsgränsen för anslutningen har överskrids.

    4. Låt den här webbläsarfliken vara öppen för senare användning.

Uppgift 2: Lista de aktuella reglerna för nätverkssäkerhetsgruppen

Webbservern gick inte att nå. För att ta reda på varför, ska vi undersöka dina aktuella NSG-regler.

  1. Kör följande az network nsg list-kommando för att visa en lista med de nätverkssäkerhetsgrupper som är associerade med den virtuella datorn:

    az network nsg list \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --query '[].name' \
      --output tsv    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Du ser följande utdata:

    my-vmNSG
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Alla virtuella datorer i Azure är associerade med minst en nätverkssäkerhetsgrupp. I det här fallet skapade Azure en NSG åt dig med namnet my-vmNSG.

  2. Kör följande az network nsg rule list-kommando för att visa en lista med de regler som är associerade med NSG:n som heter my-vmNSG:

    az network nsg rule list \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --nsg-name my-vmNSG    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Du ser ett stort block med text i JSON-format i utdatan. I nästa steg ska du köra ett liknande kommando som gör utdatan enklare att läsa.

  3. Kör az network nsg rule list-kommandot en gång till. Den här gången använder du argumentet --query för att endast hämta namn, prioritet, berörda portar och åtkomst (Tillåt eller Neka) för varje regel. Argumentet --output formaterar utdatan som en tabell för att den ska vara lätt att läsa.

    az network nsg rule list \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --nsg-name my-vmNSG \
      --query '[].{Name:name, Priority:priority, Port:destinationPortRange, Access:access}' \
      --output table    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Du ser följande utdata:

    Name              Priority    Port    Access
    -----------------  ----------  ------  --------
    default-allow-ssh  1000        22      Allow
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Standardregeln standard-allow-ssh visas. Den här regeln tillåter inkommande anslutningar via port 22 (SSH). SSH (Secure Shell) är ett protokoll som används i Linux för att administratörer ska kunna fjärransluta till systemet. Regelns prioritet är 1000. Reglerna bearbetas i prioritetsordning, där lägre tal bearbetas före högre tal.

Som standard tillåter en virtuell Linux-dators nätverkssäkerhetsgrupp endast nätverksåtkomst på port 22. Den här porten gör det möjligt för administratörer att komma åt systemet. Du måste också tillåta inkommande anslutningar på port 80, som tillåter åtkomst via HTTP.

Uppgift 3: Skapa nätverkssäkerhetsregeln

Här skapar du en nätverkssäkerhetsregel som tillåter inkommande åtkomst på port 80 (HTTP).

  1. Kör följande az network nsg rule create-kommando för att skapa en regel med namnet allow-http som tillåter inkommande åtkomst på port 80:

    az network nsg rule create \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --nsg-name my-vmNSG \
      --name allow-http \
      --protocol tcp \
      --priority 100 \
      --destination-port-range 80 \
      --access Allow    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    I utbildningssyfte ska du ange prioriteten till 100. I det här fallet spelar prioriteten ingen roll. Du skulle behöva ta hänsyn till prioriteten om du hade överlappande portintervall.

  2. Kontrollera konfigurationen genom att köra az network nsg rule list för att se den uppdaterade listan med regler:

    az network nsg rule list \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --nsg-name my-vmNSG \
      --query '[].{Name:name, Priority:priority, Port:destinationPortRange, Access:access}' \
      --output table    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Du ser både regeln default-allow-ssh och den nya regeln allow-http:

    Name              Priority    Port    Access
    -----------------  ----------  ------  --------
    default-allow-ssh  1000        22      Allow
    allow-http          100        80      Allow    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

Uppgift 4: Få åtkomst till webbservern igen

Nu när du har konfigurerat nätverksåtkomst till port 80 ska vi försöka komma åt webbservern en andra gång.

Kommentar

När du har uppdaterat NSG kan det ta en stund innan de uppdaterade reglerna sprids. Försök igen i nästa steg, med pauser mellan försöken, tills du får önskat resultat.

  1. Kör samma curl-kommando som du körde tidigare:

    curl --connect-timeout 5 http://$IPADDRESS
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Du ser det här svaret:

    <html><body><h2>Welcome to Azure! My name is my-vm.</h2></body></html>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  2. Som ett valfritt steg kan du uppdatera webbläsarens flik som pekar på din webbserver. Startsidan visas:

    En skärmbild av en webbläsare som visar startsidan från webbservern. Startsidan visar ett välkomstmeddelande.

Bra jobbat. I praktiken kan du skapa en fristående nätverkssäkerhetsgrupp som innehåller de regler för inkommande och utgående nätverksåtkomst som du behöver. Om du har flera virtuella datorer med samma syfte, kan du tilldela nätverkssäkerhetsgruppen till varje virtuell dator när du skapar den. Med den här metoden kan du styra nätverksåtkomsten till flera virtuella datorer i en enda central uppsättning med regler.

Rensa

Sandbox-miljön rensar automatiskt resurserna när du är klar med den här modulen.

När du arbetar i din egen prenumeration kan det dock vara klokt att i slutet av ett projekt kontrollera om du fortfarande behöver de resurser som du skapade. Resurser som du lämnar igång kan kosta pengar. Du kan ta bort enstaka resurser eller hela resursgruppen om du vill ta bort alla resurser.