Implementowanie routingu ruchu w sieci wirtualnej
Platforma Azure automatycznie tworzy tabelę tras dla każdej podsieci w sieci wirtualnej platformy Azure i dodaje do tabeli domyślne trasy systemu. Niektóre trasy systemowe platformy Azure można zastąpić trasami niestandardowymi i dodać więcej tras niestandardowych do tabel tras. Platforma Azure kieruje ruch wychodzący z podsieci na podstawie tras w tabeli tras podsieci.
Trasy systemowe
Platforma Azure automatycznie tworzy trasy systemowe i przypisuje trasy do każdej podsieci w sieci wirtualnej. Nie można tworzyć ani usuwać tras systemowych, ale można zastąpić niektóre trasy systemowe tras niestandardowymi. Platforma Azure tworzy domyślne trasy systemowe dla każdej podsieci i dodaje inne opcjonalne trasy domyślne do określonych podsieci lub każdej podsieci podczas korzystania z określonych możliwości platformy Azure.
Trasy domyślne
Każda trasa zawiera prefiks adresu i typ następnego przeskoku. Gdy ruch opuszczający podsieć jest wysyłany na adres IP w ramach prefiksu adresu trasy, trasa zawierająca prefiks jest trasą używaną przez platformę Azure. Przy każdym utworzeniu sieci wirtualnej platforma Azure automatycznie tworzy następujące domyślne trasy systemowe dla każdej podsieci w sieci wirtualnej:
Source
Prefiksy adresów
Typ następnego skoku
Domyślne
Unikatowy dla sieci wirtualnej
Sieć wirtualna
Domyślne
0.0.0.0/0
Internet
Wartość domyślna
10.0.0.0/8
Brak
Wartość domyślna
192.168.0.0/16
Brak
Wartość domyślna
100.64.0.0/10
Brak
W kategoriach routingu przeskok to punkt drogowy na całej trasie. W związku z tym następny przeskok jest następnym punktem drogi, do którego ruch jest kierowany do jego podróży do jego ostatecznego miejsca docelowego. Typy następnego przeskoku wymienione w powyższej tabeli określają sposób, w jaki platforma Azure kieruje ruch przeznaczony dla wymienionego prefiksu adresu. Typy następnego przeskoku są zdefiniowane w następujący sposób:
Sieć wirtualna: kieruje ruch między zakresami adresów w przestrzeni adresowej sieci wirtualnej. Platforma Azure tworzy trasę z prefiksem adresu odpowiadającym każdemu zakresowi adresów zdefiniowanemu w przestrzeni adresowej sieci wirtualnej. Platforma Azure automatycznie kieruje ruchem między podsieciami za pomocą tras utworzonych dla każdego zakresu adresów.
Internet: kieruje określonym przez prefiks adresu ruchem do Internetu. Domyślna trasa systemowa określa prefiks adresu 0.0.0.0/0. Platforma Azure kieruje ruch dla żadnego adresu nieokreślonego przez zakres adresów w sieci wirtualnej do Internetu, chyba że adres docelowy jest przeznaczony dla usługi platformy Azure. Platforma Azure kieruje dowolny ruch przeznaczony dla swojej usługi bezpośrednio do usługi za pośrednictwem sieci szkieletowej, zamiast kierować ruch do Internetu. Można zastąpić domyślną trasę systemową platformy Azure dla prefiksu adresu 0.0.0.0/0 za pomocą trasy niestandardowej.
Brak: ruch kierowany do typu następnego przeskoku None jest porzucony, a nie kierowany poza podsieć. Platforma Azure automatycznie tworzy trasy domyślne dla następujących prefiksów adresów:
- 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0.0/16: zarezerwowane do użytku prywatnego w RFC 1918.
- 100.64.0.0/10: zarezerwowane w dokumencie RFC 6598.
Opcjonalne trasy domyślne
Platforma Azure dodaje domyślne trasy systemowe dla wszystkich funkcji platformy Azure, które włączysz. W zależności od możliwości platforma Azure dodaje opcjonalne trasy domyślne do określonych podsieci w sieci wirtualnej albo do wszystkich podsieci w sieci wirtualnej. Trasy systemowe i typy następnego przeskoku, które mogą zostać dodane przez platformę Azure, to:
Source
Prefiksy adresów
Typ następnego skoku
Podsieć w sieci wirtualnej, do którego jest dodawana trasa
Wartość domyślna
Unikatowy dla sieci wirtualnej, na przykład: 10.1.0.0/16
Komunikacja równorzędna sieci wirtualnych
wszystkie
Brama sieci wirtualnej
Prefiksy anonsowane lokalnie za pośrednictwem protokołu BGP lub skonfigurowane w bramie sieci lokalnej
Brama sieci wirtualnej
wszystkie
Wartość domyślna
Wiele
VirtualNetworkServiceEndpoint
Tylko podsieć, dla których jest włączony punkt końcowy usługi
Komunikacja równorzędna sieci wirtualnej: podczas tworzenia komunikacji równorzędnej sieci wirtualnej między dwiema sieciami wirtualnymi jest dodawana trasa dla każdego zakresu adresów w przestrzeni adresowej każdej sieci wirtualnej.
Brama sieci wirtualnej: po dodaniu bramy sieci wirtualnej do sieci wirtualnej platforma Azure dodaje co najmniej jedną trasę z bramą sieci wirtualnej jako typ następnego przeskoku. Źródło jest wyświetlane jako brama sieci wirtualnej, ponieważ brama dodaje trasy do podsieci.
- Istnieją ograniczenia liczby tras, które można propagować do bramy sieci wirtualnej platformy Azure, dlatego należy podsumować trasy lokalne do największych możliwych zakresów adresów. Aby uzyskać więcej informacji na temat liczby tras, można propagować, zobacz Limity sieci.
VirtualNetworkServiceEndpoint: platforma Azure dodaje publiczne adresy IP dla niektórych usług do tabeli tras po włączeniu punktu końcowego usługi do usługi. Punkty końcowe usługi są włączane dla poszczególnych podsieci w sieci wirtualnej, więc trasa jest dodawana tylko do tabeli tras podsieci, dla której jest włączony punkt końcowy usługi. Publiczne adresy IP usług platformy Azure zmieniają się okresowo, a platforma Azure zarządza aktualizacjami tabel routingu w razie potrzeby.
Typy następnego przeskoku Komunikacja równorzędna sieci wirtualnej i VirtualNetworkServiceEndpoint są dodawane tylko do tabel tras podsieci w sieciach wirtualnych utworzonych za pośrednictwem modelu wdrażania przy użyciu usługi Azure Resource Manager. Typy następnego przeskoku nie są dodawane do tabel tras skojarzonych z podsieciami sieci wirtualnej utworzonymi za pomocą klasycznego modelu wdrażania.
Trasy niestandardowe
Aby dokładniej kontrolować sposób kierowania ruchu sieciowego, możesz przesłonić domyślne trasy tworzone przez platformę Azure przy użyciu własnych tras zdefiniowanych przez użytkownika (UDR). Ta technika może być przydatna, gdy chcesz upewnić się, że ruch między dwiema podsieciami przechodzi przez urządzenie zapory.
Trasy zdefiniowane przez użytkownika
Możesz utworzyć trasy niestandardowe lub zdefiniowane przez użytkownika (statyczne) na platformie Azure, aby zastąpić domyślne trasy systemowe platformy Azure lub dodać inne trasy do tabeli tras podsieci.
Na platformie Azure każda podsieć może mieć zero lub jedną skojarzną tabelę tras. Podczas tworzenia tabeli tras i kojarzenia jej z podsiecią trasy są łączone z lub przesłaniają domyślne trasy, które platforma Azure dodaje do podsieci.
Podczas tworzenia tras zdefiniowanych przez użytkownika możesz określić poniższe typy następnych przeskoków:
Urządzenie wirtualne: urządzenie wirtualne to maszyna wirtualna, na której zwykle działa aplikacja sieci, taka jak zapora. Podczas tworzenia trasy z typem przeskoku Urządzenie wirtualne należy określić także adres IP następnego przeskoku. Adresem IP może być:
- Prywatny adres IP interfejsu sieciowego dołączonego do maszyny wirtualnej.
- Prywatny adres IP wewnętrznego modułu równoważenia obciążenia platformy Azure.
Brama sieci wirtualnej: określ, kiedy ruch przeznaczony dla określonych prefiksów adresów ma być kierowany do bramy sieci wirtualnej. Brama sieci wirtualnej musi zostać utworzona z typem VPN.
Brak: określ, kiedy chcesz porzucić ruch do prefiksu adresu, zamiast przekazywać ten ruch do miejsca docelowego.
Sieć wirtualna: określ, kiedy chcesz zastąpić domyślny routing w sieci wirtualnej.
Internet: określ, kiedy chcesz jawnie kierować ruch kierowany do prefiksu adresu do Internetu.
Konfigurowanie tras zdefiniowanych przez użytkownika
Oto przykład, w którym masz sieć wirtualną zawierającą trzy podsieci.
- Podsieci to Fronton, DMZ i Backend. W podsieci DMZ znajduje się wirtualne urządzenie sieciowe (WUS). Urządzenia WUS to maszyny wirtualne, które pomagają w działaniu funkcji sieciowych, takich jak optymalizacja routingu i zapory.
- Chcesz upewnić się, że cały ruch z podsieci frontonu przechodzi przez urządzenie WUS do podsieci zaplecza.
Tworzenie tabeli routingu
Tworzenie tabeli routingu jest proste. Należy podać nazwę, subskrypcję, grupę zasobów i lokalizację. Decydujesz się również na użycie propagacji trasy bramy sieci wirtualnej.
Trasy są automatycznie dodawane do tabeli tras dla wszystkich podsieci z włączoną propagacją bramy sieci wirtualnej. W przypadku korzystania z usługi ExpressRoute propagacja gwarantuje, że wszystkie podsieci uzyskają informacje o routingu.
Tworzenie trasy niestandardowej
W naszym przykładzie
- Nowa trasa nosi nazwę ToPrivateSubnet.
- Podsieć prywatna to 10.0.1.0/24.
- Trasa używa urządzenia wirtualnego. Zwróć uwagę na inne opcje typu następnego przeskoku: brama sieci wirtualnej, sieć wirtualna, Internet i brak.
- Urządzenie wirtualne znajduje się pod adresem 10.0.2.4.
Podsumowując, ta trasa dotyczy wszystkich prefiksów adresów w wersji 10.0.1.0/24 (podsieć prywatna). Ruch kierowany do tych adresów jest wysyłany do urządzenia wirtualnego z adresem 10.0.2.4.
Kojarzenie tabeli tras
Ostatnim krokiem w naszym przykładzie jest skojarzenie podsieci Publicznej z nową tabelą routingu. Każda podsieć może mieć skojarzoną ze sobą żadną lub jedną tabelę tras.
Uwaga
Domyślnie użycie tras systemowych spowoduje przejście bezpośrednio do podsieci prywatnej. Jednak w przypadku trasy zdefiniowanej przez użytkownika można wymusić ruch przez urządzenie wirtualne.
Uwaga
W tym przykładzie urządzenie wirtualne nie powinno mieć publicznego adresu IP i należy włączyć przekazywanie adresów IP.
Zabezpieczanie sieci wirtualnej przy użyciu wymuszonego tunelowania
Wymuszane tunelowanie umożliwia przekierowywanie lub „wymuszanie” przekazywania całego ruchu internetowego z powrotem do lokalizacji lokalnej za pośrednictwem tunelu VPN między lokacjami do celów przeprowadzania inspekcji. Jeśli nie skonfigurujesz wymuszonego tunelowania, ruch związany z Internetem z maszyn wirtualnych na platformie Azure zawsze przechodzi z infrastruktury sieciowej platformy Azure bezpośrednio do Internetu, bez możliwości inspekcji lub inspekcji ruchu. Nieautoryzowany dostęp do Internetu może potencjalnie prowadzić do ujawnienia informacji lub innych rodzajów naruszeń zabezpieczeń. Wymuszone tunelowanie można skonfigurować przy użyciu programu Azure PowerShell. Nie można go skonfigurować przy użyciu witryny Azure Portal.
W poniższym przykładzie podsieć frontonu nie używa tunelowania wymuszonego. Obciążenia w podsieci frontonu mogą nadal akceptować żądania klientów i odpowiadać na nie bezpośrednio z Internetu. Podsieci mid-tier i Backend są wymuszone tunelowane. Wszystkie połączenia wychodzące z tych dwóch podsieci do Internetu są wymuszane lub przekierowywane z powrotem do lokacji lokalnej za pośrednictwem jednego z tuneli sieci VPN typu lokacja-lokacja (S2S).
Konfigurowanie wymuszonego tunelowania
Wymuszone tunelowanie na platformie Azure jest konfigurowane przy użyciu niestandardowych tras zdefiniowanych przez użytkownika sieci wirtualnej.
Każda podsieć sieci wirtualnej ma wbudowaną tabelę routingu systemu. Tabela routingu systemu ma następujące trzy grupy tras:
- Trasy lokalnej sieci wirtualnej: kieruj bezpośrednio do docelowych maszyn wirtualnych w tej samej sieci wirtualnej.
- Trasy lokalne: kierowanie do bramy sieci VPN platformy Azure.
- Trasa domyślna: kierowanie bezpośrednio do Internetu. Pakiety przeznaczone do prywatnych adresów IP, które nie są objęte poprzednimi dwoma trasami, są porzucane.
Aby skonfigurować wymuszone tunelowanie, należy wykonać następujące czynności:
- Utwórz tabelę routingu.
- Dodaj trasę domyślną zdefiniowaną przez użytkownika do bramy sieci VPN.
- Skojarz tabelę routingu z odpowiednią podsiecią sieci wirtualnej.
Wymuszone tunelowanie musi być skojarzone z siecią wirtualną, która ma bramę sieci VPN opartą na trasach.
- Należy ustawić domyślne połączenie lokacji między lokacjami lokalnymi połączonymi z siecią wirtualną.
- Lokalne urządzenie sieci VPN musi być skonfigurowane przy użyciu selektorów ruchu 0.0.0.0/0.
Korzystanie z wymuszonego tunelowania umożliwia ograniczenie i sprawdzenie dostępu do Internetu z maszyn wirtualnych i usług w chmurze na platformie Azure.
Konfigurowanie usługi Azure Route Server
Usługa Azure Route Server upraszcza routing dynamiczny między wirtualnym urządzeniem sieciowym a siecią wirtualną. Azure Route Server to w pełni zarządzana usługa i jest skonfigurowana z wysoką dostępnością.
Usługa Azure Route Server upraszcza konfigurację, zarządzanie i wdrażanie urządzenia WUS w sieci wirtualnej.
Nie trzeba już ręcznie aktualizować tabeli routingu w urządzeniu WUS za każdym razem, gdy adresy sieci wirtualnej są aktualizowane.
Nie trzeba już ręcznie aktualizować tras zdefiniowanych przez użytkownika za każdym razem, gdy urządzenie WUS ogłasza nowe trasy lub wycofa stare trasy.
Za pomocą usługi Azure Route Server można połączyć równorzędnie wiele wystąpień urządzenia WUS.
Interfejs między urządzeniem WUS i usługą Azure Route Server jest oparty na wspólnym protokole standardowym. Jeśli urządzenie WUS obsługuje protokół BGP, możesz połączyć go za pomocą usługi Azure Route Server.
Usługę Azure Route Server można wdrożyć w dowolnej nowej lub istniejącej sieci wirtualnej.
Dowiedz się, jak wdrożyć usługę Azure Route Server
Diagnozowanie problemu z routingiem
Wyobraź sobie, że próbujesz nawiązać połączenie z określoną maszyną wirtualną w sieci wirtualnej platformy Azure, która stale kończy się niepowodzeniem. Problem z routingiem można zdiagnozować, wyświetlając trasy, które są skuteczne dla interfejsu sieciowego na maszynie wirtualnej.
Obowiązujące trasy dla każdego interfejsu sieciowego można wyświetlić przy użyciu witryny Azure Portal, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. W poniższych krokach przedstawiono przykłady każdej techniki. W każdym przypadku dane wyjściowe są zwracane tylko wtedy, gdy maszyna wirtualna jest w stanie uruchomienia. Jeśli istnieje wiele interfejsów sieciowych dołączonych do maszyny wirtualnej, możesz przejrzeć obowiązujące trasy dla każdego interfejsu sieciowego. Ponieważ każdy interfejs sieciowy może znajdować się w innej podsieci, każdy interfejs sieciowy może mieć różne efektywne trasy.
Wyświetlanie obowiązujących tras w witrynie Azure Portal
Zaloguj się do witryny Azure Portal przy użyciu konta platformy Azure, które ma niezbędne uprawnienia.
W polu wyszukiwania wprowadź nazwę maszyny wirtualnej, którą chcesz zbadać.
Wybierz maszynę wirtualną z wyników wyszukiwania.
W obszarze Ustawienia wybierz pozycję Sieć i przejdź do zasobu interfejsu sieciowego, wybierając jego nazwę.
W obszarze Pomoc techniczna i rozwiązywanie problemów wybierz pozycję Obowiązujące trasy. Na poniższej ilustracji przedstawiono obowiązujące trasy dla interfejsu sieciowego o nazwie myVMNic1 :
Wyświetlanie obowiązujących tras przy użyciu programu Azure PowerShell
Obowiązujące trasy dla interfejsu sieciowego można wyświetlić za pomocą polecenia Get-AzEffectiveRouteTable. Poniższy przykład pobiera obowiązujące trasy dla interfejsu sieciowego o nazwie myVMNic1, który znajduje się w grupie zasobów o nazwie myResourceGroup:
Get-AzEffectiveRouteTable `
-NetworkInterfaceName myVMNic1 `
-ResourceGroupName myResourceGroup `
Rozwiązywanie problemu z routingiem
Kroki, które można wykonać w celu rozwiązania problemu z routingiem, mogą obejmować:
- Dodaj trasę niestandardową, aby zastąpić trasę domyślną. Dowiedz się, jak dodać trasę niestandardową.
- Zmień lub usuń trasę niestandardową, która powoduje kierowanie ruchu do niepożądanej lokalizacji. Dowiedz się, jak zmienić lub usunąć trasę niestandardową.
- Upewnij się, że tabela tras jest skojarzona z poprawną podsiecią (która zawiera interfejs sieciowy). Dowiedz się, jak skojarzyć tabelę tras z podsiecią.
- Upewnij się, że urządzenia, takie jak brama sieci VPN platformy Azure lub wirtualne urządzenia sieciowe, działają zgodnie z oczekiwaniami.
Wybierz najlepszą odpowiedź na każde pytanie.