Ćwiczenie — rozwiązywanie problemów z siecią przy użyciu narzędzi do monitorowania i diagnostyki w usłudze Network Watcher

Ukończone

Usługa Azure Network Watcher pomaga w diagnozowaniu błędów konfiguracji uniemożliwiających komunikację maszyn wirtualnych.

Załóżmy, że masz dwie maszyny wirtualne, które nie mogą się komunikować. Chcesz zdiagnozować problem i rozwiązać go jak najszybciej. W tym celu chcesz użyć usługi Network Watcher.

Rozwiążesz problemy z łącznością między dwiema maszynami wirtualnymi w różnych podsieciach.

Ważne

Do wykonania tego ćwiczenia potrzebna jest własna subskrypcja platformy Azure. Ponadto mogą zostać naliczone opłaty. Jeśli nie masz jeszcze subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Konfigurowanie sieci wirtualnej i maszyn wirtualnych

Zacznijmy od utworzenia infrastruktury. Celowo utworzymy również błąd konfiguracji:

  1. W przeglądarce otwórz sesję usługi Azure Cloud Shell .

  2. Otwórz katalog, w którym chcesz utworzyć zasoby.

  3. Wybierz pozycję Bash w lewym górnym rogu paska menu usługi Cloud Shell .

  4. Wyświetl listę obsługiwanych regionów dla subskrypcji.

    az account list-locations
    
  5. Utwórz grupę zasobów i przypisz ją do nazwy zmiennej RG , uruchamiając <resource group name> następujący kod, zastępując ciąg nazwą grupy zasobów i <name>nazwą regionu z poprzednich danych wyjściowych.

    az group create --name <resource group name> --location <name>
    RG=<resource group name>
    
  6. Utwórz sieć wirtualną o nazwie MyVNet1 z podsiecią o nazwie FrontendSubnet , uruchamiając to polecenie.

    az network vnet create \
        --resource-group $RG \
        --name MyVNet1 \
        --address-prefixes 10.10.0.0/16 \
        --subnet-name FrontendSubnet \
        --subnet-prefixes 10.10.1.0/24
    
  7. Utwórz kolejną podsieć o nazwie BackendSubnet , uruchamiając to polecenie.

    az network vnet subnet create \
    --address-prefixes 10.10.2.0/24 \
    --name BackendSubnet \
    --resource-group $RG \
    --vnet-name MyVNet1
    
  8. Wdróż maszynę wirtualną w podsieci FrontendSubnet , uruchamiając to polecenie, zastępując <password> ciąg złożonym wybranym hasłem.

    az vm create \
        --resource-group $RG \
        --name FrontendVM \
        --vnet-name MyVNet1 \
        --subnet FrontendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    

    Uwaga

    Jeśli wystąpi błąd "partofthepassword: nie znaleziono zdarzenia", utwórz nowe hasło przy użyciu dozwolonych znaków.

  9. Zainstaluj usługi IIS na maszynie FrontendVM , uruchamiając następujący kod.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name FrontendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  10. Wdróż maszynę wirtualną w podsieci BackendSubnet , uruchamiając to polecenie, zastępując <password> ciąg złożonym wybranym hasłem.

    az vm create \
        --resource-group $RG \
        --name BackendVM \
        --vnet-name MyVNet1 \
        --subnet BackendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    
  11. Zainstaluj usługi IIS na maszynie backendVM , uruchamiając to polecenie.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name BackendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  12. Utwórz sieciową grupę zabezpieczeń MyNsg , wprowadzając następujące polecenie.

    az network nsg create \
        --name MyNsg \
        --resource-group $RG
    
  13. Utwórz błąd konfiguracji uniemożliwiający komunikacjęmiędzy maszynami wirtualnymi.

    az network nsg rule create \
        --resource-group $RG \
        --name MyNSGRule \
        --nsg-name MyNsg \
        --priority 4096 \
        --source-address-prefixes '*' \
        --source-port-ranges '*' \
        --destination-address-prefixes '*' \
        --destination-port-ranges 80 443 3389 \
        --access Deny \
        --protocol TCP \
        --direction Inbound \
        --description "Deny from specific IP address ranges on 80, 443 and 3389."
    
  14. Uruchom następujące polecenie, aby skojarzyć sieciową grupę zabezpieczeń z podsiecią.

    az network vnet subnet update \
        --resource-group $RG \
        --name BackendSubnet \
        --vnet-name MyVNet1 \
        --network-security-group MyNsg
    

