Jak skonfigurować protokół BGP dla usługi Azure VPN Gateway: interfejs wiersza polecenia
Ten artykuł pomaga włączyć protokół BGP na połączeniach sieci VPN typu lokacja-lokacja (S2S) między lokacjami i połączeniach między sieciami wirtualnymi przy użyciu interfejsu wiersza polecenia platformy Azure. Tę konfigurację można również utworzyć przy użyciu witryny Azure Portal lub programu PowerShell .
BGP to standardowy protokół routingu używany często w Internecie do wymiany informacji o routingu i osiągalności między dwiema lub wieloma sieciami. Protokół BGP umożliwia bramom sieci VPN platformy Azure i lokalnym urządzeniom sieci VPN, nazywanym elementami równorzędnymi lub sąsiadami protokołu BGP, wymianę "tras", która poinformuje obie bramy o dostępności i dostępności tych prefiksów w celu przejścia przez bramy lub routery. Protokół BGP umożliwia również włączenie routingu tranzytowego między wieloma sieciami poprzez propagowanie tras, których brama BGP uczy się od jednego elementu równorzędnego BGP, we wszystkich innych elementach równorzędnych BGP.
Aby uzyskać więcej informacji na temat zalet protokołu BGP i zrozumienia wymagań technicznych i zagadnień dotyczących korzystania z protokołu BGP, zobacz About BGP and Azure VPN Gateway (Informacje o protokole BGP i usłudze Azure VPN Gateway).
Każda część tego artykułu ułatwia utworzenie podstawowego bloku konstrukcyjnego umożliwiającego włączanie protokołu BGP w łączności sieciowej. Jeśli wszystkie trzy części (skonfiguruj protokół BGP w bramie, połączeniu S2S i połączeniu między sieciami wirtualnymi), utworzysz topologię, jak pokazano na diagramie 1.
Diagram 1
Te sekcje można połączyć, aby utworzyć bardziej złożoną sieć tranzytową multihop, która spełnia Twoje potrzeby.
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Włączanie protokołu BGP dla bramy sieci VPN
Ta sekcja jest wymagana przed wykonaniem dowolnego z kroków w dwóch pozostałych sekcjach konfiguracji. Poniższe kroki konfiguracji umożliwiają skonfigurowanie parametrów protokołu BGP bramy sieci VPN platformy Azure, jak pokazano na diagramie 2.
Diagram 2
Tworzenie i konfigurowanie sieci TestVNet1
1. Tworzenie grupy zasobów
Poniższy przykład tworzy grupę zasobów o nazwie TestRG1 w lokalizacji "eastus". Jeśli masz już grupę zasobów w regionie, w którym chcesz utworzyć sieć wirtualną, możesz użyć tej grupy.
az group create --name TestRG1 --location eastus
2. Tworzenie sieci TestVNet1
Poniższy przykład obejmuje tworzenie sieci wirtualnej o nazwie TestVNet1 i trzech podsieciach: GatewaySubnet, FrontEnd i BackEnd. Podczas zastępowania wartości ważne jest, aby zawsze nazywać podsieć bramy podsiecią GatewaySubnet. W przypadku nadania jej innej nazwy proces tworzenia bramy zakończy się niepowodzeniem.
Pierwsze polecenie tworzy przestrzeń adresową frontonu i podsieć frontonu. Drugie polecenie tworzy dodatkową przestrzeń adresową dla podsieci Zaplecza. Trzecie i czwarte polecenia tworzą podsieć zaplecza i podsieć GatewaySubnet.
az network vnet create -n TestVNet1 -g TestRG1 --address-prefix 10.11.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.11.0.0/24
az network vnet update -n TestVNet1 --address-prefixes 10.11.0.0/16 10.12.0.0/16 -g TestRG1
az network vnet subnet create --vnet-name TestVNet1 -n BackEnd -g TestRG1 --address-prefix 10.12.0.0/24
az network vnet subnet create --vnet-name TestVNet1 -n GatewaySubnet -g TestRG1 --address-prefix 10.12.255.0/27
Tworzenie bramy sieci VPN dla sieci TestVNet1 z parametrami protokołu BGP
1. Tworzenie publicznego adresu IP
Prześlij żądanie dotyczące publicznego adresu IP. Publiczny adres IP zostanie przydzielony do bramy sieci VPN utworzonej dla sieci wirtualnej.
az network public-ip create -n GWPubIP -g TestRG1 --allocation-method Dynamic
2. Utwórz bramę sieci VPN przy użyciu numeru AS
Utwórz bramę sieci wirtualnej dla sieci TestVNet1. Protokół BGP wymaga bramy sieci VPN opartej na trasach. Potrzebujesz również dodatkowego parametru -Asn
, aby ustawić numer systemu autonomicznego (ASN) dla sieci TestVNet1. Tworzenie bramy często może trwać 45 minut lub dłużej, w zależności od wybranej jednostki SKU bramy.
Jeśli uruchomisz to polecenie przy użyciu parametru --no-wait
, nie widzisz żadnych opinii ani danych wyjściowych. Parametr --no-wait
umożliwia utworzenie bramy w tle. Nie oznacza to, że brama sieci VPN jest tworzona natychmiast.
az network vnet-gateway create -n VNet1GW -l eastus --public-ip-address GWPubIP -g TestRG1 --vnet TestVNet1 --gateway-type Vpn --sku HighPerformance --vpn-type RouteBased --asn 65010 --no-wait
Po utworzeniu bramy można użyć tej bramy do ustanowienia połączenia obejmującego wiele lokalizacji lub połączenia między sieciami wirtualnymi za pomocą protokołu BGP.
3. Uzyskiwanie adresu IP elementu równorzędnego BGP platformy Azure
Po utworzeniu bramy należy uzyskać adres IP elementu równorzędnego BGP w bramie sieci VPN platformy Azure. Ten adres jest potrzebny do skonfigurowania bramy sieci VPN jako elementu równorzędnego protokołu BGP dla lokalnych urządzeń sieci VPN.
Uruchom następujące polecenie.
az network vnet-gateway list -g TestRG1
Zanotuj bgpSettings
sekcję w górnej części danych wyjściowych. Użyjesz tego
"bgpSettings": {
"asn": 65010,
"bgpPeeringAddress": "10.12.255.30",
"peerWeight": 0
}
Jeśli nie widzisz adresu IP BgpPeeringAddress, brama jest nadal konfigurowana. Spróbuj ponownie po zakończeniu bramy.
Ustanawianie połączenia obejmującego wiele lokalizacji przy użyciu protokołu BGP
Aby ustanowić połączenie obejmujące wiele lokalizacji, należy utworzyć bramę sieci lokalnej w celu reprezentowania lokalnego urządzenia sieci VPN. Następnie połączysz bramę sieci VPN platformy Azure z bramą sieci lokalnej. Chociaż te kroki są podobne do tworzenia innych połączeń, obejmują dodatkowe właściwości wymagane do określenia parametru konfiguracji protokołu BGP, jak pokazano na diagramie 3.
Diagram 3
Tworzenie i konfigurowanie bramy sieci lokalnej
To ćwiczenie kontynuuje kompilowanie konfiguracji pokazanej na diagramie. Należy pamiętać o zastąpieniu przykładowych wartości tymi, które mają zostać użyte w danej konfiguracji. Podczas pracy z bramami sieci lokalnej należy pamiętać o następujących kwestiach:
- Brama sieci lokalnej może znajdować się w tej samej lokalizacji i grupie zasobów co brama sieci VPN lub może znajdować się w innej lokalizacji i grupie zasobów. W tym przykładzie przedstawiono bramy w różnych grupach zasobów w różnych lokalizacjach.
- Minimalny prefiks, który należy zadeklarować dla bramy sieci lokalnej, to adres hosta adresu IP elementu równorzędnego BGP na urządzeniu sieci VPN. W tym przypadku jest to /32 prefiks 10.51.255.254/32.
- Możesz również pozostawić prefiks pusty, jeśli używasz protokołu BGP do nawiązywania połączenia z tą siecią. Brama sieci VPN platformy Azure wewnętrznie doda trasę adresu IP elementu równorzędnego protokołu BGP do odpowiedniego tunelu IPsec.
- Przypominamy, że należy używać różnych sieci ASN protokołu BGP między sieciami lokalnymi i siecią wirtualną platformy Azure. Jeśli są one takie same, musisz zmienić numer ASN sieci wirtualnej, jeśli lokalne urządzenia sieci VPN używają już usługi ASN do komunikacji równorzędnej z innymi sąsiadami protokołu BGP.
Przed kontynuowaniem upewnij się, że ukończono sekcję Włączanie protokołu BGP dla bramy sieci VPN w tym ćwiczeniu. Zwróć uwagę, że w tym przykładzie utworzysz nową grupę zasobów. Zwróć również uwagę na dwa dodatkowe parametry bramy sieci lokalnej: Asn
i BgpPeerAddress
.
az group create -n TestRG5 -l westus
az network local-gateway create --gateway-ip-address 23.99.221.164 -n Site5 -g TestRG5 --local-address-prefixes 10.51.255.254/32 --asn 65050 --bgp-peering-address 10.51.255.254
Łączenie bramy sieci wirtualnej i bramy sieci lokalnej
W tym kroku utworzysz połączenie z sieci TestVNet1 do lokacji Site5. Należy określić parametr , --enable-bgp
aby włączyć protokół BGP dla tego połączenia.
W tym przykładzie brama sieci wirtualnej i brama sieci lokalnej znajdują się w różnych grupach zasobów. Gdy bramy znajdują się w różnych grupach zasobów, należy określić cały identyfikator zasobu dwóch bram, aby skonfigurować połączenie między sieciami wirtualnymi.
1. Pobierz identyfikator zasobu sieci VNet1GW
Użyj danych wyjściowych z następującego polecenia, aby uzyskać identyfikator zasobu dla sieci VNet1GW:
az network vnet-gateway show -n VNet1GW -g TestRG1
W danych wyjściowych znajdź "id":
wiersz. Aby utworzyć połączenie w następnej sekcji, potrzebne są wartości w cudzysłowie.
Przykładowe wyjście:
{
"activeActive": false,
"bgpSettings": {
"asn": 65010,
"bgpPeeringAddress": "10.12.255.30",
"peerWeight": 0
},
"enableBgp": true,
"etag": "W/\"<your etag number>\"",
"gatewayDefaultSite": null,
"gatewayType": "Vpn",
"id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW",
Skopiuj wartości po do "id":
edytora tekstów, takiego jak Notatnik, aby można było je łatwo wkleić podczas tworzenia połączenia.
"id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW"
2. Pobieranie identyfikatora zasobu witryny Site5
Użyj następującego polecenia, aby pobrać identyfikator zasobu witryny Site5 z danych wyjściowych:
az network local-gateway show -n Site5 -g TestRG5
3. Utwórz połączenie z siecią TestVNet1-to-Site5
W tym kroku utworzysz połączenie z sieci TestVNet1 do lokacji Site5. Jak wspomniano wcześniej, można mieć zarówno połączenia BGP, jak i inne niż BGP dla tej samej bramy sieci VPN platformy Azure. Jeśli protokół BGP nie jest włączony we właściwości połączenia, platforma Azure nie włączy protokołu BGP dla tego połączenia, mimo że parametry protokołu BGP są już skonfigurowane w obu bramach. Zastąp identyfikatory subskrypcji własnymi identyfikatorami.
az network vpn-connection create -n VNet1ToSite5 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --local-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG5/providers/Microsoft.Network/localNetworkGateways/Site5
Konfiguracja urządzenia lokalnego
W poniższym przykładzie przedstawiono parametry wprowadzone w sekcji konfiguracji protokołu BGP na lokalnym urządzeniu sieci VPN na potrzeby tego ćwiczenia:
- Site5 ASN : 65050
- Site5 BGP IP : 10.51.255.254
- Prefixes to announce : (for example) 10.51.0.0/16
- Azure VNet ASN : 65010
- Azure VNet BGP IP : 10.12.255.30
- Static route : Add a route for 10.12.255.30/32, with nexthop being the VPN tunnel interface on your device
- eBGP Multihop : Ensure the "multihop" option for eBGP is enabled on your device if needed
Po kilku minutach połączenie powinno zostać ustanowione. Sesja komunikacji równorzędnej BGP rozpoczyna się po nawiązaniu połączenia IPsec.
Ustanawianie połączenia między sieciami wirtualnymi przy użyciu protokołu BGP
W tej sekcji dodano połączenie między sieciami wirtualnymi za pomocą protokołu BGP, jak pokazano na diagramie 4.
Diagram 4
Poniższe instrukcje są kontynuowane z kroków opisanych w poprzednich sekcjach. Aby utworzyć i skonfigurować sieć TestVNet1 i bramę sieci VPN przy użyciu protokołu BGP, należy ukończyć sekcję Włączanie protokołu BGP dla bramy sieci VPN.
Tworzenie sieci TestVNet2 i bramy sieci VPN
Ważne jest, aby upewnić się, że przestrzeń adresowa IP nowej sieci wirtualnej TestVNet2 nie nakłada się na żaden z zakresów sieci wirtualnej.
W tym przykładzie sieci wirtualne należą do tej samej subskrypcji. Możesz skonfigurować połączenia między sieciami wirtualnymi między różnymi subskrypcjami. Aby dowiedzieć się więcej, zobacz Konfigurowanie połączenia między sieciami wirtualnymi. Upewnij się, że dodano podczas -EnableBgp $True
tworzenia połączeń w celu włączenia protokołu BGP.
1. Tworzenie nowej grupy zasobów
az group create -n TestRG2 -l eastus
2. Utwórz sieć TestVNet2 w nowej grupie zasobów
Pierwsze polecenie tworzy przestrzeń adresową frontonu i podsieć frontonu. Drugie polecenie tworzy dodatkową przestrzeń adresową dla podsieci Zaplecza. Trzecie i czwarte polecenia tworzą podsieć zaplecza i podsieć GatewaySubnet.
az network vnet create -n TestVNet2 -g TestRG2 --address-prefix 10.21.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.21.0.0/24
az network vnet update -n TestVNet2 --address-prefixes 10.21.0.0/16 10.22.0.0/16 -g TestRG2
az network vnet subnet create --vnet-name TestVNet2 -n BackEnd -g TestRG2 --address-prefix 10.22.0.0/24
az network vnet subnet create --vnet-name TestVNet2 -n GatewaySubnet -g TestRG2 --address-prefix 10.22.255.0/27
3. Tworzenie publicznego adresu IP
Prześlij żądanie dotyczące publicznego adresu IP. Publiczny adres IP zostanie przydzielony do bramy sieci VPN utworzonej dla sieci wirtualnej.
az network public-ip create -n GWPubIP2 -g TestRG2 --allocation-method Dynamic
4. Utwórz bramę sieci VPN przy użyciu numeru AS
Utwórz bramę sieci wirtualnej dla sieci TestVNet2. Należy zastąpić domyślną nazwę ASN w bramach sieci VPN platformy Azure. Sieci ASN dla połączonych sieci wirtualnych muszą być inne, aby włączyć protokół BGP i routing tranzytowy.
az network vnet-gateway create -n VNet2GW -l eastus --public-ip-address GWPubIP2 -g TestRG2 --vnet TestVNet2 --gateway-type Vpn --sku Standard --vpn-type RouteBased --asn 65020 --no-wait
Łączenie bram TestVNet1 i TestVNet2
W tym kroku utworzysz połączenie z sieci TestVNet1 do lokacji Site5. Aby włączyć protokół BGP dla tego połączenia, należy określić --enable-bgp
parametr .
W poniższym przykładzie brama sieci wirtualnej i brama sieci lokalnej znajdują się w różnych grupach zasobów. Gdy bramy znajdują się w różnych grupach zasobów, należy określić cały identyfikator zasobu dwóch bram, aby skonfigurować połączenie między sieciami wirtualnymi.
1. Pobierz identyfikator zasobu sieci VNet1GW
Pobierz identyfikator zasobu sieci VNet1GW z danych wyjściowych następującego polecenia:
az network vnet-gateway show -n VNet1GW -g TestRG1
Przykładowa wartość zasobu bramy:
"/subscriptions/<subscripion ID value>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW"
2. Pobieranie identyfikatora zasobu sieci VNet2GW
Pobierz identyfikator zasobu sieci VNet2GW z danych wyjściowych następującego polecenia:
az network vnet-gateway show -n VNet2GW -g TestRG2
3. Tworzenie połączeń
Utwórz połączenie z sieci TestVNet1 do sieci TestVNet2, a połączenie z sieci TestVNet2 do sieci TestVNet1. Te polecenia używają identyfikatorów zasobów. W tym ćwiczeniu większość identyfikatora zasobu jest już w przykładzie. Pamiętaj, aby zastąpić wartości identyfikatorów subskrypcji własnymi. Identyfikator subskrypcji jest używany w wielu miejscach w tym samym poleceniu. W przypadku korzystania z tego polecenia dla środowiska produkcyjnego zastąpisz cały identyfikator zasobu dla każdego obiektu, do którego odwołujesz się.
az network vpn-connection create -n VNet1ToVNet2 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW
az network vpn-connection create -n VNet2ToVNet1 -g TestRG2 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW
Ważne
Włącz protokół BGP dla obu połączeń.
Po wykonaniu tych kroków połączenie zostanie nawiązane w ciągu kilku minut. Sesja komunikacji równorzędnej BGP będzie działać po zakończeniu połączenia między sieciami wirtualnymi.
Następne kroki
Aby uzyskać więcej informacji na temat protokołu BGP, zobacz About BGP and VPN Gateway (Informacje o protokole BGP i bramie sieci VPN).