Routing ruchu w sieci wirtualnej

Dowiedz się więcej na temat sposobu kierowania ruchu platformy Azure między platformą Azure a zasobami lokalnymi i internetowymi. Platforma Azure automatycznie tworzy tabelę tras dla każdej podsieci w sieci wirtualnej platformy Azure i dodaje do tabeli domyślne trasy systemu. Aby dowiedzieć się więcej na temat sieci wirtualnych i podsieci, zobacz Virtual network overview (Omówienie sieci wirtualnych). 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żesz tworzyć tras systemowych ani nie możesz ich usuwać, ale możesz zastąpić niektóre trasy systemowe trasami niestandardowymi. Platforma Azure tworzy domyślne trasy systemowe dla każdej podsieci i dodaje więcej opcjonalnych tras domyślnych do określonych podsieci lub każdej podsieci podczas korzystania z określonych możliwości platformy Azure.

Wartość domyślna

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. Dowiedz się więcej o sposobie wybierania trasy przez platformę Azure, gdy wiele tras zawiera te same prefiksy lub nakładające się prefiksy. Przy każdym utworzeniu sieci wirtualnej platforma Azure automatycznie tworzy następujące domyślne trasy systemowe dla każdej podsieci w sieci wirtualnej:

Źródło Prefiksy adresów Typ następnego przeskoku
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 172.16.0.0/12 Brak
Wartość domyślna 192.168.0.0/16 Brak
Wartość domyślna 100.64.0.0/10 Brak

Typy następnego przeskoku wymienione w powyższej tabeli określają sposób, w jaki platforma Azure kieruje ruch przeznaczony dla wymienionego prefiksu adresu. Poniżej znajdują się objaśnienia typów następnego przeskoku:

  • Sieć wirtualna: kieruje ruchem między zakresami adresów w obrębie przestrzeni adresowej sieci wirtualnej. Platforma Azure tworzy trasę z prefiksem adresu odpowiadającym każdemu zakresowi adresów zdefiniowanemu w przestrzeni adresowej sieci wirtualnej. Jeśli przestrzeń adresowa sieci wirtualnej ma zdefiniowane wiele zakresów adresów, platforma Azure tworzy oddzielną trasę dla każdego zakresu adresów. Platforma Azure automatycznie kieruje ruchem między podsieciami za pomocą tras utworzonych dla każdego zakresu adresów. Nie musisz definiować bram dla platformy Azure, aby kierować ruchem między podsieciami. Chociaż sieć wirtualna zawiera podsieci, a każda podsieć ma zdefiniowany zakres adresów, platforma Azure nie tworzy domyślnych tras dla zakresów adresów podsieci. Każdy zakres adresów podsieci mieści się w zakresie adresów przestrzeni adresowej sieci wirtualnej.

  • Internet: kieruje określonym przez prefiks adresu ruchem do Internetu. Domyślna trasa systemowa określa prefiks adresu 0.0.0.0/0. Jeśli nie zastąpisz domyślnych tras platformy Azure, platforma Azure kieruje ruch dla żadnego adresu nieokreślonego przez zakres adresów w sieci wirtualnej do Internetu. Istnieje jeden wyjątek od tego routingu. Jeśli adres docelowy jest przeznaczony dla jednej z usług platformy Azure, platforma Azure kieruje ruch bezpośrednio do usługi za pośrednictwem sieci szkieletowej platformy Azure zamiast kierować ruch do Internetu. Ruch między usługami platformy Azure nie przechodzi przez Internet, niezależnie od regionu świadczenia usługi Azure, w którym istnieje sieć wirtualna, lub w którym regionie platformy Azure jest wdrażane wystąpienie usługi platformy Azure. 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 Brak jest porzucany, 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/16: zarezerwowane do użytku prywatnego w dokumencie RFC 1918.

    • 100.64.0.0/10: zarezerwowane w dokumencie RFC 6598.

    Po przypisaniu dowolnego z poprzednich zakresów adresów w przestrzeni adresowej sieci wirtualnej platforma Azure automatycznie zmieni typ następnego przeskoku trasy z Brak na Sieć wirtualna. Po przypisaniu zakresu adresów do przestrzeni adresowej sieci wirtualnej, która obejmuje, ale nie jest taka sama jak, jeden z czterech zarezerwowanych prefiksów adresów, platforma Azure usuwa trasę dla tego prefiksu i dodaje trasę dla dodanego przez Ciebie prefiksu adresu, przy czym Sieć wirtualna jest typem następnego przeskoku.

Opcjonalne trasy domyślne

Platforma Azure dodaje więcej domyślnych tras systemowych dla różnych możliwości platformy Azure, ale tylko wtedy, gdy włączysz te możliwości. 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. Inne trasy systemowe i typy następnego przeskoku, które platforma Azure może dodać po włączeniu różnych możliwości:

Źródło Prefiksy adresów Typ następnego przeskoku Podsieć w sieci wirtualnej, której trasa jest dodawana
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órej 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 system dodaje trasę dla każdego zakresu adresów w przestrzeni adresowej każdej sieci wirtualnej zaangażowanej w komunikację równorzędną. Dowiedz się więcej o komunikacji równorzędnej sieci wirtualnej.

  • Brama sieci wirtualnej: co najmniej jedna trasa w ramach bramy sieci wirtualnej wymienionej jako typ następnego przeskoku jest dodawana po dodaniu bramy sieci wirtualnej do sieci wirtualnej. Elementem źródłowym jest również brama sieci wirtualnej, ponieważ brama dodaje trasy do podsieci. Jeśli brama sieci lokalnej wymienia trasy protokołu BGP (Border Gateway Protocol) z bramą sieci wirtualnej, system dodaje trasę dla każdej trasy. Te trasy są propagowane z lokalnej bramy sieci. Zalecamy podsumowanie tras lokalnych do największego możliwego zakresu adresów, więc propagujesz najmniejszą liczbę tras do bramy sieci wirtualnej platformy Azure. Istnieją ograniczenia liczby tras, które możesz propagować do bramy sieci wirtualnej platformy Azure. Aby uzyskać więcej informacji, zobacz Azure limits (Ograniczenia platformy Azure).

  • VirtualNetworkServiceEndpoint: publiczne adresy IP dla niektórych usług są dodawane do tabeli tras przez platformę Azure 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 są okresowo zmieniane. Platforma Azure zarządza adresami w tabeli tras automatycznie po zmianie adresów. Dowiedz się więcej o punktach końcowych usługi dla sieci wirtualnej i usługach, dla których można utworzyć punkty końcowe usługi.

    Uwaga

    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. Dowiedz się więcej o modelach wdrażania platformy Azure.

Trasy niestandardowe

Tworzenie niestandardowych tras przez tworzenie tras zdefiniowanych przez użytkownika albo przez wymianę tras protokołu BGP między Twoją bramą sieci lokalnej i bramą sieci wirtualnej platformy Azure.

Zdefiniowane przez użytkownika

Na platformie Azure możesz tworzyć niestandardowe lub zdefiniowane przez użytkownika (statyczne) trasy w celu zastąpienia domyślnych tras systemowych platformy Azure lub dodania nowych tras do tabeli tras podsieci. Na platformie Azure tworzysz tabelę tras, a następnie kojarzysz ją przynajmniej z zerową liczbą podsieci sieci wirtualnej. Każda podsieć może mieć skojarzoną ze sobą żadną lub jedną tabelę tras. Aby dowiedzieć się więcej o maksymalnej liczbie tras, które możesz dodać do tabeli tras, oraz o maksymalnej liczbie tabel tras zdefiniowanych przez użytkownika, które można utworzyć dla subskrypcji platformy Azure, zobacz Azure limits (Ograniczenia platformy Azure). Podczas tworzenia tabeli tras i kojarzenia jej z podsiecią trasy tabeli są łączone z trasami domyślnymi podsieci. Jeśli występują konflikty przypisań tras, trasy zdefiniowane przez użytkownika zastępują trasy domyślne.

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. Aby dowiedzieć się więcej o różnych wstępnie skonfigurowanych wirtualnych urządzeniach sieciowych, które można wdrożyć w sieci wirtualnej, zobacz witrynę Azure Marketplace. 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. Każdy interfejs sieciowy dołączony do maszyny wirtualnej, która przesyła dalej ruch sieciowy do adresu innego niż własny, musi mieć w tym celu włączoną opcję Włącz przekazywanie IP platformy Azure. To ustawienie wyłącza sprawdzanie przez platformę Azure elementu źródłowego i docelowego interfejsu sieciowego. Dowiedz się więcej o tym, jak włączyć przekazywanie IP dla interfejsu sieciowego. Chociaż pozycja Włącz przekazywanie adresu IP to ustawienie platformy Azure, włączenie przekazywania adresu IP w ramach systemu operacyjnego maszyny wirtualnej może być konieczne, aby urządzenie przekazywało dalej ruch między prywatnymi adresami IP przypisanami do interfejsów sieciowych platformy Azure. Jeśli urządzenie musi kierować ruch do publicznego adresu IP, musi być serwerem proxy ruchu lub wykonać translacja adresów sieciowych (NAT) ze źródłowego prywatnego adresu IP na własny prywatny adres IP. Następnie platforma Azure wykonuje translator adresów sieciowych na publiczny adres IP przed wysłaniem ruchu do Internetu. Aby ustalić wymagane ustawienia maszyny wirtualnej, zobacz dokumentację swojego systemu operacyjnego lub aplikacji sieciowej. Aby lepiej zrozumieć połączenia wychodzące na platformie Azure, zobacz Understanding outbound connections (Opis połączeń wychodzących).

      Uwaga

      Wdróż urządzenie wirtualne w innej podsieci niż zasoby, które są kierowane przez urządzenie wirtualne. Wdrożenie urządzenia wirtualnego w tej samej podsieci, a następnie zastosowanie tabeli tras do podsieci, która kieruje ruch przez urządzenie wirtualne, może spowodować pętle routingu, w których ruch nigdy nie opuszcza podsieci.

      Prywatny adres IP następnego przeskoku musi mieć bezpośrednią łączność bez konieczności kierowania za pośrednictwem bramy usługi ExpressRoute lub wirtualnej sieci WAN. Ustawienie następnego przeskoku na adres IP bez bezpośredniej łączności powoduje nieprawidłową konfigurację routingu zdefiniowanego przez użytkownika.

    • Prywatny adres IP wewnętrznego modułu równoważenia obciążenia platformy Azure. Moduł równoważenia obciążenia jest często używany jako część strategii wysokiej dostępności sieciowych urządzeń wirtualnych.

    Trasę można zdefiniować z prefiksem adresu 0.0.0.0/0 i typem następnego przeskoku urządzenia wirtualnego. Ta konfiguracja umożliwia urządzeniu inspekcję ruchu i określenie, czy ruch ma być przekazywany, czy upuszczany. Jeśli zamierzasz utworzyć trasę zdefiniowaną przez użytkownika, która zawiera prefiks adresu 0.0.0.0/0, przeczytaj najpierw 0.0.0.0/0 address prefix (Prefiks adresu 0.0.0.0/0).

  • 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. Nie można określić bramy sieci wirtualnej utworzonej jako typu ExpressRoute w trasie zdefiniowanej przez użytkownika, ponieważ w przypadku usługi ExpressRoute należy użyć protokołu BGP dla tras niestandardowych. Nie można określić bram sieci wirtualnej, jeśli masz współistniejące połączenia sieci VPN i ExpressRoute. Możesz zdefiniować trasę, która kieruje ruch przeznaczony dla prefiksu adresu 0.0.0.0/0 do bramy sieci wirtualnej opartej na trasach. W swojej lokalizacji możesz mieć urządzenie, które sprawdza ruch i określa, czy przekazać go dalej, czy też go porzucić. Jeśli zamierzasz utworzyć zdefiniowaną przez użytkownika trasę dla prefiksu adresu 0.0.0.0/0, przeczytaj najpierw 0.0.0.0/0 address prefix (Prefiks adresu 0.0.0.0/0). Zamiast konfigurować zdefiniowaną przez użytkownika trasę dla prefiksu adresu 0.0.0.0/0, możesz anonsować trasę z prefiksem 0.0.0.0/0 za pomocą protokołu BGP, jeśli masz włączony protokół BGP dla bramy sieci wirtualnej sieci VPN.

  • Brak: określ, kiedy chcesz porzucić ruch do prefiksu adresu, zamiast przekazywać ten ruch do miejsca docelowego. Jeśli nie skonfigurowano w pełni możliwości, platforma Azure może wyświetlać pozycję Brak dla niektórych opcjonalnych tras systemowych. Jeśli na przykład pozycja Brak zostanie wyświetlona jako Adres IP następnego przeskoku dla Typu następnego przeskoku równego Brama sieci wirtualnej lub Urządzenie wirtualne, może to wynikać z tego, że urządzenie nie jest uruchomione lub nie jest w pełni skonfigurowane. Platforma Azure tworzy domyślne trasy systemowe dla zarezerwowanych prefiksów adresów mające pozycję Brak jako typ następnego przeskoku.

  • Sieć wirtualna: określ opcję Sieć wirtualna, jeśli chcesz zastąpić domyślny routing w sieci wirtualnej. Zobacz przykład routingu, aby zapoznać się z przykładem, dlaczego możesz utworzyć trasę z typem przeskoku Sieć wirtualna.

  • Internet: określ opcję Internet , jeśli chcesz jawnie kierować ruch kierowany do prefiksu adresu do Internetu lub jeśli chcesz, aby ruch przeznaczony dla usług platformy Azure z publicznymi adresami IP przechowywanymi w sieci szkieletowej platformy Azure.

