Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku za pomocą programu Azure PowerShell wdrożysz serwer tras Azure Route Server z obsługą podwójnego stosu, ustanowisz komunikację równorzędną BGP z wirtualnym urządzeniem sieciowym (NVA) opartym na systemie Linux oraz zweryfikujesz trasy IPv4 i IPv6. Do konfiguracji maszyny wirtualnej NVA i FRRoutingu (FRR) korzystasz z portalu Azure. Wynik pokazuje wymianę tras, a nie dostarczanie pakietów end-to-end.
Important
Tryb podwójnego stosu IPv4/IPv6 usługi Azure Route Server jest dostępny w wersji zapoznawczej. Zapoznaj się z dodatkowymi warunkami użytkowania dotyczącymi wersji zapoznawczych Microsoft Azure, aby uzyskać postanowienia prawne dotyczące funkcji Azure w wersji zapoznawczej.
W tym samouczku nauczysz się następujących rzeczy:
- Utwórz wirtualną sieć w konfiguracji dual-stack z oddzielnymi podsieciami dla usługi Route Server i urządzenia NVA oraz bramą NAT na potrzeby ruchu wychodzącego urządzenia NVA.
- Wdróż Route Server i skonfiguruj sesję BGP z NVA.
- Zweryfikuj oczekiwane trasy IPv4 i IPv6.
Dostępność regionalna
Azure Route Server IPv4/IPv6 dual-stack jest dostępny tylko w podglądzie w następujących regionach Azure:
| Region | Nazwa programowa |
|---|---|
| Wschodnie stany USA 2 — EUAP | eastus2euap |
| Środkowe stany USA — EUAP | centraluseuap |
| Zachodnio-środkowe stany USA | westcentralus |
| Azja Wschodnia | eastasia |
| Południowe Zjednoczone Królestwo | uksouth |
| Środkowe stany USA | centralus |
| Australia Środkowa | australiacentral |
| Korea Środkowa | koreacentral |
| Indie Środkowe | centralindia |
| Brazylia Południowa | brazilsouth |
| Malezja Zachodnia | malaysiawest |
Prerequisites
- Konto Azure z aktywną subskrypcją, gdzie dostęp do podglądu dual-stack Route Server jest włączony. Utwórz bezpłatne konto.
- Azure PowerShell musi być zainstalowany lokalnie, z modułem Az.Network w wersji 8.0.0 lub nowszej. Zaloguj się za pomocą Connect-AzAccount i wybierz żądaną subskrypcję.
- Uprawnienia do tworzenia zasobów samouczka. Informacje o uprawnieniach usługi Route Server można znaleźć w artykule Role i uprawnienia.
- Znajomość sieci wirtualnych i podstawowych koncepcji BGP.
- Dostęp do portalu Azure dla konfiguracji NVA na Linuksie.
Użyj nowej, oddzielnej grupy zasobów. Zasoby generują opłaty, gdy są wdrożone, a procedura sprzątania usuwa całą grupę.
Utwórz dwustosową sieć wirtualną
Ustaw zmienne. Wpisz region wymieniony w dostępności regionalnej, który jest dostępny w Twojej subskrypcji z włączonym podglądem. Jeśli test-rg już istnieje, wybierz nową nazwę grupy zasobów zamiast ponownie używać grupy z innymi zasobami.
$location = Read-Host 'Enter a region available to your preview-enabled subscription' $resourceGroupName = 'test-rg' $virtualNetworkName = 'vnet-1' $routeServerName = 'route-server' $peerName = 'vm-nva' New-AzResourceGroup -Name $resourceGroupName -Location $locationStwórz bramę NAT, aby NVA mogła pobierać pakiety. NVA nie posiada publicznego adresu IP, a nowe sieci wirtualne mogą domyślnie korzystać z prywatnych podsieci, które nie zapewniają domyślnego dostępu wychodzącego. Aby uzyskać więcej informacji, zobacz Domyślny dostęp wychodzący na platformie Azure.
$natPublicIp = New-AzPublicIpAddress ` -Name 'public-ip-nat' ` -ResourceGroupName $resourceGroupName ` -Location $location ` -Sku Standard ` -AllocationMethod Static ` -IpAddressVersion IPv4 $natGateway = New-AzNatGateway ` -Name 'nat-gateway' ` -ResourceGroupName $resourceGroupName ` -Location $location ` -Sku Standard ` -IdleTimeoutInMinutes 4 ` -PublicIpAddress $natPublicIpStwórz sieć wirtualną oraz obie podsieci dual-stack. Przypisz bramkę NAT tylko do subnet-1 :
$routeServerSubnet = New-AzVirtualNetworkSubnetConfig ` -Name 'RouteServerSubnet' ` -AddressPrefix @('10.0.1.0/26', 'fd00:0:100:1::/64') $nvaSubnet = New-AzVirtualNetworkSubnetConfig ` -Name 'subnet-1' ` -AddressPrefix @('10.0.0.0/24', 'fd00:0:100:2::/64') ` -InputObject $natGateway $virtualNetwork = New-AzVirtualNetwork ` -Name $virtualNetworkName ` -ResourceGroupName $resourceGroupName ` -Location $location ` -AddressPrefix @('10.0.0.0/16', 'fd00:0:100::/48') ` -Subnet @($routeServerSubnet, $nvaSubnet) $virtualNetwork.Subnets | Format-Table Name, AddressPrefix
Potwierdź, że RouteServerSubnet i subnet-1 mają wymienione prefiksy IPv4 i IPv6. Nie wdrażaj Route Server, dopóki obie rodziny adresów nie będą obecne w RouteServerSubnet.
Deploy Azure Route Server
Utworzenie standardowego publicznego adresu IP IPv4 dla Route Server:
$publicIp = New-AzPublicIpAddress ` -Name 'public-ip' ` -ResourceGroupName $resourceGroupName ` -Location $location ` -Sku Standard ` -AllocationMethod Static ` -IpAddressVersion IPv4Utwórz Route Server w podsieci dual-stack:
$subnetId = ($virtualNetwork.Subnets | Where-Object Name -eq 'RouteServerSubnet').Id $autoscale = New-AzVirtualRouterAutoScaleConfiguration -MinCapacity 2 New-AzRouteServer ` -RouteServerName $routeServerName ` -ResourceGroupName $resourceGroupName ` -Location $location ` -HostedSubnet $subnetId ` -PublicIpAddress $publicIp ` -VirtualRouterAutoScaleConfiguration $autoscale $routeServer = Get-AzRouteServer ` -ResourceGroupName $resourceGroupName ` -RouteServerName $routeServerName $routeServer | Format-ListPoczekaj na zakończenie wdrożenia. W portalu Azure otwórz Route Server. W ustawieniach wybierz Konfigurację i zaznacz Tryb Podwójnego stosu. Ponieważ RouteServerSubnet już ma prefiks IPv6, serwer tras jest tworzony w trybie dual-stack, a ustawienie pokazuje Włączone. Jeśli pokazuje Wyłączone, ustaw na Włączone, a następnie wybierz Zapisz. Ta zmiana jest nieodwracalna i może trwać nawet do 40 minut. Szczegóły znajdziesz w artykule Włącz tryb dual-stack. Nie kontynuuj, jeśli wdrożenie się nie powiodło lub tryb Dual Stack nie pokazuje Włączone.
Zapisz dwa adresy IPv4 Route Servera (adresy IP Route Servera) oraz ASN z Przeglądu. NVA nawiązuje peering z tymi adresami IPv4 zarówno dla tras IPv4, jak i IPv6.
Ta procedura tworzy nowe wdrożenie. Aby zaktualizować istniejący serwer tras tylko IPv4, użyj opcji Włącz tryb dual-stack.
Wdróż i skonfiguruj NVA
Użyj portalu Azure, aby utworzyć NVA w wirtualnej sieci, którą wcześniej stworzyłeś. Nie powtarzaj kroków tworzenia wirtualnej sieci, bramy NAT czy Route Server.
Tworzenie maszyny wirtualnej
W polu wyszukiwania w górnej części portalu wprowadź maszyna wirtualna i wybierz opcję Maszyny wirtualne z wyników wyszukiwania.
Wybierz Utwórz, a następnie Maszyna wirtualna platformy Azure.
Na karcie PodstawyTworzenie maszyny wirtualnej wprowadź lub wybierz następujące informacje:
Setting Value Subscription Wybierz subskrypcję użytą dla sieci wirtualnej. Grupa zasobów Wybierz grupę zasobów zidentyfikowaną przez $resourceGroupName.Nazwa maszyny wirtualnej Wprowadź wartość vm-nva. Region Wybierz ten sam region co sieć wirtualna. Opcje dostępności Wybierz pozycję Brak wymaganej infrastruktury. Typ zabezpieczeń Zostaw ustawienie domyślne Zaufane uruchamianie maszyn wirtualnych. obraz Wybierz pozycję Ubuntu Server 24.04 LTS — x64 Gen2. Size Wybierz rozmiar lub pozostaw ustawienie domyślne. Typ uwierzytelniania Wybierz opcję Klucz publiczny SSH. Nazwa użytkownika Wprowadź nazwę użytkownika. Źródło klucza publicznego SSH Wybierz pozycję Generuj nową parę kluczy. Nazwa pary kluczy Wprowadź vm-nva-key. Wybierz kartę Sieć.
Na zakładce Sieci wybierz następujące ustawienia:
Setting Value Sieć wirtualna Wybierz sieć wirtualną zidentyfikowaną przez $virtualNetworkName.Podsieć Wybierz podsieć-1. Publiczny adres IP Wybierz Żadne. Grupa zabezpieczeń sieciowych NIC Wybierz opcję Zaawansowane. Konfigurowanie sieciowej grupy zabezpieczeń Wybierz pozycjęUtwórz nowy. Wpisz nsg-nva jako nazwę, a następnie wybierz OK. Wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz po pomyślnym zakończeniu walidacji.
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu. W sekcji Networking wybierz ustawienia sieci, a następnie wybierz nazwę interfejsu sieciowego.
W sekcji Ustawienia wybierz pozycję Konfiguracje IP. Jeśli lista nie zawiera konfiguracji IPv6 z prywatnym adresem IPv6 z fd00:0:100:2::/64, wybierz + Dodaj, wpisz następujące informacje, a następnie wybierz Dodaj:
Setting Value Name Wpisz ipconfig-ipv6. Wersja protokołu IP Wybierz pozycję IPv6. Allocation Pozostaw wartość domyślną Dynamiczne. Publiczny adres IP Pozostaw niezaznaczone. NVA nie potrzebuje publicznego adresu IPv6. Jeśli dodałeś konfigurację IPv6, wróć do vm-NVA i wybierz Restart , aby system operacyjny gościa otrzymał nowy adres IPv6.
W konfiguracjach IP zapisuj prywatne adresy IPv4 i IPv6 NVA.
Na vm-nva, w sekcji Operacje, wybierz Uruchom polecenie>RunShellScript i wykonaj następujące polecenie, aby potwierdzić, że system operacyjny gościa ma adres IPv6:
ip -6 addr show dev eth0 scope globalWynik musi zawierać prywatny adres IPv6, który zanotowałeś. FRR używa tego globalnego adresu IPv6 jako następnego przeskoku dla tras IPv6, które reklamuje. Jeśli brakuje adresu, skonfiguruj DHCPv6 w systemie gościa, postępując zgodnie z instrukcjami w Skonfiguruj DHCPv6 dla maszyn wirtualnych z systemem Linux, a następnie ponownie uruchom polecenie.
Reguły sieciowej grupy zabezpieczeń blokują przychodzący dostęp SSH z Internetu. Użyj polecenia Run do kolejnych kroków konfiguracji lub wdroż Azure Bastion.
Konfigurowanie protokołu BGP na maszynie wirtualnej
Na vm-nva, w sekcji Operacje, wybierz Uruchom polecenie>RunShellScript.
Zastąp przykładowy adres IPv4 NVA oraz oba adresy IPv4 Route Server w następującym skrypcie wartościami swojego wdrożenia. Skrypt nadpisuje
/etc/frr/frr.conf; używaj go tylko na nowej maszynie wirtualnej samouczka, a nie na NVA z istniejącą konfiguracją routingu. Wprowadź skrypt w Run Command Script i wybierz Run:#!/bin/bash set -e nva_ip='10.0.0.4' route_server_ip_1='10.0.1.4' route_server_ip_2='10.0.1.5' sudo apt-get update && sudo apt-get install -y frr sudo sed -i 's/bgpd=no/bgpd=yes/' /etc/frr/daemons sudo tee /etc/frr/frr.conf > /dev/null << EOF frr defaults traditional hostname vm-nva ip route 198.51.100.0/24 Null0 ipv6 route 2001:db8:220::/48 Null0 router bgp 65001 bgp router-id $nva_ip no bgp ebgp-requires-policy no bgp default ipv4-unicast neighbor $route_server_ip_1 remote-as 65515 neighbor $route_server_ip_1 ebgp-multihop 2 neighbor $route_server_ip_2 remote-as 65515 neighbor $route_server_ip_2 ebgp-multihop 2 address-family ipv4 unicast network 198.51.100.0/24 neighbor $route_server_ip_1 activate neighbor $route_server_ip_1 next-hop-self neighbor $route_server_ip_2 activate neighbor $route_server_ip_2 next-hop-self exit-address-family address-family ipv6 unicast network 2001:db8:220::/48 neighbor $route_server_ip_1 activate neighbor $route_server_ip_1 next-hop-self neighbor $route_server_ip_2 activate neighbor $route_server_ip_2 next-hop-self exit-address-family EOF sudo systemctl restart frrPoczekaj na ukończenie skryptu. Rozwiąż wszelkie błędy instalacji pakietu lub FRR przed utworzeniem peera BGP.
Konfiguracja FRR wykorzystuje ASN 65001 i reklamuje 198.51.100.0/24 oraz 2001:db8:220::/48. Statyczne trasy do Null0 pozwalają FRR reklamować te prefiksy dokumentacyjne, ale odrzucać kierowany do nich ruch. Ta konfiguracja nie jest testem przekazywania pakietów. Blok address-family ipv6 unicast aktywuje IPv6 na tych samych sąsiadach IPv4, więc trasy IPv6 wykorzystują wieloprotokołowy BGP (MP-BGP) przez sesje IPv4. FRR ustawia kolejny skok tras IPv6 na wcześniej zweryfikowany globalny adres IPv6 interfejsu eth0.
Potwierdź, że instalacja pakietu i konfiguracja FRR zakończyły się bez błędów przed utworzeniem peera BGP. Do wdrożeń produkcyjnych używaj wspieranego NVA z Azure Marketplace zamiast tej symulacji FRR.
Konfiguruj peering BGP z NVA
Wprowadź prywatny adres IPv4 NVA i utworz partnera:
$nvaIPv4Address = Read-Host 'Enter the NVA private IPv4 address' Add-AzRouteServerPeer ` -ResourceGroupName $resourceGroupName ` -RouteServerName $routeServerName ` -PeerName $peerName ` -PeerAsn '65001' ` -PeerIp $nvaIPv4Address Get-AzRouteServerPeer ` -ResourceGroupName $resourceGroupName ` -RouteServerName $routeServerName ` -PeerName $peerNameNa vm-nva użyj w portalu polecenia Run command>RunShellScript, aby wykonać następujące polecenia:
sudo vtysh -c 'show bgp ipv4 unicast summary' -c 'show bgp ipv6 unicast summary'W obu tabelach potwierdź, że oba adresy IPv4 Route Server pokazują wartość liczbową w kolumnie State/PfxRcd . Stan taki jak Aktywny, Bezczynny lub Connect oznacza, że sesja nie jest ustanowiona dla tej rodziny adresów. Jeśli sesja nie została ustanowiona, sprawdź adresy IP serwera routów, ASN i konfigurację FRR przed kontynuacją.
Obie rodziny tras korzystają z sesji IPv4 BGP. Nie tworz osobnego IPv6 BGP peera dla tego scenariusza.
Zweryfikuj trasy IPv4 i IPv6
Zobacz trasy reklamowane przez NVA przed ich zmianą przez mapę tras przychodzących:
Get-AzRouteServerPeerLearnedRoute ` -ResourceGroupName $resourceGroupName ` -RouteServerName $routeServerName ` -PeerName $peerName | Format-Table -AutoSizeWeryfikuj skuteczne trasy, używając ID zasobu wirtualnego huba serwera tras:
(Get-AzVHubEffectiveRoute -VirtualHubResourceId $routeServer.Id).Value | Format-Table AddressPrefixes, NextHops, NextHopType, AsPath -AutoSize
Potwierdź, że zarówno 198.51.100.0/24 , jak i 2001:db8:220::/48 pojawiają się z NVA jako kolejnym skokiem. Jeśli którykolwiek z prefiksów jest nieobecny, sprawdź jego instrukcję FRR network i pasującą statyczną trasę i potwierdź, że rodzina adresów jest aktywna u obu sąsiadów. Te kontrole tras nie potwierdzają dostarczenia pakietów.
Alternatywy w portalu i interfejsie CLI znajdują się w artykule Wyświetl efektywne trasy. Aby zastosować politykę trasowania, wykonaj kroki z Konfigurowanie map tras, a następnie porównaj efektywne trasy przed i po zastosowaniu mapy trasy.
Uprzątnij zasoby
Jeśli chcesz kontynuować z przykładem mapy trasy, zachowaj materiały samouczka, aż ukończysz ten przykład. W przeciwnym razie przejrzyj zasoby grupy przed ich usunięciem:
Get-AzResource -ResourceGroupName $resourceGroupName |
Format-Table Name, ResourceType
Poniższe polecenie usuwa całą grupę zasobów i prosi o potwierdzenie. Uruchamiaj ją tylko wtedy, gdy grupa nie zawiera zasobów, które musisz zachować:
Remove-AzResourceGroup -Name $resourceGroupName
Treści powiązane
- Konfiguruj route mapy tak, aby stosować politykę routingu do peeringu NVA.
- Usuń trasy wejściowe dla przykładu filtrowania tras wejściowych.
- Zobacz skuteczne trasy routingu, aby porównać informacje o trasach routingu po zastosowaniu mapy routingu.