Włączanie usługi Network Watcher dla regionu

Teraz użyjemy interfejsu wiersza polecenia platformy Azure, aby skonfigurować usługę Network Watcher w tym samym regionie co infrastruktura.

  1. Włącz usługę Network Watcher, uruchamiając to polecenie, zastępując <location> element regionem świadczenia usługi Azure użytym podczas tworzenia grupy zasobów na początku tej sesji.
az network watcher configure \
    --enabled true \
    --resource-group $RG \
    --locations <location>

Wyświetlanie topologii za pomocą usługi Network Watcher

Teraz możesz użyć usługi Network Watcher w witrynie Azure Portal, aby rozwiązać problemy z łącznością między dwiema maszynami wirtualnymi w różnych podsieciach. Twój współpracownik zgłosił problem z łącznością za pośrednictwem protokołu HTTP/HTTPS między dwiema maszynami wirtualnymi. Najpierw zbadaj topologię sieci.

  1. Zaloguj się w witrynie Azure Portal.

  2. W wyszukiwaniu globalnym wprowadź network watcher i wybierz tę usługę. Zostanie wyświetlone okienko Przegląd usługi Network Watcher z listą aktywnego obserwatora sieciowego.

  3. W menu Network Watcher w obszarze Monitorowanie wybierz pozycję Topologia. Network Watcher | Pojawi się okienko Topologia .

  4. W polach listy rozwijanej wybierz subskrypcję i grupę zasobów na potrzeby tego ćwiczenia. Topologia sieci dla sieci MyVNet1 wyświetla interfejsy maszyn wirtualnych frontonu i zaplecza. Jest to sieć wirtualna utworzona na początku tego ćwiczenia.

    Screenshot showing the exercise network topology.

Używanie monitora Połączenie ion do uruchamiania testów z zaplecza do frontonu

Topologia wydaje się być poprawna. Skonfigurujmy kilka testów w Monitorze połączenia, aby uzyskać więcej informacji. Zacznij od utworzenia testu z maszyny wirtualnej zaplecza do maszyny wirtualnej frontonu.

  1. W menu Network Watcher w obszarze Monitorowanie wybierz pozycję monitor Połączenie ion. Network Watcher | Monitor Połączenie ion Pojawi się okienko Przegląd.

  2. Na pasku poleceń wybierz pozycję Utwórz. Zostanie wyświetlona strona Tworzenie monitora Połączenie ion.

  3. Na karcie Podstawy wprowadź następujące wartości dla każdego ustawienia.

    Ustawienie Wartość
    Nazwa monitora Połączenie ion Back-to-front-HTTP-test
    Subskrypcja Wybierz swoją subskrypcję z listy rozwijanej
    Region Wybierz region świadczenia usługi Azure, w którym wdrożono zasoby
    Konfiguracja obszaru roboczego Zaznaczono opcję Użyj obszaru roboczego utworzonego przez monitor połączeń (ustawienie domyślne)
  4. Wybierz pozycję Dalej: Grupy testowe. Zostanie wyświetlone okienko Dodawanie szczegółów grupy testowej.

  5. W polu Nazwa grupy testowej wprowadź wartość Back-to-front-HTTP-test-group.

  6. W polu Źródła wybierz pozycję Dodaj źródła. Zostanie wyświetlone okienko Dodawanie źródeł .

  7. Na karcie Punkty końcowe platformy Azure wybierz pozycję Podsieć, upewnij się, że subskrypcja została wybrana, a następnie wybierz pozycję BackendSubnet z listy.

    Screenshot that shows enabling of Network Watcher backend subnet.

  8. Wybierz pozycję Dodaj punkty końcowe. W polu Źródła z podsiecią BackendSubnet zidentyfikowaną jako źródło. Wybierz ten punkt końcowy, wybierz pozycję Edytuj i zmień jego nazwę na BackendSubnet, a następnie wybierz pozycję Zapisz.

    Screenshot that shows editing endpoint name.

  9. W polu Konfiguracje testów wybierz pozycję Dodaj konfigurację testu. Zostanie wyświetlone okienko Dodawanie konfiguracji testu.

  10. Na karcie Nowa konfiguracja wprowadź następujące wartości dla każdego ustawienia.

    Ustawienie Wartość
    Nazwa konfiguracji testu Back-to-front-HTTP-test-configuration
    Protokół HTTP
    Port docelowy 80
    Częstotliwość testowania Co 30 sekund
    Zachowaj wartości domyślne pozostałych ustawień
  11. Wybierz pozycję Dodaj konfigurację testu, aby dodać tę konfigurację testu do grupy testowej. Ponownie zostanie wyświetlony przycisk Dodaj szczegóły grupy testowej z zidentyfikowaną konfiguracją testu.

  12. W polu Miejsca docelowe wybierz pozycję Dodaj lokalizacje docelowe. Zostanie wyświetlone okienko Dodawanie miejsc docelowych .

  13. Na karcie Punkty końcowe platformy Azure wybierz pozycję Podsieć, upewnij się, że subskrypcja została wybrana, a następnie wybierz pozycję FrontendSubnet z listy.

  14. Wybierz pozycję Dodaj punkty końcowe. Ponownie zostanie wyświetlony blok Dodawanie szczegółów grupy testowej z podsiecią FrontendSubnet zidentyfikowaną jako miejsce docelowe.

  15. W dolnej części okienka wybierz pozycję Dodaj grupę testowa. Zostanie wyświetlone okienko Tworzenie monitora Połączenie ion.

  16. Na karcie Grupy testowe zwróć uwagę, że grupa testowa jest wyświetlana ze źródłem jako zapleczem i miejscem docelowym jako frontonem.

  17. Wybierz pozycję Przeglądanie + tworzenie i pozycję Utwórz.

Jeśli test nie jest wyświetlany w okienku monitora Połączenie ion, wybierz przycisk Odśwież. Wyniki testu Back-to-front-HTTP powinny wskazywać, że ponieważ sieciowa grupa zabezpieczeń jest skojarzona z podsiecią zaplecza, ruch przepływa bez problemów z maszyną wirtualną zaplecza do maszyny wirtualnej frontonu.

Uruchamianie testów z frontonu do zaplecza przy użyciu monitora Połączenie ion

Uruchom ten sam test w przeciwnym kierunku. Skonfigurujmy kolejny test w monitorze Połączenie ion. Zacznij od utworzenia testu z maszyny wirtualnej frontonu do maszyny wirtualnej zaplecza.

  1. W okienku Monitor Połączenie ion wybierz pozycję Utwórz.

  2. Na karcie Podstawy wprowadź następujące wartości dla każdego ustawienia.

    Ustawienie Wartość
    Nazwa monitora Połączenie ion Front-to-back-HTTP-test
    Subskrypcja Wybierz swoją subskrypcję z listy rozwijanej
    Region Wybierz region świadczenia usługi Azure, w którym wdrożono zasoby
  3. Wybierz pozycję Dalej: Grupy testowe. Zostanie wyświetlone okienko Dodawanie szczegółów grupy testowej.

  4. W polu Nazwa grupy testowej wprowadź ciąg Front-to-back-HTTP-test-group, a następnie wybierz pozycję Dodaj źródła w polu Źródła. Zostanie wyświetlone okienko Dodawanie źródeł .

  5. Na karcie Punkty końcowe platformy Azure wybierz pozycję Podsieć, upewnij się, że subskrypcja została wybrana, a następnie wybierz pozycję FrontSubnet z listy.

  6. Wybierz pozycję Dodaj punkty końcowe. W polu Źródła z podsiecią BackendSubnet zidentyfikowaną jako źródło. Wybierz ten punkt końcowy, wybierz pozycję Edytuj i zmień jego nazwę na FrontendSubnet, a następnie wybierz pozycję Zapisz.

  7. W polu Konfiguracje testów wybierz pozycję Dodaj konfigurację testu. Zostanie wyświetlone okienko Dodawanie konfiguracji testu.

  8. Na karcie Nowa konfiguracja wprowadź następujące wartości dla każdego ustawienia.

    Ustawienie Wartość
    Nazwa konfiguracji testu Konfiguracja front-to-back-HTTP-test-configuration
    Protokół HTTP
    Port docelowy 80
    Częstotliwość testowania Co 30 sekund
    Zaakceptuj wartości domyślne pozostałych ustawień
  9. Wybierz pozycję Dodaj konfigurację testu. Ponownie zostanie wyświetlony przycisk Dodaj szczegóły grupy testowej z zidentyfikowaną konfiguracją testu.

  10. W polu Miejsca docelowe wybierz pozycję Dodaj lokalizacje docelowe. Zostanie wyświetlone okienko Dodawanie miejsc docelowych .

  11. Na karcie Punkty końcowe platformy Azure wybierz pozycję Podsieć, upewnij się, że subskrypcja została wybrana, a następnie wybierz pozycję BackendSubnet z listy.

  12. Wybierz pozycję Dodaj punkty końcowe. Okienko Dodawanie szczegółów grupy testowej jest ponownie wyświetlane z podsiecią BackendSubnet zidentyfikowaną jako miejsce docelowe.

  13. W dolnej części okienka wybierz pozycję Dodaj grupę testowa. Zostanie ponownie wyświetlone okienko Tworzenie monitora Połączenie ion.

  14. Na karcie Grupy testowe zwróć uwagę, że grupa Front-to-back-HTTP-test-group jest teraz wyświetlana.

  15. Wybierz pozycję Przeglądanie + tworzenie i pozycję Utwórz.

Jeśli test nie jest wyświetlany w okienku monitora Połączenie ion, wybierz przycisk Odśwież. Wyniki testu Front-to-back-HTTP powinny wskazywać, że ponieważ sieciowa grupa zabezpieczeń jest skojarzona z podsiecią zaplecza, żaden ruch nie przepływa z maszyny wirtualnej frontonu do maszyny wirtualnej zaplecza.

Testowanie połączenia za pomocą narzędzia Weryfikacja przepływu dla adresu IP

Aby uzyskać więcej informacji, użyjmy narzędzia Weryfikacja przepływu dla adresu IP.

  1. Wybierz pozycję Network Watcher, a następnie w menu zasobów w obszarze Narzędzia diagnostyczne sieci wybierz pozycję Weryfikacja przepływu adresów IP.

  2. Skonfiguruj test, wprowadzając następujące wartości dla każdego ustawienia, a następnie wybierz pozycję Sprawdź.

    Ustawienie Wartość
    Subskrypcja Wybierz swoją subskrypcję
    Grupa zasobów Wybierz grupę zasobów
    Maszyna wirtualna BackendVM
    Interfejs sieciowy BackendVMVMNic
    Protokół TCP
    Kierunek Przychodzący
    Lokalny adres IP 10.10.2.4
    Port lokalny 3389
    Zdalny adres IP 10.10.1.4
    Port zdalny 3389

    Screenshot showing an IP flow test.

  3. Wynik pokazuje odmowa dostępu z powodu sieciowej grupy zabezpieczeń i reguł zabezpieczeń.

W tym ćwiczeniu pomyślnie użyto narzędzi usługi Network Watcher w celu wykrycia problemu z łącznością między dwiema podsieciami. Komunikacja jest dozwolona w jednym kierunku, ale blokowana w drugim przez reguły sieciowej grupy zabezpieczeń.