Omówienie rozwiązywania problemów z połączeniem

Wraz ze wzrostem zaawansowanych i wysokowydajnych obciążeń w Azure istnieje krytyczna potrzeba zwiększenia widoczności i kontroli nad stanem operacyjnym złożonych sieci, na których działają te obciążenia. Takie złożone sieci są implementowane przy użyciu sieciowych grup zabezpieczeń, zapór, tras zdefiniowanych przez użytkownika i zasobów udostępnianych przez Azure. Złożone konfiguracje sprawiają, że rozwiązywanie problemów z łącznością jest trudne.

Funkcja rozwiązywania problemów z połączeniem Azure Network Watcher pomaga skrócić czas diagnozowania i rozwiązywania problemów z łącznością sieciową. Zwrócone wyniki mogą zapewnić wyniki analizy głównej przyczyny problemu z łącznością oraz tego, czy jest on spowodowany problemem z platformą lub konfiguracją użytkownika.

Rozwiązywanie problemów z połączeniem skraca czas do rozwiązania (MTTR), zapewniając kompleksową metodę przeprowadzania wszystkich głównych kontroli połączeń w celu wykrywania problemów dotyczących sieciowych grup zabezpieczeń, tras zdefiniowanych przez użytkownika i zablokowanych portów. Udostępnia następujące wyniki z praktycznymi wnioskami, wraz ze szczegółowym przewodnikiem lub odpowiednią dokumentacją w celu szybszego uzyskania rozwiązania.

  • Test łączności z różnymi typami docelowymi (VM, URI, FQDN lub IP Address)
  • Problemy z konfiguracją wpływające na osiągalność
  • Opóźnienie (minimalna, maksymalna i średnia między źródłem a miejscem docelowym)
  • Graficzny widok topologii ze źródła do miejsca docelowego
  • Liczba sond zakończonych niepowodzeniem podczas sprawdzania rozwiązywania problemów z połączeniem

Środowisko bez agenta (wersja zapoznawcza)

Rozwiązywanie problemów z połączeniem obsługuje teraz środowisko bez agenta (obecnie w wersji zapoznawczej). Aby uruchomić testy łączności, nie trzeba już instalować rozszerzenia maszyny wirtualnej agenta Network Watcher na maszynach wirtualnych. Funkcje i funkcjonalności mogą ulec zmianie przed generalną dostępnością.

Wcześniej testy łączności za pomocą narzędzia do rozwiązywania problemów z połączeniem wymagały zainstalowania rozszerzenia agenta Network Watcher dla maszyny wirtualnej. To rozszerzenie było niezbędne do uruchamiania testów z maszyny wirtualnej.

Co nowego

Dzięki środowisku bez agenta można teraz uruchamiać testy łączności między zasobami Azure bez instalowania jakiegokolwiek agenta diagnostycznego lub rozszerzenia maszyny wirtualnej. Upraszcza to instalację, zmniejsza obciążenie operacyjne i umożliwia szybsze rozwiązywanie problemów bezpośrednio z portalu Azure.

  • Nie jest wymagana instalacja agenta: Testy łączności można zainicjować bez wdrażania lub aktualizowania rozszerzenia maszyny wirtualnej agenta Network Watcher na maszynach wirtualnych Windows lub Linux.
  • Streamlined experience: Wszystkie diagnostyki są wykonywane przy użyciu interfejsów API platformy Azure, dzięki czemu proces jest bezproblemowy i wydajny.

Obsługiwane typy źródłowe i docelowe

Rozwiązywanie problemów z połączeniem zapewnia możliwość sprawdzania połączeń TCP lub ICMP z dowolnego z tych zasobów Azure:

Diagnostyka połączeń umożliwia przetestowanie połączeń z dowolnym z tych miejsc docelowych:

  • Maszyny wirtualne
  • W pełni określone nazwy domen (FQDNs)
  • Jednolite identyfikatory URI
  • Adresy IP

Problemy wykryte przez test połączenia

Rozwiązywanie problemów z połączeniem może wykryć następujące typy problemów, które mogą mieć wpływ na łączność:

  • Wysokie wykorzystanie procesora CPU maszyny wirtualnej
  • Wysokie wykorzystanie pamięci maszyny wirtualnej
  • Reguły zapory maszyny wirtualnej (gościa) blokujące ruch
  • Błędy rozpoznawania nazw DNS
  • Błędnie skonfigurowane lub brakujące trasy
  • Reguły NSG (sieciowej grupy zabezpieczeń) blokujące ruch
  • Brak możliwości otwarcia gniazda na określonym porcie źródłowym
  • Brak wpisów protokołu rozpoznawania adresów dla obwodów Azure ExpressRoute
  • Serwery nie nasłuchują na wyznaczonych portach docelowych

Odpowiedź

W poniższej tabeli przedstawiono właściwości zwrócone po uruchomieniu rozwiązywania problemów z połączeniem.

Właściwości opis
StanPołączenia Stan sprawdzania łączności. Możliwe wyniki są osiągalne i nieosiągalne.
ŚrednieOpóźnienieWMs Średnie opóźnienie podczas sprawdzania łączności w milisekundach. (Wyświetlane tylko wtedy, gdy status sprawdzania jest osiągalny).
MinLatencyInMs Minimalne opóźnienie podczas sprawdzania łączności w milisekundach. (Wyświetlane tylko wtedy, gdy status sprawdzania jest osiągalny).
Maksymalne Opóźnienie w Milisekundach Maksymalne opóźnienie podczas sprawdzania łączności w milisekundach. (Wyświetlane tylko wtedy, gdy status sprawdzania jest osiągalny).
Wysłane sondy Liczba sond wysłanych podczas sprawdzania. Wartość maksymalna to 100.
NieudaneSondy Liczba sond zakończonych niepowodzeniem podczas sprawdzania. Wartość maksymalna to 100.
Hopy Przeskocz według ścieżki przeskoku ze źródła do miejsca docelowego.
Przeskoki[]. Typ Typ zasobu. Możliwe wartości to: Source, VirtualAppliance, VnetLocal i Internet.
Przeskoki[]. Id Unikatowy identyfikator przeskoku.
Przeskoki[]. Adres Adres IP przeskoku.
Skoki[].Identyfikator zasobu Identyfikator zasobu przeskoku, jeśli przeskok jest zasobem Azure. Jeśli jest to zasób internetowy, resourceID to Internet.
Przeskoki[]. NextHopIds Unikalny identyfikator następnego skoku.
Przeskoki[]. Problemy Zbiór problemów, które wystąpiły podczas sprawdzania przeskoku. Jeśli nie wystąpiły żadne problemy, wartość jest pusta.
Przeskoki[]. Problemy[]. Pochodzenie Na bieżącym przeskoku, gdzie wystąpił problem. Możliwe wartości to:
Przychodzący: Problem znajduje się na łączu z poprzedniego przeskoku do bieżącego przeskoku.
Wychodzące: Problem występuje na łączu od bieżącego przeskoku do następnego przeskoku.
Lokalizacja: Problem występuje na obecnym etapie.
Przeskoki[]. Problemy[]. Dotkliwość Ważność wykrytego problemu. Możliwe wartości to: Błąd i Ostrzeżenie.
Hops[].Problemy[].Typ Typ wykrytego problemu. Możliwe wartości to:
Procesor
Memory (Pamięć)
GuestFirewall
Rozwiązywanie DNS
Reguła zabezpieczeń sieci
UserDefinedRoute (Trasa zdefiniowana przez użytkownika)
Przeskoki[]. Problemy[]. Kontekst Szczegóły dotyczące wykrytego problemu.
Przeskoki[].Problemy[].Kontekst[].klucz Klucz zwróconej pary wartości klucza.
Przeskoki[].Problemy[].Kontekst[].wartość Wartość zwróconej pary wartości klucza.
AnalizaNastępnegoSkoku.NextHopType Typ następnego przeskoku. Możliwe wartości to:
HyperNetGateway
Internet
Brak
Urządzenie wirtualne
Brama sieci wirtualnej
VnetLocal
NextHopAnalysis.NextHopIpAddress Adres IP następnego przeskoku.
Identyfikator zasobu tabeli tras skojarzony z zwracaną trasą. Jeśli zwrócona trasa nie odpowiada żadnym trasom utworzonym przez użytkownika, to to pole będzie ciągiem Trasa systemowa.
SourceSecurityRuleAnalysis.Results[]. Profil Profil diagnostyczny konfiguracji sieci.
SourceSecurityRuleAnalysis.Results[]. Profile.Source Źródło ruchu. Możliwe wartości to: *****, adres IP/CIDR i tag usługi.
SourceSecurityRuleAnalysis.Results[].Profile.Destination Miejsce docelowe ruchu. Możliwe wartości to: *****, adres IP/CIDR i tag usługi.
SourceSecurityRuleAnalysis.Results[].Profile.DestinationPort Port docelowy ruchu. Możliwe wartości to* i pojedynczy port w zakresie (0–65535).
SourceSecurityRuleAnalysis.Results[].Profil.Protokół Protokół do zweryfikowania. Możliwe wartości to: *****, TCP i UDP.
SourceSecurityRuleAnalysis.Results[].Profile.Direction Kierunek ruchu. Możliwe wartości to: wychodzące i przychodzące.
SourceSecurityRuleAnalysis.Results[].WynikGrupyZabezpieczeńSieci Rezultat grupy zabezpieczeń sieciowych.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[] Lista wyników diagnostyki sieciowych grup zabezpieczeń.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.SecurityRuleAccessResult Ruch sieciowy jest dozwolony lub blokowany. Możliwe wartości to: Zezwalaj i Odmów.
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].AppliedTo Identyfikator zasobu karty sieciowej lub podsieci, do której jest stosowana sieciowa grupa zabezpieczeń.
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].DopasowaneReguły Dopasowana reguła zabezpieczeń sieci.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[]. MatchedRule.Action Ruch sieciowy jest dozwolony lub blokowany. Możliwe wartości to: Zezwalaj i Odmów.
SourceSecurityRuleAnalysis.Wyniki[].NetworkSecurityGroupResult.OcenioneGrupyBezpieczeństwaSieci[].DopasowanaReguła.NazwaReguły Nazwa dopasowanej reguły zabezpieczeń sieci.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[]. NetworkSecurityGroupId Identyfikator sieciowej grupy zabezpieczeń.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[] Lista wyników oceny reguł zabezpieczeń sieci.
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].DocelowaDopasowane Wartość wskazuje, czy miejsce docelowe jest zgodne. Wartości logiczne.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. DopasowanyPortDocelowy Wartość wskazuje, czy port docelowy jest zgodny. Wartości logiczne.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. Nazwa Nazwa reguły zabezpieczeń sieci.
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].ProtokółDopasowany Wartość wskazuje, czy protokół jest zgodny. Wartości logiczne.
WynikAnalizyZasadBezpieczeństwa[].WynikGrupyZasadBezpieczeństwaSieci[].WynikOcenyZasad[].DopasowanieŹródła Wartość wskazuje, czy źródło jest zgodne. Wartości logiczne.
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. SourcePortMatched Wartość wskazuje, czy port źródłowy jest zgodny. Wartości logiczne.
Analiza Zasad Bezpieczeństwa dla Przeznaczenia Tak samo jak format SourceSecurityRuleAnalysis.
SourcePortStatus (Status portu) Określa, czy port w źródle jest osiągalny, czy nie. Możliwe wartości to:
Nieznane
Osiągalny
Niestabilny
Brak połączenia
Przekroczenie limitu czasu
Status portu docelowego Określa, czy port w miejscu docelowym jest osiągalny, czy nie. Możliwe wartości to:
Nieznane
Osiągalny
Niestabilny
Brak połączenia
Przekroczenie limitu czasu

W poniższym przykładzie pokazano problem znaleziony na przeskoku.

"Issues": [
    {
        "Origin": "Outbound",
        "Severity": "Error",
        "Type": "NetworkSecurityRule",
        "Context": [
            {
                "key": "RuleName",
                "value": "UserRule_Port80"
            }
        ]
    }
]

Błędy

Rozwiązywanie problemów z połączeniem zwraca następujące komunikaty o błędach.

Typ problemu opis
AgentStopped Agent Network Watcher na źródłowej maszynie wirtualnej został zatrzymany lub nie odpowiada.
GuestFirewall Ruch jest blokowany przez zaporę systemu operacyjnego gościa na źródłowej lub docelowej maszynie wirtualnej.
DnsResolution Wyszukiwanie DNS dla docelowej nazwy hosta nie powiodło się w agencie źródłowym.
SocketError Agent źródłowy nie może powiązać się z wymaganym gniazdem lokalnym lub nasłuchiwać na nim (na przykład SocketBindFailed lub ListenFailed).
Reguła zabezpieczeń sieci Reguła NSG blokuje ruch przychodzący lub wychodzący między źródłem a miejscem docelowym.
UserDefinedRoute (Trasa zdefiniowana przez użytkownika) Znaleziono trasę zdefiniowaną przez użytkownika, która kieruje ruch do następnego przeskoku None, tworząc czarną dziurę w routingu.
Platform Problem Azure na poziomie platformy ma wpływ na łączność.
NetworkError Wystąpił ogólny błąd sieci (na przykład przekroczono limit czasu połączenia, połączenie nie powiodło się, brak odpowiedzi lub niepowodzenie wysyłania/odbierania).
Procesor Użycie procesora CPU na źródłowej lub docelowej maszynie wirtualnej przekroczyło próg.
Memory (Pamięć) Użycie pamięci na źródłowej lub docelowej maszynie wirtualnej przekroczyło próg.
ARPMissing W tabeli ARP na przeskoku Microsoft Edge (ExpressRoute) brakuje lub brakuje niekompletnego wpisu dla klienta/Microsoft edge adresu IP.
RouteMissing Wygenerowany, gdy nie można znaleźć prawidłowej ścieżki do miejsca docelowego na przesiadce.
Restartowanie maszyny wirtualnej Źródłowa lub docelowa maszyna wirtualna jest obecnie w stanie ponownego uruchamiania.
VMNiePrzydzielona Maszyna wirtualna nie jest przypisana (odprzypisana lub zatrzymana).
NoListenerOnDestination Sprawdzanie łączności docelowej potwierdziło, że żaden proces nie nasłuchuje na określonym porcie.
DIPProbeDown Sonda diagnostyczna SLB informuje, że adres DIP w backendzie (docelowy adres IP) jest niedostępny.
NoRouteLearned Usługa SLB lub koncentrator wirtualny nie odnalazły skutecznej trasy do miejsca docelowego.
PeeringInfoNotFound Nie można pobrać informacji dotyczących komunikacji równorzędnej między dwiema sieciami wirtualnymi.
VMUruchamianie Docelowa maszyna wirtualna jest w stanie początkowym i nie jest jeszcze gotowa do akceptowania ruchu.
VmStopped Docelowa maszyna wirtualna jest zatrzymana (ale nadal przydzielona), więc nie może akceptować ruchu sieciowego.
Zatrzymanie VM Docelowa maszyna wirtualna jest w trakcie zatrzymywania i nie akceptuje ruchu w sposób niezawodny.
VmDeallocating Docelowa maszyna wirtualna jest dealokowana i jest w trakcie zwalniania swoich zasobów, co powoduje, że jest tymczasowo niedostępna.
Maszyna wirtualnaPrzydzielona Docelowa maszyna wirtualna została całkowicie wyłączona.
SystemError Wystąpił błąd wewnętrznego systemu lub infrastruktury.
UDRLoop Znaleziono trasę zdefiniowaną przez użytkownika. Powoduje to pętlę routingu, ponieważ adres IP następnego przeskoku jest zgodny z bieżącym adresem IP przeskoku.
IPForwardingNotEnabled Maszyna wirtualna urządzenia NVA, przez którą jest kierowany ruch, nie ma włączonego przekazywania IP na karcie sieciowej.
VnetAccessNotAllowed Link komunikacji równorzędnej sieci wirtualnej ma dla parametru AllowVNetAccess ustawioną wartość na false, co blokuje ruch przekraczający granicę komunikacji równorzędnej.
AllowGatewayTransitNotEnabled Połączenie równorzędne po stronie centrum/bramy nie ma włączonego AllowGatewayTransit.
MultiNICsInSameSubnet Wiele kart sieciowych na maszynie wirtualnej znajduje się w tej samej podsieci, co może prowadzić do routingu asymetrycznego i nieprzewidywalnego zachowania ruchu.
StandardILBOutboundInternetNotAllowed Zgłaszane, gdy maszyna wirtualna w puli zaplecza standardowego wewnętrznego modułu równoważenia obciążenia (Load Balancer) próbuje nawiązać połączenie z Internetem — zaplecza standardowego wewnętrznego modułu równoważenia obciążenia nie mają domyślnego dostępu do Internetu wychodzącego, w przeciwieństwie do podstawowego modułu wewnętrznego równoważenia obciążenia.
MultiNICsInSameSubnetWithWeakHostSendEnabled Wiele kart sieciowych znajduje się w tej samej podsieci i włączono słabe wysyłanie z hosta, co może spowodować, że ruch wyjdzie przez nieoczekiwany interfejs.
MultiNICsInSameSubnetWithWeakHostEnabled Wiele kart sieciowych znajduje się w tej samej podsieci, a funkcja słabego hosta (wysyłanie/odbieranie) jest włączona na maszynie wirtualnej, co może skutkować przekierowaniem pakietów przez niezamierzone interfejsy.
SourcePortInUse Port źródłowy wybrany przez agenta jest już w stanie TIME_WAIT (pozostające aktywne gniazdo TCP), co uniemożliwia ustanowienie nowego połączenia z tego portu.
InvalidResponseFromServer Sonda DNS odpytyła serwer, ale nie otrzymała pasujących rekordów.
DNSResponseValidationFailed Odpowiedź sondy DNS nie spełniła określonej reguły walidacji (na przykład nieprawidłowa liczba rekordów, nieprawidłowa obsługa rekursji, nieprawidłowy kod odpowiedzi (RCode) lub nieprawidłowa flaga autorytetu).
Nieobsługiwany system Agent jest uruchomiony w konfiguracji systemu operacyjnego lub systemu, która nie obsługuje żądanego typu sondy.
Niepełnatopologia Usługa nie może skompilować pełnej ścieżki przeskoku do miejsca docelowego.
DestinationUnreachable Agent na maszynie źródłowej nie mógł dotrzeć do miejsca docelowego.
TraceRouteUnavailable Agent nie zwrócił wyniku traceroute (bez ścieżek), więc nie może określić stanu łączności między źródłem a miejscem docelowym.
Celczęściowodostępny Niektóre, ale nie wszystkie ścieżki traceroute z agenta pomyślnie dotarły do miejsca docelowego.
GatewayNotProvisioned Brama sieci VPN/ExpressRoute zwróciła błąd GatewayNotProvisioned .
ResourceHealthUnavailable Azure Resource Health raportuje zasób pośredni (maszyna wirtualna, brama, zapora itp.) jako Unavailable.
ResourceHealthDegraded Azure Resource Health zgłasza element przeskoku jako pogorszony.
VirtualHubNotProvisioned Centrum Virtual WAN skojarzone ze ścieżką nie znajduje się w Succeeded stanie aprowizacji.
StatusCodeValidationFailed Sonda HTTP odebrała odpowiedź, ale zwrócony kod stanu HTTP nie był zgodny z oczekiwaną wartością.
HeaderValidationFailed Sonda HTTP odebrała odpowiedź, ale brakowało co najmniej jednego oczekiwanego nagłówka odpowiedzi HTTP lub nie pasowały.
ContentValidationFailed Sonda HTTP odebrała odpowiedź, ale zawartość treści odpowiedzi nie jest zgodna z oczekiwaną wartością.
BrakSkonfigurowanegoPołączenia Nie skonfigurowano połączenia między źródłowymi i docelowymi punktami końcowymi w ustawieniach monitora połączeń.
StanPołączeniaRozłączony Monitorowane połączenie jest w stanie rozłączenia wskazującym przerwę w ścieżce połączenia logicznego.
BasicILBNotSupportedWithGlobalPeering Podstawowy wewnętrzny równoważnik obciążenia nie obsługuje globalnego peeringu sieci wirtualnych.
BGPRoutePropogationDisabled Propagacja tras protokołu BGP jest wyłączona w tabeli tras skojarzonej z podsiecią źródłową.
UseRemoteGatewaysNotEnabled Połączenie równorzędne po stronie połączenia szprychowego nie ma włączonej opcji UseRemoteGateways.
NieoczekiwanePołączenieBramySieciWirtualnej Znaleziono połączenie bramy sieciowej wirtualnej na trasie, której się nie spodziewano.

Typy błędów

Rozwiązywanie problemów z połączeniem zwraca typy błędów dotyczące połączenia. Poniższa tabela zawiera listę możliwych zwracanych typów błędów.

Typ opis
CPU Wysokie użycie procesora.
Pamięć Wysokie wykorzystanie pamięci.
Zapora dla Gości GuestFirewall Ruch jest blokowany z powodu konfiguracji zapory sieciowej maszyny wirtualnej.

Ping TCP stanowi wyjątkowy przypadek, w którym, jeśli nie ma dozwolonej reguły, zapora odpowiada na polecenie ping TCP klienta, mimo że ping TCP nie osiąga docelowego adresu IP ani pełnej kwalifikowanej nazwy domeny (FQDN). To zdarzenie nie jest rejestrowane. Jeśli istnieje reguła sieci, która zezwala na dostęp do docelowego adresu IP/nazwy FQDN, żądanie ping dociera do serwera docelowego i jego odpowiedź jest przekazywana z powrotem do klienta. To zdarzenie jest rejestrowane w dzienniku reguł sieciowych.
DnsResolution Rozpoznawanie nazw DNS nie powiodło się dla adresu docelowego.
ZasadaBezpieczeństwaSieci Ruch jest blokowany przez regułę grupy zabezpieczeń sieciowych (reguła zabezpieczeń jest zwracana).
Trasa Zdefiniowana przez Użytkownika Ruch jest odrzucony z powodu trasy zdefiniowanej przez użytkownika lub system.

Następny krok

Aby dowiedzieć się, jak używać rozwiązywania problemów z połączeniem do testowania połączeń i rozwiązywania problemów z nimi, przejdź do: