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.
Obliczanie maksymalnego oczekiwanego ruchu przychodzącego/wychodzącego
- Określ wymagania dotyczące przepływności bazowej aplikacji.
- 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.
- Określ wskazówki dotyczące przepływności maszyny wirtualnej platformy Azure dotyczące rozmiaru maszyny wirtualnej.
- Określ przepustowość dostawcy usług internetowych.
- 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)
Włącz regułę sieciowej grupy zabezpieczeń/listy ACL zezwalającą na ruch (na potrzeby testowania publicznego adresu IP na maszynie wirtualnej platformy Azure).
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
,ufw
lubfirewalld
.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.
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:
(OPCJONALNIE) Aby zachować wyniki testowania, uruchom następujące polecenie:
iperf3.exe -c IPofTheServerToReach -t 30 -p 5001 -P 32 >> output.txt
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.
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
ipsping
(Te narzędzia mogą zapewnić dobre oszacowanie RTT, ale nie można ich używać we wszystkich przypadkach).
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: