Cara mengonfigurasi BGP untuk VPN Gateway: PowerShell

Artikel ini membantu Anda mengaktifkan BGP pada koneksi VPN situs-ke-situs (S2S) lintas lokasi dan koneksi VNet-ke-VNet menggunakan Azure PowerShell. Jika Anda tidak terbiasa dengan jenis konfigurasi ini, Anda mungkin merasa lebih mudah untuk menggunakan versi portal Azure artikel ini.

BGP adalah protokol perutean standar yang biasa digunakan di internet untuk bertukar informasi perutean dan jangkauan antara dua jaringan atau lebih. BGP memungkinkan gateway VPN dan perangkat VPN lokal Anda, yang disebut rekan atau tetangga BGP, untuk bertukar "rute" yang akan menginformasikan kedua gateway tentang ketersediaan dan keterjangkauan bagi awalan tersebut untuk melalui gateway atau router yang terlibat. BGP juga dapat mengaktifkan perutean transit di antara beberapa jaringan dengan melakukan propagasi rute yang dipelajari gateway BGP dari satu rekan BGP ke semua rekan BGP lainnya.

Untuk informasi selengkapnya tentang manfaat BGP dan untuk memahami persyaratan teknis dan pertimbangan penggunaan BGP, lihat Tentang BGP dan Azure VPN Gateway.

Memulai

Setiap bagian artikel ini membantu Anda membentuk blok penyusun dasar untuk mengaktifkan BGP dalam konektivitas jaringan Anda. Jika Anda menyelesaikan ketiga bagian tersebut (mengonfigurasi BGP di gateway, koneksi S2S, dan koneksi VNet-ke-VNet), Anda membangun topologi seperti yang ditunjukkan pada Diagram 1. Anda dapat menggabungkan bagian ini untuk membuat jaringan transit multihop kompleks yang memenuhi kebutuhan Anda.

Diagram 1

Diagram memperlihatkan arsitektur dan pengaturan jaringan.

Mengaktifkan BGP untuk gateway VPN

Bagian ini diperlukan sebelum Anda melakukan salah satu langkah di dua bagian konfigurasi lainnya. Langkah-langkah konfigurasi berikut menyiapkan parameter BGP gateway VPN seperti yang diperlihatkan dalam Diagram 2.

Diagram 2

Diagram memperlihatkan pengaturan untuk gateway jaringan virtual.

Sebelum Anda mulai

Anda dapat menjalankan langkah-langkah untuk latihan ini menggunakan Azure Cloud Shell di browser Anda. Jika Anda ingin menggunakan PowerShell langsung dari komputer Anda, instal cmdlet Azure Resource Manager PowerShell. Untuk informasi selengkapnya tentang mengunduh dan menginstal cmdlet PowerShell, lihat Cara menginstal dan mengonfigurasi Azure PowerShell.

Membuat dan mengonfigurasikan VNet1

1. Menyatakan variabel Anda

Untuk latihan ini, kita mulai dengan mendeklarasikan variabel. Contoh berikut mendeklarasikan variabel menggunakan nilai untuk latihan ini. Anda dapat menggunakan variabel contoh (dengan pengecualian nama langganan) jika Anda menjalankan langkah-langkah untuk membiasakan diri dengan jenis konfigurasi ini. Ubah variabel apa pun, lalu salin dan tempel ke konsol PowerShell Anda. Pastikan untuk mengganti nilai dengan nilai Anda sendiri saat mengonfigurasi untuk produksi.

$Sub1 = "Replace_With_Your_Subscription_Name"
$RG1 = "TestRG1"
$Location1 = "East US"
$VNetName1 = "TestVNet1"
$FESubName1 = "FrontEnd"
$BESubName1 = "Backend"
$GWSubName1 = "GatewaySubnet"
$VNetPrefix11 = "10.11.0.0/16"
$VNetPrefix12 = "10.12.0.0/16"
$FESubPrefix1 = "10.11.0.0/24"
$BESubPrefix1 = "10.12.0.0/24"
$GWSubPrefix1 = "10.12.255.0/27"
$VNet1ASN = 65010
$DNS1 = "8.8.8.8"
$GWName1 = "VNet1GW"
$GWIPName1 = "VNet1GWIP"
$GWIPconfName1 = "gwipconf1"
$Connection12 = "VNet1toVNet2"
$Connection15 = "VNet1toSite5"

2. Sambungkan ke langganan Anda dan buat grup sumber daya baru

Pastikan Anda beralih mode PowerShell untuk menggunakan cmdlet Azure Resource Manager. Untuk informasi selengkapnya, lihat Menggunakan Windows PowerShell dengan Resource Manager.

Jika Anda menggunakan Azure Cloud Shell, Anda secara otomatis tersambung ke akun Anda. Jika Anda menggunakan PowerShell dari komputer, buka konsol PowerShell dan sambungkan ke akun Anda. Gunakan contoh berikut untuk membantu Anda menyambungkan:

Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1

Selanjutnya, buat grup sumber daya baru.

New-AzResourceGroup -Name $RG1 -Location $Location1

3. Buat TestVNet1

Contoh berikut membuat jaringan virtual bernama TestVNet1 dan tiga subnet, satu disebut GatewaySubnet, satu disebut FrontEnd, dan satu disebut Backend. Saat mengganti nilai, Anda harus selalu memberi nama subnet gateway secara khusus dengan GatewaySubnet. Penamaan selain itu akan membuat gateway Anda gagal.

$fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
$besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName1 -AddressPrefix $GWSubPrefix1

New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1

Membuat gateway VPN dengan BGP diaktifkan

1. Buat konfigurasi IP dan subnet

Minta alamat IP publik untuk dialokasikan ke gateway yang akan Anda buat untuk VNet Anda. Anda juga akan menentukan konfigurasi subnet dan IP yang diperlukan.

$gwpip1 = New-AzPublicIpAddress -Name $GWIPName1 -ResourceGroupName $RG1 -Location $Location1 -AllocationMethod Dynamic

$vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
$subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
$gwipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName1 -Subnet $subnet1 -PublicIpAddress $gwpip1

2. Buat VPN gateway dengan nomor AS

Membuat gateway jaringan virtual untuk TestVnet1. BGP memerlukan gateway VPN Route-Based, dan juga parameter tambahan -Asn untuk mengatur ASN (Nomor AS) untuk TestVNet1. Pastikan untuk menentukan parameter -Asn . Jika Anda tidak mengatur parameter -Asn, ASN 65515 (yang tidak berfungsi untuk konfigurasi ini) ditetapkan secara default. Membuat gateway bisa memakan waktu cukup lama (45 menit atau lebih untuk menyelesaikannya).

New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 -Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -Asn $VNet1ASN

Setelah gateway dibuat, Anda bisa menggunakan gateway ini untuk membangun koneksi lintas lokal atau koneksi VNet-ke-VNet dengan BGP.

3. Dapatkan alamat IP Peer Azure BGP

Setelah gateway dibuat, Anda perlu mendapatkan alamat IP Peer BGP di gateway VPN. Alamat ini diperlukan untuk mengonfigurasi gateway VPN sebagai Peer BGP untuk perangkat VPN lokal Anda.

Jika Anda menggunakan CloudShell, Anda mungkin perlu membangun kembali variabel Anda jika sesi kehabisan waktu saat membuat gateway Anda.

Membangun kembali variabel jika perlu:

$RG1 = "TestRG1"
$GWName1 = "VNet1GW"

Jalankan perintah berikut dan catat nilai "BgpPeeringAddress" dari output.

$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet1gw.BgpSettingsText

Contoh output:

$vnet1gw.BgpSettingsText
{
    "Asn": 65010,
    "BgpPeeringAddress": "10.12.255.30",
    "PeerWeight": 0
}

Jika Anda tidak melihat BgpPeeringAddress ditampilkan sebagai alamat IP, gateway Anda masih dikonfigurasi. Coba lagi ketika gateway selesai.

Membuat koneksi lintas lokal dengan BGP

Untuk membuat koneksi lintas tempat, Anda perlu membuat gateway jaringan lokal untuk mewakili perangkat VPN lokal Anda, dan koneksi untuk menyambungkan VPN gateway dengan gateway jaringan lokal seperti yang dijelaskan dalam Membuat koneksi situs-ke-situs. Bagian berikut berisi properti yang diperlukan untuk menentukan parameter konfigurasi BGP, yang ditunjukkan dalam Diagram 3.

Diagram 3

Diagram memperlihatkan konfigurasi IPsec.

Sebelum melanjutkan, pastikan Anda mengaktifkan BGP untuk gateway VPN di bagian sebelumnya.

Langkah 1: Buat dan konfigurasikan gateway jaringan lokal

1. Deklarasikan variabel Anda

Latihan ini terus membangun konfigurasi yang ditunjukkan dalam diagram. Pastikan untuk mengganti nilai dengan nilai yang ingin Anda gunakan untuk konfigurasi Anda. Misalnya, Anda perlu alamat IP untuk perangkat VPN Anda. Untuk latihan ini, Anda dapat mengganti alamat IP yang valid jika Anda tidak berencana untuk menyambungkan ke perangkat VPN Anda saat ini. Anda nantinya dapat mengganti alamat IP.

$RG5 = "TestRG5"
$Location5 = "West US"
$LNGName5 = "Site5"
$LNGPrefix50 = "10.51.255.254/32"
$LNGIP5 = "4.3.2.1"
$LNGASN5 = 65050
$BGPPeerIP5 = "10.51.255.254"

Beberapa hal yang perlu diperhatikan mengenai parameter gateway jaringan lokal:

  • Gateway jaringan lokal bisa berada di lokasi dan grup sumber daya yang sama atau berbeda dengan gateway VPN. Contoh ini memperlihatkan mereka dalam grup sumber daya yang berbeda di lokasi yang berbeda.
  • Awalan yang perlu Anda nyatakan untuk gateway jaringan lokal adalah alamat host alamat IP BGP Peer Anda di perangkat VPN Anda. Dalam hal ini, ini adalah awalan /32 dari "10.51.255.254/32".
  • Sebagai pengingat, Anda harus menggunakan ASN BGP yang berbeda antara jaringan lokal Anda dan Azure VNet. Jika sama, Anda perlu mengubah VNet ASN jika perangkat VPN lokal Anda sudah menggunakan ASN untuk melakukan peering dengan tetangga BGP lainnya.

2. Membuat gateway jaringan lokal untuk Site5

Buat grup sumber daya sebelum Anda membuat gateway jaringan lokal.

New-AzResourceGroup -Name $RG5 -Location $Location5

Buat Gateway Jaringan Lokal. Perhatikan dua parameter tambahan untuk gateway jaringan lokal: Asn dan BgpPeerAddress.

New-AzLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5 -Location $Location5 -GatewayIpAddress $LNGIP5 -AddressPrefix $LNGPrefix50 -Asn $LNGASN5 -BgpPeeringAddress $BGPPeerIP5

Langkah 2: Sambungkan gateway VNet dan gateway jaringan lokal

1. Dapatkan dua gateway

$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1  -ResourceGroupName $RG1
$lng5gw  = Get-AzLocalNetworkGateway -Name $LNGName5 -ResourceGroupName $RG5

2. Buat koneksi TestVNet1 ke Situs5

Dalam langkah ini, Anda membuat koneksi dari TestVNet1 ke Situs5. Anda harus menentukan "-EnableBGP $True" untuk mengaktifkan BGP untuk sambungan ini. Seperti yang dibahas sebelumnya, dimungkinkan untuk memiliki koneksi BGP dan non-BGP untuk gateway VPN yang sama. Kecuali BGP diaktifkan di properti koneksi, Azure tidak akan mengaktifkan BGP untuk koneksi ini meskipun parameter BGP sudah dikonfigurasi di kedua gateway.

Deklarasi ulang variabel Anda jika perlu:

$Connection15 = "VNet1toSite5"
$Location1 = "East US"

Kemudian, jalankan perintah berikut:

New-AzVirtualNetworkGatewayConnection -Name $Connection15 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng5gw -Location $Location1 -ConnectionType IPsec -SharedKey 'AzureA1b2C3' -EnableBGP $True

Konfigurasi perangkat lokal

Contoh berikut mencantumkan parameter yang Anda masukkan ke dalam bagian konfigurasi BGP di perangkat VPN lokal Anda untuk latihan ini:

- 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

Koneksi akan tersambung setelah beberapa menit, dan sesi peering BGP dimulai setelah koneksi IPsec tersambung.

Membuat koneksi VNet-ke-VNet dengan BGP

Bagian ini menambahkan koneksi VNet-ke-VNet dengan BGP, seperti yang ditunjukkan pada Diagram 4.

Diagram 4

Diagram memperlihatkan konfigurasi jaringan penuh.

Instruksi berikut berlanjut dari langkah-langkah sebelumnya. Anda harus terlebih dahulu menyelesaikan langkah-langkah di bagian Aktifkan BGP untuk gateway VPN untuk membuat dan mengonfigurasi TestVNet1 dan gateway VPN dengan BGP.

Langkah 1: Buat TestVNet2 dan gateway VPN

Penting untuk memastikan bahwa ruang alamat IP jaringan virtual baru, TestVNet2, tidak tumpang tindih dengan rentang VNet Anda.

Dalam contoh ini, jaringan virtual adalah milik satu langganan. Anda bisa menyetel koneksi VNet-ke-VNet di antara langganan yang berbeda. Untuk informasi selengkapnya, lihat Mengonfigurasi koneksi VNet-ke-VNet. Pastikan Anda menambahkan "-EnableBgp $True" saat membuat koneksi untuk mengaktifkan BGP.

1. Nyatakan variabel Anda

Pastikan untuk mengganti nilai dengan nilai yang ingin Anda gunakan untuk konfigurasi Anda.

$RG2 = "TestRG2"
$Location2 = "East US"
$VNetName2 = "TestVNet2"
$FESubName2 = "FrontEnd"
$BESubName2 = "Backend"
$GWSubName2 = "GatewaySubnet"
$VNetPrefix21 = "10.21.0.0/16"
$VNetPrefix22 = "10.22.0.0/16"
$FESubPrefix2 = "10.21.0.0/24"
$BESubPrefix2 = "10.22.0.0/24"
$GWSubPrefix2 = "10.22.255.0/27"
$VNet2ASN = 65020
$DNS2 = "8.8.8.8"
$GWName2 = "VNet2GW"
$GWIPName2 = "VNet2GWIP"
$GWIPconfName2 = "gwipconf2"
$Connection21 = "VNet2toVNet1"
$Connection12 = "VNet1toVNet2"

2. Buat TestVNet2 di grup sumber daya baru

New-AzResourceGroup -Name $RG2 -Location $Location2

$fesub2 = New-AzVirtualNetworkSubnetConfig -Name $FESubName2 -AddressPrefix $FESubPrefix2
$besub2 = New-AzVirtualNetworkSubnetConfig -Name $BESubName2 -AddressPrefix $BESubPrefix2
$gwsub2 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName2 -AddressPrefix $GWSubPrefix2

New-AzVirtualNetwork -Name $VNetName2 -ResourceGroupName $RG2 -Location $Location2 -AddressPrefix $VNetPrefix21,$VNetPrefix22 -Subnet $fesub2,$besub2,$gwsub2

3. Buat VPN Gateway untuk TestVNet2 dengan parameter BGP

Minta alamat IP publik untuk dialokasikan ke gateway yang akan Anda buat untuk VNet Anda dan tentukan konfigurasi subnet dan IP yang diperlukan.

Deklarasikan variabel Anda.

$gwpip2    = New-AzPublicIpAddress -Name $GWIPName2 -ResourceGroupName $RG2 -Location $Location2 -AllocationMethod Dynamic

$vnet2     = Get-AzVirtualNetwork -Name $VNetName2 -ResourceGroupName $RG2
$subnet2   = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet2
$gwipconf2 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName2 -Subnet $subnet2 -PublicIpAddress $gwpip2

Buat gateway VPN dengan nomor AS. Anda harus mengganti ASN default di gateway VPN Anda. ASN untuk VNet yang terhubung harus berbeda untuk mengaktifkan BGP dan perutean transit.

New-AzVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2 -Location $Location2 -IpConfigurations $gwipconf2 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -Asn $VNet2ASN

Langkah 2: Sambungkan gateway TestVNet1 dan TestVNet2

Dalam contoh ini, kedua gateway berada dalam langganan yang sama. Anda dapat menyelesaikan langkah ini dalam sesi PowerShell yang sama.

1. Dapatkan kedua gateway

Membangun kembali variabel jika perlu:

$GWName1 = "VNet1GW"
$GWName2 = "VNet2GW"
$RG1 = "TestRG1"
$RG2 = "TestRG2"
$Connection12 = "VNet1toVNet2"
$Connection21 = "VNet2toVNet1"
$Location1 = "East US"
$Location2 = "East US"

Dapatkan kedua gateway.

$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet2gw = Get-AzVirtualNetworkGateway -Name $GWName2 -ResourceGroupName $RG2

2. Buat kedua koneksi

Dalam langkah ini, Anda membuat koneksi dari TestVNet1 ke TestVNet2, dan koneksi dari TestVNet2 ke TestVNet1.

TestVNet1 ke koneksi TestVNet2.

New-AzVirtualNetworkGatewayConnection -Name $Connection12 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet2gw -Location $Location1 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True

TestVNet2 ke koneksi TestVNet1.

New-AzVirtualNetworkGatewayConnection -Name $Connection21 -ResourceGroupName $RG2 -VirtualNetworkGateway1 $vnet2gw -VirtualNetworkGateway2 $vnet1gw -Location $Location2 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3' -EnableBgp $True

Penting

Pastikan untuk mengaktifkan BGP untuk KEDUA koneksi tersebut.

Setelah menyelesaikan langkah-langkah ini, koneksi dibuat setelah beberapa menit. Sesi peering BGP habis setelah koneksi VNet-ke-VNet selesai.

Jika Anda menyelesaikan ketiga bagian latihan ini, Anda telah menetapkan topologi jaringan berikut:

Diagram 4

Diagram yang menunjukkan jaringan penuh

Untuk konteksnya, mengacu pada Diagram 4, jika BGP akan dinonaktifkan antara TestVNet2 dan TestVNet1, TestVNet2 tidak akan mempelajari rute untuk jaringan lokal, Site5, dan karenanya tidak dapat berkomunikasi dengan Situs 5. Setelah Anda mengaktifkan BGP, seperti yang ditunjukkan pada Diagram 4, ketiga jaringan akan dapat berkomunikasi melalui koneksi S2S IPsec dan VNet-ke-VNet.

Langkah berikutnya

Untuk informasi selengkapnya tentang BGP, lihat Tentang BGP dan VPN Gateway.