Udostępnij za pośrednictwem


Jak zweryfikować przepływność sieci VPN do sieci wirtualnej

Połączenie bramy sieci VPN umożliwia ustanowienie bezpiecznej łączności między siecią wirtualną między siecią wirtualną na platformie Azure a lokalną infrastrukturą IT.

W tym artykule pokazano, jak zweryfikować przepływność sieci z zasobów lokalnych do maszyny wirtualnej platformy Azure.

Uwaga

Ten artykuł ma pomóc w diagnozowaniu i rozwiązywaniu typowych problemów. Jeśli nie możesz rozwiązać problemu, korzystając z poniższych informacji, skontaktuj się z pomocą techniczną.

Omówienie

Połączenie bramy sieci VPN obejmuje następujące składniki:

  • Lokalne urządzenie sieci VPN (wyświetl listę zweryfikowanych urządzeń sieci VPN).
  • Publiczny Internet
  • Brama sieci VPN platformy Azure
  • Maszyna wirtualna platformy Azure

Na poniższym diagramie przedstawiono logiczną łączność sieci lokalnej z siecią wirtualną platformy Azure za pośrednictwem sieci VPN.

Logiczna łączność sieci klienta z siecią MSFT przy użyciu sieci VPN

Obliczanie maksymalnego oczekiwanego ruchu przychodzącego/wychodzącego

  1. Określ wymagania dotyczące przepływności bazowej aplikacji.
  2. Określ limity przepływności bramy sieci VPN platformy Azure. Aby uzyskać pomoc, zobacz sekcję "Jednostki SKU bramy" w temacie Informacje o usłudze VPN Gateway.
  3. Określ wskazówki dotyczące przepływności maszyny wirtualnej platformy Azure dotyczące rozmiaru maszyny wirtualnej.
  4. Określ przepustowość dostawcy usług internetowych.
  5. Oblicz oczekiwaną przepływność, przyjmując najmniejszą przepustowość maszyny wirtualnej, usługi VPN Gateway lub usługodawcy internetowego; mierzona w megabitach na sekundę (/) podzielona przez osiem (8). To obliczenie daje megabajty na sekundę.

Jeśli obliczona przepływność nie spełnia wymagań dotyczących przepływności bazowej aplikacji, musisz zwiększyć przepustowość zasobu zidentyfikowanego jako wąskie gardło. Aby zmienić rozmiar usługi Azure VPN Gateway, zobacz Zmienianie jednostki SKU bramy. Aby zmienić rozmiar maszyny wirtualnej, zobacz Zmienianie rozmiaru maszyny wirtualnej. Jeśli nie występuje oczekiwana przepustowość internetu, możesz również skontaktować się z usługodawcą internetowym.

Uwaga

Przepływność usługi VPN Gateway to agregacja wszystkich połączeń typu lokacja-lokacja\sieć wirtualna-sieć wirtualna lub połączenia typu punkt-lokacja.

Weryfikowanie przepływności sieci przy użyciu narzędzi do wydajności

Ta weryfikacja powinna być wykonywana w godzinach innych niż godziny, ponieważ nasycenie przepływności tunelu VPN podczas testowania nie daje dokładnych wyników.

Narzędzie używane na potrzeby tego testu to iPerf, który działa zarówno w systemach Windows, jak i Linux i ma tryby klienta i serwera. Jest ograniczona do 3 Gb/s dla maszyn wirtualnych z systemem Windows.

To narzędzie nie wykonuje żadnych operacji odczytu/zapisu na dysku. Generuje wyłącznie samodzielnie generowany ruch TCP z jednego końca do drugiego. Generuje statystyki na podstawie eksperymentów, które mierzy przepustowość dostępną między węzłami klienta i serwera. Podczas testowania między dwoma węzłami jeden węzeł działa jako serwer, a drugi węzeł działa jako klient. Po zakończeniu tego testu zalecamy odwrócenie ról węzłów w celu przetestowania zarówno przekazywania, jak i pobierania przepływności na obu węzłach.