Nie można określić komunikacji równorzędnej sieci wirtualnej ani elementu VirtualNetworkServiceEndpoint jako typu następnego przeskoku w trasach zdefiniowanych przez użytkownika. Trasy z komunikacją równorzędną sieci wirtualnych lub typami następnego przeskoku VirtualNetworkServiceEndpoint są tworzone tylko przez platformę Azure podczas konfigurowania komunikacji równorzędnej sieci wirtualnej lub punktu końcowego usługi.

Tagi usługi dla tras zdefiniowanych przez użytkownika

Teraz można określić tag usługi jako prefiks adresu dla trasy zdefiniowanej przez użytkownika zamiast jawnego zakresu adresów IP. Tag usługi reprezentuje grupę prefiksów adresów IP z danej usługi platformy Azure. Firma Microsoft zarządza prefiksami adresów uwzględnionych przez tag usługi i automatycznie aktualizuje tag usługi w miarę zmiany adresów. W ten sposób minimalizując złożoność częstych aktualizacji tras zdefiniowanych przez użytkownika i zmniejszając liczbę tras, które należy utworzyć. Obecnie można tworzyć 25 lub mniej tras z tagami usługi w każdej tabeli tras. W tej wersji obsługiwane jest również używanie tagów usługi w scenariuszach routingu dla kontenerów.

Dokładne dopasowanie

System zapewnia preferencję trasy z jawnym prefiksem, gdy istnieje dokładne dopasowanie prefiksu między trasą z jawnym prefiksem IP a trasą z tagiem usługi. Jeśli wiele tras z tagami usługi ma pasujące prefiksy IP, trasy są oceniane w następującej kolejności:

  1. Tagi regionalne (na przykład Storage.EastUS, AppService.AustraliaCentral)

  2. Tagi najwyższego poziomu (na przykład Storage, AppService)

  3. Tagi regionalne usługi AzureCloud (na przykład AzureCloud.canadacentral, AzureCloud.eastasia)

  4. Tag usługi AzureCloud

Aby użyć tej funkcji, określ nazwę tagu usługi dla parametru prefiksu adresu w poleceniach tabeli tras. Na przykład w programie PowerShell można utworzyć nową trasę, aby kierować ruch wysyłany do prefiksu IP usługi Azure Storage do urządzenia wirtualnego przy użyciu:

$param = @{
    Name = 'StorageRoute'
    AddressPrefix = 'Storage'
    NextHopType = 'VirtualAppliance'
    NextHopIpAddress = '10.0.100.4'
}
New-AzRouteConfig @param

To samo polecenie dla interfejsu wiersza polecenia jest następujące:

az network route-table route create \
    --resource-group MyResourceGroup \
    --route-table-name MyRouteTable \
    --name StorageRoute \
    --address-prefix Storage \
    --next-hop-type VirtualAppliance \
    --next-hop-ip-address 10.0.100.4

Typy następnego przeskoku dla narzędzi platformy Azure

Nazwa wyświetlana i przywoływana dla typów następnego przeskoku jest różna dla witryny Azure Portal i narzędzi wiersza polecenia oraz usługi Azure Resource Manager i klasycznych modeli wdrażania. W poniższej tabeli wymieniono nazwy używane w odwołaniu do każdego typu następnego przeskoku dla różnych narzędzi i modeli wdrażania:

Typ następnego przeskoku Interfejs wiersza polecenia platformy Azure 2.0 i program PowerShell (Resource Manager) Klasyczny interfejs wiersza polecenia platformy Azure i program PowerShell (wersja klasyczna)
Brama sieci wirtualnej VirtualNetworkGateway VPNGateway
Sieć wirtualna VNetLocal VNETLocal (niedostępna w klasycznym interfejsie wiersza polecenia w trybie zarządzania usługami)
Internet Internet Internet (niedostępny w klasycznym interfejsie wiersza polecenia w trybie zarządzania usługami)
Urządzenie wirtualne VirtualAppliance VirtualAppliance
Brak Brak Null (niedostępne w klasycznym interfejsie wiersza polecenia w trybie zarządzania usługami)
Komunikacja równorzędna sieci wirtualnej Komunikacja równorzędna sieci wirtualnych Nie dotyczy
Punkt końcowy usługi dla sieci wirtualnej VirtualNetworkServiceEndpoint Nie dotyczy

Protokół BGP (Border Gateway Protocol)

Brama sieci lokalnej może wymieniać trasy z bramą sieci wirtualnej platformy Azure przy użyciu protokołu BGP. Użycie protokołu BGP z bramą sieci wirtualnej platformy Azure zależy od typu wybranego podczas tworzenia bramy:

  • ExpressRoute: do anonsowania tras lokalnych do routera microsoft Edge należy użyć protokołu BGP. Nie możesz utworzyć tras zdefiniowanych przez użytkownika w celu wymuszania ruchu do bramy sieci wirtualnej usługi ExpressRoute, jeśli wdrożysz bramę sieci wirtualnej wdrożoną jako typ ExpressRoute. Możesz użyć tras zdefiniowanych przez użytkownika w celu wymuszania ruchu z usługi Express Route na przykład do sieciowego urządzenia wirtualnego.

  • VPN: opcjonalnie możesz użyć protokołu BGP. Aby uzyskać więcej informacji, zobacz BGP with site-to-site VPN connections (Protokół BGP przy użyciu połączeń sieci VPN lokacja-lokacja).

W przypadku, gdy wymieniasz trasy z platformą Azure przy użyciu protokołu BGP, oddzielna trasa jest dodawana do tabeli tras wszystkich podsieci w sieci wirtualnej dla każdego anonsowanego prefiksu. Trasa jest dodawana z bramą sieci wirtualnej wymienioną jako element źródłowy i typ następnego przeskoku.

Propagację trasy ER i VPN Gateway można wyłączyć w podsieci za pomocą właściwości w tabeli routingu. Po wyłączeniu propagacji tras system nie dodaje tras do tabeli tras wszystkich podsieci z wyłączoną propagacją tras bramy sieci wirtualnej. Ten proces dotyczy zarówno tras statycznych, jak i tras protokołu BGP. Łączność z połączeniami sieci VPN jest uzyskiwana przy użyciu tras niestandardowych, których typ następnego przeskoku to brama sieci wirtualnej. Propagacja trasy nie powinna być wyłączona w podsieci GatewaySubnet. Brama nie będzie działać, jeśli to ustawienie jest wyłączone. Aby uzyskać szczegółowe informacje, zobacz Jak wyłączyć propagację trasy bramy sieci wirtualnej.

Jak platforma Azure wybiera trasę

Po wysłaniu ruchu wychodzącego z podsieci platforma Azure wybiera trasę na podstawie docelowego adresu IP przy użyciu algorytmu dopasowania najdłuższego prefiksu. Na przykład tabela tras ma dwie trasy: jedna trasa określa prefiks adresu 10.0.0.0/24, zaś druga trasa określa prefiks adresu 10.0.0.0/16. Platforma Azure kieruje ruch przeznaczony dla wersji 10.0.0.5 do typu następnego przeskoku określonego w trasie z prefiksem adresu 10.0.0.0/24. Ten proces występuje, ponieważ 10.0.0.0/24 jest dłuższym prefiksem niż 10.0.0.0/16, mimo że 10.0.0.5 mieści się w obu prefiksach adresów. Platforma Azure kieruje ruch przeznaczony dla wersji 10.0.1.5 do typu następnego przeskoku określonego w trasie z prefiksem adresu 10.0.0.0/16. Ten proces występuje, ponieważ prefiks adresu 10.0.1.5 nie jest uwzględniony w prefiksie adresu 10.0.0.0/24, tworząc trasę z prefiksem adresu 10.0.0.0/16 najdłuższym pasującym prefiksem.

Jeśli wiele tras zawiera ten sam prefiks adresu, platforma Azure wybiera typ trasy na podstawie następującego priorytetu:

  1. Trasa zdefiniowana przez użytkownika

  2. Trasa protokołu BGP

  3. Trasa systemowa

Uwaga

Trasy systemowe dla ruchu związanego z siecią wirtualną, komunikacja równorzędna sieci wirtualnych lub punkty końcowe usługi dla sieci wirtualnej są preferowanymi trasami, nawet jeśli trasy protokołu BGP są bardziej szczegółowe.

Na przykład tabela tras zawiera następujące trasy:

Źródło Prefiksy adresów Typ następnego przeskoku
Domyślne 0.0.0.0/0 Internet
User 0.0.0.0/0 Brama sieci wirtualnej

Jeśli ruch jest przeznaczony dla adresu IP poza prefiksami adresów jakichkolwiek innych tras w tabeli tras, platforma Azure wybiera trasę z elementem źródłowym Użytkownik, ponieważ trasy zdefiniowane przez użytkownika mają wyższy priorytet niż trasy domyślne systemu.

Zobacz przykład routingu, aby zapoznać się z uniwersalną tabelą routingu wraz z objaśnieniami tras w tabeli.

prefiks adresu 0.0.0.0/0

Trasa z prefiksem adresu 0.0.0.0/0 zawiera instrukcje dotyczące platformy Azure. Platforma Azure używa tych instrukcji do kierowania ruchu przeznaczonego dla adresu IP, który nie mieści się w prefiksie adresu żadnej innej trasy w tabeli tras podsieci. Po utworzeniu podsieci platforma Azure tworzy domyślną trasę do prefiksu adresu 0.0.0.0/0 z typem następnego przeskoku Internet. Jeśli nie zastąpisz tej trasy, platforma Azure kieruje do Internetu cały ruch przeznaczony dla adresów IP nieuwzględnionych w prefiksie adresu jakiejkolwiek innej trasy. Wyjątkiem jest to, że ruch do publicznych adresów IP usług platformy Azure pozostaje w sieci szkieletowej platformy Azure i nie jest kierowany do Internetu. Po zastąpieniu tej trasy trasą niestandardową ruch przeznaczony dla adresów, który nie znajduje się w prefiksach adresów żadnej innej trasy w tabeli tras, jest kierowany. Miejsce docelowe zależy od tego, czy określono wirtualne urządzenie sieciowe, czy bramę sieci wirtualnej w trasie niestandardowej.

Po zastąpieniu prefiksu adresu 0.0.0.0/0 nie tylko ruch wychodzący z podsieci przepływa przez bramę sieci wirtualnej lub urządzenie wirtualne, ale następujące zmiany występują również z domyślnym routingiem platformy Azure:

  • Platforma Azure wysyła cały ruch do typu następnego przeskoku określonego w trasie, uwzględniając ruch przeznaczony dla publicznych adresów IP usług platformy Azure. Gdy typ następnego przeskoku trasy z prefiksem adresu 0.0.0.0/0 to Internet, wówczas ruch z podsieci przeznaczony dla publicznego adresu IP usług platformy Azure nigdy nie opuszcza sieci szkieletowej platformy Azure niezależnie od regionu platformy Azure, w którym istnieje sieć wirtualna lub zasób usługi platformy Azure. Jednak po utworzeniu trasy zdefiniowanej przez użytkownika lub protokołu BGP z typem następnego przeskoku Brama sieci wirtualnej lub Urządzenie wirtualne cały ruch, uwzględniając ruch wysyłany do publicznych adresów IP usług platformy Azure, dla którego nie zostały włączone punkty końcowe usługi, jest wysyłany do typu następnego przeskoku określonego w trasie. Po włączeniu punktu końcowego usługi dla usługi platforma Azure tworzy trasę z prefiksami adresów dla usługi. Ruch do usługi nie kieruje do typu następnego przeskoku w trasie z prefiksem adresu 0.0.0.0/0. Prefiksy adresów dla usługi są dłuższe niż 0.0.0.0/0.

  • Nie możesz już bezpośrednio uzyskiwać dostępu do zasobów w podsieci z Internetu. Dostęp do zasobów w podsieci można uzyskać pośrednio z Internetu. Urządzenie określone przez typ następnego przeskoku dla trasy z prefiksem adresu 0.0.0.0/0 musi przetwarzać ruch przychodzący. Po przejściu przez urządzenie ruch dociera do zasobu w sieci wirtualnej. Jeśli trasa zawiera następujące wartości typu następnego przeskoku:

    • Urządzenie wirtualne: urządzenie musi:

      • być dostępne z Internetu;

      • mieć przypisany do siebie publiczny adres IP;

      • nie mieć skojarzonej ze sobą reguły grupy zabezpieczeń sieci uniemożliwiającej komunikację z urządzeniem;

      • nie odmawiać komunikacji;

      • mieć możliwość translacji i przekazywania dalej adresu sieciowego lub służenia jako serwer proxy ruchu do zasobu docelowego w podsieci, a następnie zwracać ruch z powrotem do Internetu.

    • Brama sieci wirtualnej: w przypadku bramy będącej bramą sieci wirtualnej usługi ExpressRoute lokalne urządzenie połączone z Internetem może dokonywać translacji i przekazywania dalej adresów sieciowych lub służyć jako serwer proxy ruchu do zasobu docelowego w podsieci za pośrednictwem prywatnej komunikacji równorzędnej usługi ExpressRoute.

Jeśli sieć wirtualna jest połączona z bramą sieci VPN platformy Azure, nie skojarz tabeli tras z podsiecią bramy, która zawiera trasę z miejscem docelowym 0.0.0.0/0. Zaniedbanie tego może spowodować nieprawidłowe działanie bramy. Aby poznać więcej szczegółów, zobacz pytanie Dlaczego niektóre porty są otwarte w mojej bramie sieci VPN? w temacie Brama VPN Gateway — często zadawane pytania.

Zobacz Strefa DMZ między platformą Azure i lokalnym centrum danych, aby uzyskać szczegółowe informacje o implementacji podczas korzystania z bram sieci wirtualnej między Internetem a platformą Azure.

Przykład routingu

W celu zilustrowania koncepcji podanych w tym artykule w kolejnych sekcjach opisano:

  • Scenariusz wraz z wymaganiami

  • Trasy niestandardowe niezbędne do spełnienia wymagań

  • Tabelę tras, która istnieje dla jednej podsieci obejmującej domyślne i niestandardowe trasy niezbędne do spełnienia wymagań

Uwaga

W tym przykładzie nie jest przeznaczona implementacja zalecanych lub najlepszych rozwiązań. Został on raczej podany tylko w celu zilustrowania koncepcji w tym artykule.

Wymagania

  1. Implementacja dwóch sieci wirtualnych w tym samym regionie platformy Azure i umożliwienie zasobom komunikacji między sieciami wirtualnymi.

  2. Umożliwienie sieci lokalnej bezpiecznego komunikowania się z oboma sieciami wirtualnymi przy użyciu tunelu VPN za pośrednictwem Internetu. Alternatywnie można użyć połączenia usługi ExpressRoute, ale w tym przykładzie jest używane połączenie sieci VPN.

  3. Dla jednej podsieci w jednej sieci wirtualnej:

    • Wymuś, aby cały ruch wychodzący z podsieci, z wyjątkiem tego do usługi Azure Storage i w obrębie podsieci, przepływał przez urządzenie wirtualne sieci w celu kontroli i rejestrowania.

    • Nie sprawdzaj ruchu między prywatnymi adresami IP w podsieci; zezwalaj na przepływ ruchu bezpośrednio między wszystkimi zasobami.

    • Porzucaj wszelki ruch wychodzący przeznaczony dla innej sieci wirtualnej.

    • Włącz przepływ ruchu wychodzącego do usługi Azure Storage bezpośrednio do magazynu bez wymuszania jego przepływu przez urządzenie wirtualne sieci.

  4. Zezwalaj na cały ruch między wszystkimi innymi podsieciami i sieciami wirtualnymi.

Implementacja

Na poniższej ilustracji przedstawiono implementację za pośrednictwem modelu wdrażania przy użyciu usługi Azure Resource Manager, która spełnia poprzednie wymagania:

Diagram of network.

Strzałki oznaczają przepływu ruchu.

Tabele tras

Subnet1

Tabela tras dla podsieci Subnet1 na ilustracji zawiera następujące trasy:

ID Źródło Stan Prefiksy adresów Typ następnego przeskoku Adres IP następnego przeskoku Nazwa trasy zdefiniowanej przez użytkownika
1 Wartość domyślna Nieprawidłowy 10.0.0.0/16 Sieć wirtualna
2 User Aktywne 10.0.0.0/16 Urządzenie wirtualne 10.0.100.4 W ramach sieci VNet1
3 User Aktywne 10.0.0.0/24 Sieć wirtualna W ramach podsieci Subnet1
100 Wartość domyślna Nieprawidłowy 10.1.0.0/16 Komunikacja równorzędna sieci wirtualnych
5 Wartość domyślna Nieprawidłowy 10.2.0.0/16 Komunikacja równorzędna sieci wirtualnych
6 User Aktywne 10.1.0.0/16 Brak ToVNet2-1-porzuć
7 User Aktywne 10.2.0.0/16 Brak ToVNet2-2-porzuć
8 Wartość domyślna Nieprawidłowy 10.10.0.0/16 Brama sieci wirtualnej [X.X.X.X]
9 User Aktywne 10.10.0.0/16 Urządzenie wirtualne 10.0.100.4 Do lokalnego
10 Domyślny Aktywne [X.X.X.X] VirtualNetworkServiceEndpoint
11 Wartość domyślna Nieprawidłowy 0.0.0.0/0 Internet
12 User Aktywne 0.0.0.0/0 Urządzenie wirtualne 10.0.100.4 Domyślne NVA

Objaśnienia każdego identyfikatora trasy są następujące:

  • ID1: Platforma Azure automatycznie dodała tę trasę dla wszystkich podsieci w obszarze Virtual-network-1, ponieważ 10.0.0.0/16 jest jedynym zakresem adresów zdefiniowanym w przestrzeni adresowej dla sieci wirtualnej. Jeśli nie utworzysz trasy zdefiniowanej przez użytkownika w trasie ID2, ruch wysyłany do dowolnego adresu z zakresu od 10.0.0.1 do 10.0.255.254 będzie kierowany w sieci wirtualnej. Ten proces jest spowodowany tym, że prefiks jest dłuższy niż 0.0.0.0/0 i nie mieści się w prefiksach adresów innych tras. Platforma Azure automatycznie zmieniła stan z Aktywny na Nieprawidłowy, gdy została dodana zdefiniowana przez użytkownika trasa ID2, ponieważ ma ona ten sam prefiks co trasa domyślna, a trasy zdefiniowane przez użytkownika zastępują trasy domyślne. Stan tej trasy jest nadal Aktywny dla podsieci Subnet2, ponieważ tabela tras, w której znajduje się zdefiniowana przez użytkownika trasa ID2, nie jest skojarzona z podsiecią Subnet2.

  • ID2: Platforma Azure dodała tę trasę, gdy zdefiniowana przez użytkownika trasa dla prefiksu adresu 10.0.0.0/16 została skojarzona z podsiecią Subnet1 w sieci wirtualnej Virtual-network-1 . Zdefiniowana przez użytkownika trasa określa 10.0.100.4 jako adres IP urządzenia wirtualnego, ponieważ adresem jest prywatny adres IP przypisany do urządzenia wirtualnego maszyny wirtualnej. Tabela tras, w ramach tej trasy nie jest skojarzona z podsiecią Subnet2, więc nie jest wyświetlana w tabeli tras dla podsieci Subnet2. Ta trasa zastępuje domyślną trasę dla prefiksu 10.0.0.0/16 (ID1), który automatycznie skierował ruch zaadresowany do 10.0.0.1 i 10.0.255.254 w ramach sieci wirtualnej za pośrednictwem typu następnego przeskoku sieci wirtualnej. Ta trasa istnieje, aby spełnić wymaganie 3 i wymusić skierowanie całego ruchu wychodzącego przez urządzenie wirtualne.

  • ID3: Platforma Azure dodała tę trasę, gdy zdefiniowana przez użytkownika trasa dla prefiksu adresu 10.0.0.0/24 została skojarzona z podsiecią Subnet1 . Ruch skierowany do adresów od 10.0.0.1 do 10.0.0.254 pozostaje w podsieci, a nie jest kierowany do urządzenia wirtualnego określonego w poprzedniej regule (ID2), ponieważ ma ono dłuższy prefiks niż trasa ID2. Ta trasa nie była skojarzona z podsiecią Subnet2, więc trasa nie jest wyświetlana w tabeli tras dla podsieci Subnet2. Ta trasa skutecznie zastępuje trasę ID2 dla ruchu w ramach podsieci Subnet1. Ta trasa istnieje, aby spełnić wymaganie 3.

  • ID4: Platforma Azure automatycznie dodała trasy w identyfikatorach 4 i 5 dla wszystkich podsieci w ramach sieci virtual-network-1, gdy sieć wirtualna była równorzędna z siecią wirtualną-network-2 .Sieć wirtualna-2 ma dwa zakresy adresów w przestrzeni adresowej: 10.1.0.0/16 i 10.2.0.0/16, więc platforma Azure dodała trasę dla każdego zakresu. Jeśli nie utworzysz tras zdefiniowanych przez użytkownika w identyfikatorach tras 6 i 7, ruch wysyłany do dowolnego adresu między 10.1.0.1-10.1.255.254 i 10.2.0.1-10.2.255.254 będzie kierowany do równorzędnej sieci wirtualnej. Ten proces jest spowodowany tym, że prefiks jest dłuższy niż 0.0.0.0/0 i nie mieści się w prefiksach adresów innych tras. Po dodaniu tras w identyfikatorach 6 i 7 platforma Azure automatycznie zmieniła stan z Aktywny na Nieprawidłowy. Ten proces jest spowodowany tym, że mają te same prefiksy co trasy w identyfikatorach 4 i 5, a trasy zdefiniowane przez użytkownika zastępują trasy domyślne. Stan tras w identyfikatorach 4 i 5 jest nadal aktywny dla podsieci Subnet2, ponieważ tabela tras zdefiniowana przez użytkownika w identyfikatorach 6 i 7 nie jest skojarzona z podsiecią Subnet2. Wirtualne sieci równorzędne zostały utworzone w celu spełnienia wymagania 1.

  • ID5: takie samo wyjaśnienie jak ID4.

  • ID6: Platforma Azure dodała tę trasę i trasę w identyfikatorze ID7, gdy trasy zdefiniowane przez użytkownika dla podsieci Subnet1 zostały skojarzone z podsiecią Subnet1 . Platforma Azure odrzuca ruch przeznaczony dla adresów z zakresu od 10.1.0.1 do 10.1.255.254 i 10.2.0.1-10.2.255.254, a nie kierowany do równorzędnej sieci wirtualnej, ponieważ trasy zdefiniowane przez użytkownika zastępują trasy domyślne. Trasy nie są skojarzone z podsiecią Subnet2, więc trasy nie są wyświetlane w tabeli tras dla podsieci Subnet2. Trasy zastępują trasy ID4 i ID5 dla ruchu opuszczającego podsieć Subnet1. Trasy ID6 i ID7 istnieją w celu spełnienia wymagania 3 mówiącego o porzuceniu ruchu kierowanego do innych sieci wirtualnych.

  • ID7: takie samo wyjaśnienie jak ID6.

  • ID8: Platforma Azure automatycznie dodała tę trasę dla wszystkich podsieci w ramach sieci wirtualnej Virtual-network-1 , gdy brama sieci wirtualnej typu VPN została utworzona w sieci wirtualnej. Platforma Azure dodała publiczny adres IP bramy sieci wirtualnej do tabeli tras. Ruch wysyłany do dowolnego adresu z zakresu od 10.10.0.1 do 10.10.255.254 jest kierowany do bramy sieci wirtualnej. Prefiks jest dłuższy niż 0.0.0.0/0 i nie mieści się w prefiksach adresów jakichkolwiek innych tras. Brama sieci wirtualnej została utworzona w celu spełnienia wymagania 2.

  • ID9: Platforma Azure dodała tę trasę, gdy do tabeli tras skojarzonych z podsiecią Subnet1 dodano trasę zdefiniowaną przez użytkownika dla prefiksu adresu 10.10.0.0/16. Ta trasa zastępuje ID8. Trasa wysyła cały ruch przeznaczony dla sieci lokalnej do NVA w celu kontroli i nie realizuje routingu ruchu bezpośrednio lokalnie. Ta trasa została utworzona w celu spełnienia wymagania 3.

  • ID10: Platforma Azure automatycznie dodała tę trasę do podsieci, gdy punkt końcowy usługi do usługi platformy Azure został włączony dla podsieci. Platforma Azure kieruje ruch z podsieci na publiczny adres IP usługi za pośrednictwem sieci infrastruktury platformy Azure. Prefiks jest dłuższy niż 0.0.0.0/0 i nie mieści się w prefiksach adresów jakichkolwiek innych tras. Punkt końcowy usługi został utworzony w celu spełnienia wymagania 3, aby umożliwić przepływ ruchu kierowanego do usługi Azure Storage bezpośrednio do usługi Azure Storage.

  • ID11: Platforma Azure automatycznie dodała tę trasę do tabeli tras wszystkich podsieci w obszarze Virtual-network-1 i Virtual-network-2. Prefiks adresu 0.0.0.0/0 jest najkrótszym prefiksem. Wszelki ruch wysyłany na adresy w ramach dłuższego prefiksu adresu jest kierowany na podstawie innych tras. Domyślnie platforma Azure kieruje do Internetu cały ruch skierowany do adresów innych niż adresy określone w jednej z innych tras. Platforma Azure automatycznie zmieniła stan z Aktywny na Nieprawidłowy dla podsieci Subnet1, gdy trasa zdefiniowana przez użytkownika dla prefiksu adresu 0.0.0.0/0 (ID12) została skojarzona z podsiecią. Stan tej trasy jest nadal Aktywny dla wszystkich innych podsieci w obu sieciach wirtualnych, ponieważ trasa nie jest skojarzona z żadną inną podsiecią w ramach innych sieci wirtualnych.

  • ID12: Platforma Azure dodała tę trasę, gdy zdefiniowana przez użytkownika trasa dla prefiksu adresu 0.0.0.0/0 została skojarzona z podsiecią Subnet1 . Zdefiniowana przez użytkownika trasa określa 10.0.100.4 jako adres IP urządzenia wirtualnego. Ta trasa nie jest skojarzona z podsiecią Subnet2, więc trasa nie jest wyświetlana w tabeli tras dla podsieci Subnet2. Cały ruch dla dowolnego adresu, który nie jest objęty prefiksami adresów wszelkich innych tras, jest wysyłany do urządzenia wirtualnego. Dodanie tej trasy zmieniło stan domyślnej trasy dla prefiksu adresu 0.0.0.0/0 (ID11) z Aktywny na Nieprawidłowy dla podsieci Subnet1, ponieważ zdefiniowana przez użytkownika trasa zastępuje domyślną trasę. Ta trasa istnieje, aby spełnić trzecie wymaganie.

Subnet2

Tabela tras dla podsieci Subnet2 na ilustracji zawiera następujące trasy:

Źródło Stan Prefiksy adresów Typ następnego przeskoku Adres IP następnego przeskoku
Wartość domyślna Aktywne 10.0.0.0/16 Sieć wirtualna
Wartość domyślna Aktywne 10.1.0.0/16 Komunikacja równorzędna sieci wirtualnej
Wartość domyślna Aktywne 10.2.0.0/16 Komunikacja równorzędna sieci wirtualnej
Wartość domyślna Aktywne 10.10.0.0/16 Brama sieci wirtualnej [X.X.X.X]
Wartość domyślna Aktywne 0.0.0.0/0 Internet
Wartość domyślna Aktywne 10.0.0.0/8 Brak
Wartość domyślna Aktywne 100.64.0.0/10 Brak
Wartość domyślna Aktywne 192.168.0.0/16 Brak

Tabela tras dla podsieci Subnet2 zawiera wszystkie trasy domyślne utworzone przez platformę Azure oraz opcjonalne trasy opcjonalne komunikacji równorzędnej sieci wirtualnej i bramy sieci wirtualnej. Platforma Azure dodała opcjonalne trasy do wszystkich podsieci w sieci wirtualnej, gdy brama i komunikacja równorzędna zostały dodane do sieci wirtualnej. Platforma Azure usunęła trasy dla prefiksów adresów 10.0.0.0/8, 192.168.0.0/16 i 100.64.0.0/10 z tabeli tras Subnet1, gdy zdefiniowana przez użytkownika trasa dla prefiksu adresu 0.0.0.0/0 została dodana do podsieci Subnet1.

Następne kroki