Pobieranie aplikacji iPerf

Pobierz aplikację iPerf. Aby uzyskać szczegółowe informacje, zobacz dokumentację aplikacji iPerf.

Uwaga

Produkty innych firm omówione w tym artykule są produkowane przez firmy niezależne od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.

Uruchamianie narzędzia iPerf (iperf3.exe)

  1. Włącz regułę sieciowej grupy zabezpieczeń/listy ACL zezwalającą na ruch (na potrzeby testowania publicznego adresu IP na maszynie wirtualnej platformy Azure).

  2. W obu węzłach włącz wyjątek zapory dla portu 5001.

    Windows: Uruchom następujące polecenie jako administrator:

    netsh advfirewall firewall add rule name="Open Port 5001" dir=in action=allow protocol=TCP localport=5001
    

    Aby usunąć regułę po zakończeniu testowania, uruchom następujące polecenie:

    netsh advfirewall firewall delete rule name="Open Port 5001" protocol=TCP localport=5001
    

    Azure Linux: obrazy systemu Linux platformy Azure mają zapory permissive. Jeśli na porcie nasłuchuje aplikacja, ruch jest dozwolony. Obrazy niestandardowe, które są zabezpieczone, mogą wymagać jawnego otwarcia portów. Typowe zapory w warstwie systemu operacyjnego Linux obejmują iptables, ufwlub firewalld.

  3. W węźle serwera przejdź do katalogu, w którym wyodrębniono iperf3.exe. Następnie uruchom program iPerf w trybie serwera i ustaw go tak, aby nasłuchiwać na porcie 5001 jako następujące polecenia:

    cd c:\iperf-3.1.2-win65
    
    iperf3.exe -s -p 5001
    

    Uwaga

    Port 5001 można dostosować, aby uwzględnić określone ograniczenia zapory w danym środowisku.

  4. W węźle klienta przejdź do katalogu, w którym wyodrębniono narzędzie iperf, a następnie uruchom następujące polecenie:

    iperf3.exe -c <IP of the iperf Server> -t 30 -p 5001 -P 32
    

    Klient kieruje 30 sekund ruchu na porcie 5001 do serwera. Flaga "-P" wskazuje, że wykonujemy 32 równoczesne połączenia z węzłem serwera.

    Poniższy ekran przedstawia dane wyjściowe z tego przykładu:

    Wyjście

  5. (OPCJONALNIE) Aby zachować wyniki testowania, uruchom następujące polecenie:

    iperf3.exe -c IPofTheServerToReach -t 30 -p 5001 -P 32  >> output.txt
    
  6. Po wykonaniu poprzednich kroków wykonaj te same kroki z odwróconymi rolami, aby węzeł serwera był teraz węzłem klienta i odwrotnie.

Uwaga

Iperf nie jest jedynym narzędziem. NTTTCP to alternatywne rozwiązanie do testowania.

Testowanie maszyn wirtualnych z systemem Windows

Ładowanie Latte.exe na maszyny wirtualne

Pobierz najnowszą wersję Latte.exe

Rozważ umieszczenie Latte.exe w oddzielnym folderze, na przykład c:\tools

Zezwalaj na Latte.exe przez zaporę systemu Windows

Na odbiorniku utwórz regułę Zezwalaj na zaporę systemu Windows, aby zezwolić na ruch Latte.exe. Najłatwiej jest zezwolić na cały program Latte.exe według nazwy, a nie zezwalać na przychodzące określone porty TCP.

Zezwalaj na Latte.exe za pośrednictwem zapory systemu Windows w następujący sposób

netsh advfirewall firewall add rule program=<PATH>\latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY

Jeśli na przykład skopiowano latte.exe do folderu "c:\tools", będzie to polecenie

netsh advfirewall firewall add rule program=c:\tools\latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY

Uruchamianie testów opóźnienia

Uruchom latte.exe na odbiorniku (uruchom polecenie z cmd, a nie z programu PowerShell):

latte -a <Receiver IP address>:<port> -i <iterations>

Około 65k iteracji jest wystarczająco długi, aby zwrócić reprezentatywne wyniki.

Dowolny dostępny numer portu jest odpowiedni.

Jeśli maszyna wirtualna ma adres IP 10.0.0.4, będzie wyglądać następująco:

latte -c -a 10.0.0.4:5005 -i 65100

Uruchom latte.exe na nadawcy (uruchom polecenie z cmd, a nie z programu PowerShell)

latte -c -a <Receiver IP address>:<port> -i <iterations>

Wynikowe polecenie jest takie samo jak w odbiorniku, z wyjątkiem dodania "-c", aby wskazać, że jest to "klient" lub nadawca

latte -c -a 10.0.0.4:5005 -i 65100

Poczekaj na wyniki. W zależności od tego, jak daleko są maszyny wirtualne, ukończenie może potrwać kilka minut. Rozważ rozpoczęcie od mniejszej liczby iteracji, aby przetestować powodzenie przed uruchomieniem dłuższych testów.

Testowanie maszyn wirtualnych z systemem Linux

Użyj narzędzia SockPerf , aby przetestować maszyny wirtualne.

Instalowanie narzędzia SockPerf na maszynach wirtualnych

Na maszynach wirtualnych z systemem Linux (NADAWCA i ODBIORNIK) uruchom następujące polecenia, aby przygotować aplikację SockPerf na maszynach wirtualnych:

RHEL — instalowanie narzędzia GIT i innych przydatnych narzędzi

sudo yum install gcc -y -q sudo yum install git -y -q sudo yum install gcc-c++ -y sudo yum install ncurses-devel -y sudo yum install -y automake

Ubuntu — instalowanie narzędzia GIT i innych przydatnych narzędzi

sudo apt-get install build-essential -y sudo apt-get install git -y -q sudo apt-get install -y autotools-dev sudo apt-get install -y automake

Powłoka Bash — wszystkie

Z poziomu wiersza polecenia powłoki bash (zakłada się, że narzędzie git jest zainstalowane)

git clone https://github.com/mellanox/sockperf cd sockperf/ ./autogen.sh ./configure --prefix=

Make jest wolniejsza, może potrwać kilka minut

make

Szybkie instalowanie

sudo make install

Uruchamianie narzędzia SockPerf na maszynach wirtualnych

Przykładowe polecenia po instalacji. Serwer/odbiornik — zakłada, że adres IP serwera to 10.0.0.4

sudo sockperf sr --tcp -i 10.0.0.4 -p 12345 --full-rtt

Klient — zakłada, że adres IP serwera to 10.0.0.4

sockperf ping-pong -i 10.0.0.4 --tcp -m 1400 -t 101 -p 12345 --full-rtt

Uwaga

Upewnij się, że nie ma przeskoków pośrednich (np. wirtualnego urządzenia) podczas testowania przepływności między maszyną wirtualną a bramą. Jeśli istnieją słabe wyniki (pod względem ogólnej przepływności) pochodzące z powyższych testów iPERF/NTTTCP, zapoznaj się z tym artykułem , aby zrozumieć kluczowe czynniki związane z możliwymi głównymi przyczynami problemu:

W szczególności analiza śladów przechwytywania pakietów (Wireshark/Network Monitor) zebranych równolegle z klienta i serwera podczas tych testów pomaga w ocenie złej wydajności. Te ślady mogą obejmować utratę pakietów, duże opóźnienia, rozmiar jednostki MTU. fragmentacja, okno TCP 0, fragmenty poza kolejnością itd.

Rozwiązywanie problemów z powolnym kopiowaniem plików

Nawet jeśli ogólna przepływność oceniana przy użyciu poprzednich kroków (iPERF/NTTTCP/etc.) była dobra, podczas przeciągania i upuszczania sesji protokołu RDP może wystąpić powolne radzenie sobie z plikiem. Ten problem jest zwykle spowodowany jednym lub obydwoma następującymi czynnikami:

  • Aplikacje do kopiowania plików, takie jak Eksplorator Windows i RDP, nie używają wielu wątków podczas kopiowania plików. Aby uzyskać lepszą wydajność, użyj wielowątkowej aplikacji do kopiowania plików, takiej jak Richcopy , do kopiowania plików przy użyciu wątków 16 lub 32. Aby zmienić numer wątku kopii pliku w narzędziu Richcopy, kliknij pozycję Opcje kopiowania akcji>Kopia>pliku.

    Problemy z powolnym kopiowaniem plików

    Uwaga

    Nie wszystkie aplikacje działają tak samo, a nie wszystkie aplikacje/proces korzystają ze wszystkich wątków. Jeśli uruchomisz test, zobaczysz, że niektóre wątki są puste i nie zapewnią dokładnych wyników przepływności. Aby sprawdzić wydajność transferu plików aplikacji, użyj wielowątku, zwiększając liczbę wątków z rzędu lub zmniejszając w celu znalezienia optymalnej przepływności aplikacji lub transferu plików.

  • Niewystarczająca szybkość odczytu/zapisu dysku maszyny wirtualnej. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z usługą Azure Storage.

Zewnętrzny interfejs urządzenia lokalnego

Wspomniano o podsieciach zakresów lokalnych, które mają być dostępne przez platformę Azure za pośrednictwem sieci VPN w bramie sieci lokalnej. Jednocześnie zdefiniuj przestrzeń adresową sieci wirtualnej na platformie Azure na urządzeniu lokalnym.

  • Brama oparta na trasach: zasady lub selektor ruchu dla sieci VPN opartych na trasach są konfigurowane jako dowolne-dowolne (lub symbole wieloznaczne).

  • Brama oparta na zasadach: sieci VPN oparte na zasadach szyfrują i kierują pakiety za pośrednictwem tuneli IPsec na podstawie kombinacji prefiksów adresów między siecią lokalną a siecią wirtualną platformy Azure. Zasady (lub selektor ruchu) są zazwyczaj zdefiniowane jako lista dostępu w konfiguracji VPN.

  • Użyj połączeńPolicyBasedTrafficSelector : ("UsePolicyBasedTrafficSelectors", aby $True na połączeniu konfiguruje bramę sieci VPN platformy Azure w celu nawiązania połączenia z lokalną zaporą sieci VPN opartą na zasadach. Jeśli włączysz usługę PolicyBasedTrafficSelectors, musisz upewnić się, że urządzenie sieci VPN ma zgodne selektory ruchu zdefiniowane ze wszystkimi kombinacjami prefiksów sieci lokalnej (bramy sieci lokalnej) do i z prefiksów sieci wirtualnej platformy Azure, a nie z prefiksów sieci wirtualnej platformy Azure.

Niewłaściwa konfiguracja może prowadzić do częstych rozłączeń w tunelu, popadania pakietów, złej przepływności i opóźnień.

Sprawdzanie opóźnienia

Opóźnienie można sprawdzić przy użyciu następujących narzędzi:

  • WinMTR
  • TCPTraceroute
  • ping i psping (Te narzędzia mogą zapewnić dobre oszacowanie RTT, ale nie można ich używać we wszystkich przypadkach).

Sprawdzanie opóźnienia

Jeśli zauważysz skok dużego opóźnienia w dowolnym przeskoku przed wejściem do sieci szkieletowej MS Network, możesz kontynuować dalsze badania u dostawcy usług internetowych.

Jeśli duży, nietypowy skok opóźnienia zostanie zauważony z przeskoków w ciągu "msn.net", skontaktuj się z pomocą techniczną MS w celu przeprowadzenia dalszych badań.

Następne kroki

Aby uzyskać więcej informacji lub pomoc, skorzystaj z następującego linku: