Aracılığıyla paylaş


bgp'yi VPN Gateway için yapılandırma: PowerShell

Bu makale, Azure PowerShell kullanarak şirket içi siteler arası (S2S) VPN bağlantılarında ve VNet-VNet bağlantılarında BGP'yi etkinleştirmenize yardımcı olur. Bu tür yapılandırmayı bilmiyorsanız, bu makalenin Azure portal sürümünü kullanmayı daha kolay bulabilirsiniz.

BGP iki veya daha fazla ağ arasında yönlendirme ve ulaşılabilirlik bilgilerini takas etmek üzere İnternet’te yaygın olarak kullanılan standart yönlendirme protokolüdür. BGP, VPN ağ geçitlerinin ve BGP eşleri veya komşular olarak adlandırılan şirket içi VPN cihazlarınızın, söz konusu ağ geçitleri veya yönlendiriciler üzerinden geçmesi için her iki ağ geçidini de kullanılabilirlik ve ulaşılabilirlik konusunda bilgilendirecek "yolları" değiştirmesine olanak tanır. BGP ayrıca bir BGP ağ geçidinin öğrendiği yolları bir BGP eşliğinden diğer tüm BGP eşliklerine yayarak birden fazla ağ arasında geçiş yönlendirmesi sağlayabilir.

BGP'nin avantajları hakkında daha fazla bilgi edinmek ve BGP kullanmanın teknik gereksinimlerini ve önemli noktaları anlamak için bkz. BGP ve Azure VPN Gateway hakkında.

Başlarken

Bu makalenin her bölümü, ağ bağlantınızda BGP'yi etkinleştirmek için temel bir yapı taşı oluşturmanıza yardımcı olur. Üç bölümü de tamamlarsanız (ağ geçidinde BGP'yi, S2S bağlantısını ve Sanal Ağdan Sanal Ağa bağlantıyı yapılandırın) Topolojiyi Diyagram 1'de gösterildiği gibi oluşturursunuz. Gereksinimlerinizi karşılayan daha karmaşık bir çoklu bağlantı geçişi ağı oluşturmak için bu bölümleri birleştirebilirsiniz.

Diyagram 1

Ağ mimarisini ve ayarlarını gösteren diyagram.

VPN ağ geçidi için BGP'yi etkinleştirme

Bu bölüm, diğer iki yapılandırma bölümündeki adımlardan herhangi birini gerçekleştirmeden önce gereklidir. Aşağıdaki yapılandırma adımları, Diyagram 2'de gösterildiği gibi VPN ağ geçidinin BGP parametrelerini ayarlar.

Diyagram 2

Sanal ağ geçidi ayarlarını gösteren diyagram.

Başlamadan önce

Bu alıştırmanın adımlarını tarayıcınızda Azure Cloud Shell kullanarak çalıştırabilirsiniz. Bunun yerine PowerShell'i doğrudan bilgisayarınızdan kullanmak istiyorsanız Azure Resource Manager PowerShell cmdlet'lerini yükleyin. PowerShell cmdlet'lerini yükleme hakkında daha fazla bilgi için bkz. Azure PowerShell'i yükleme ve yapılandırma.

VNet1 oluşturma ve yapılandırma

1. Değişkenlerinizi bildirme

Bu alıştırma için değişkenleri bildirerek başlayacağız. Aşağıdaki örnek, bu alıştırmanın değerlerini kullanarak değişkenleri bildirir. Bu tür yapılandırmaya alışmak için adımları çalıştırıyorsanız örnek değişkenleri (abonelik adı dışında) kullanabilirsiniz. Değişkenleri değiştirin ve powershell konsolunuza kopyalayıp yapıştırın. Üretim için yapılandırma sırasında bu değerleri kendi değerlerinizle değiştirdiğinizden emin olun.

$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. Aboneliğinize bağlanın ve yeni bir kaynak grubu oluşturun

Resource Manager cmdlet'lerini kullanmak için PowerShell moduna geçtiğinize emin olun. Daha fazla bilgi için Windows PowerShell’i Resource Manager ile kullanma konusuna bakın.

Azure Cloud Shell kullanıyorsanız hesabınıza otomatik olarak bağlanırsınız. Bilgisayarınızdan PowerShell kullanıyorsanız PowerShell konsolunuzu açın ve hesabınıza bağlanın. Bağlanmanıza yardımcı olması için aşağıdaki örneği kullanın:

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

Ardından yeni bir kaynak grubu oluşturun.

New-AzResourceGroup -Name $RG1 -Location $Location1

3. TestVNet1 oluşturma

Aşağıdaki örnek, TestVNet1 adlı bir sanal ağ ve biri GatewaySubnet, biri FrontEnd ve diğeri De Backend adlı üç alt ağ oluşturur. Kendi değerlerinizi yerleştirirken ağ geçidi alt ağınızı özellikle GatewaySubnet olarak adlandırmanız önem taşır. Başka bir ad kullanırsanız ağ geçidi oluşturma işleminiz başarısız olur.

$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

BGP etkinken VPN ağ geçidi oluşturma

1. IP ve alt ağ yapılandırmalarını oluşturma

Sanal ağınız için oluşturacağınız ağ geçidine bir genel IP adresi ayrılmasını isteyin. Ayrıca gerekli alt ağ ve IP yapılandırmalarını da tanımlayacaksınız.

$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. AS numarasıyla VPN ağ geçidi oluşturma

TestVNet1 için sanal ağ geçidini oluşturun. BGP için bir Route-Based VPN ağ geçidi ve ayrıca TestVNet1 için ASN'yi (AS Numarası) ayarlamak için ek bir - Asn parametresi gerekir. -Asn parametresini belirttiğinizden emin olun. -Asn parametresini ayarlamazsanız, ASN 65515 (bu yapılandırma için çalışmaz) varsayılan olarak atanır. Bir ağ geçidini oluşturmak biraz zaman alabilir (tamamlanması 45 dakika ya da daha fazla sürer).

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

Ağ geçidi oluşturulduktan sonra, BGP ile şirket içi ve dışı ağlar arası bağlantı veya sanal ağdan sanal ağa bağlantı kurmak için bu ağ geçidini kullanabilirsiniz.

3. Azure BGP Eş IP adresini alma

Ağ geçidi oluşturulduktan sonra, VPN ağ geçidinde BGP Eş IP adresini almanız gerekir. Vpn ağ geçidini şirket içi VPN cihazlarınız için BGP Eş Olarak yapılandırmak için bu adres gereklidir.

CloudShell kullanıyorsanız, ağ geçidinizi oluştururken oturum zaman aşımına uğradıysa değişkenleri yeniden kurmanız gerekebilir.

Gerekirse değişkenleri yeniden oluşturma:

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

Aşağıdaki komutu çalıştırın ve çıkıştan "BgpPeeringAddress" değerini not edin.

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

Örnek çıktı:

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

BgpPeeringAddress değerinin IP adresi olarak görüntülendiğini görmüyorsanız ağ geçidiniz hala yapılandırılıyordur. Ağ geçidi tamamlandığında yeniden deneyin.

BGP ile şirket içi ve dışı bağlantı kurma

Şirket içi ağlar arası bağlantı kurmak için, şirket içi VPN cihazınızı temsil eden bir yerel ağ geçidi ve siteden siteye bağlantı oluşturma bölümünde açıklandığı gibi VPN ağ geçidini yerel ağ geçidine bağlamak için bir bağlantı oluşturmanız gerekir. Aşağıdaki bölümler, Diyagram 3'te gösterilen BGP yapılandırma parametrelerini belirtmek için gereken özellikleri içerir.

Diyagram 3

IPsec yapılandırmasını gösteren diyagram.

Devam etmeden önce, önceki bölümde VPN ağ geçidi için BGP'yi etkinleştirdiğinizden emin olun.

1. Adım: Yerel ağ geçidini oluşturma ve yapılandırma

1. Değişkenlerinizi bildirme

Bu alıştırma diyagramda gösterilen yapılandırmayı oluşturmaya devam eder. Değerleri, yapılandırma için kullanmak istediğiniz değerlerle değiştirdiğinizden emin olun. Örneğin, VPN cihazınızın IP adresine ihtiyacınız vardır. Bu alıştırmada, şu anda VPN cihazınıza bağlanmayı planlamıyorsanız geçerli bir IP adresini değiştirebilirsiniz. Daha sonra IP adresini değiştirebilirsiniz.

$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"

Yerel ağ geçidi parametreleriyle ilgili dikkate değer birkaç nokta:

  • Yerel ağ geçidi, VPN ağ geçidiyle aynı veya farklı konumda ve kaynak grubunda olabilir. Bu örnek, bunları farklı konumlardaki farklı kaynak gruplarında gösterir.
  • Yerel ağ geçidi için bildirmeniz gereken ön ek, VPN cihazınızda BGP Eş IP adresinizin ana bilgisayar adresidir. Bu durumda , "10.51.255.254/32" öğesinin /32 ön ekidir.
  • Hatırlatmak gerekirse, şirket içi ağlarınızla Azure VNet arasında farklı BGP ASN'leri kullanmanız gerekir. Bunlar aynıysa, şirket içi VPN cihazınız diğer BGP komşularıyla eşlemek için ASN'yi zaten kullanıyorsa sanal ağ ASN'nizi değiştirmeniz gerekir.

2. Site5 için yerel ağ geçidi oluşturma

Yerel ağ geçidini oluşturmadan önce kaynak grubunu oluşturun.

New-AzResourceGroup -Name $RG5 -Location $Location5

Yerel ağ geçidini oluşturun. Yerel ağ geçidi için ek iki parametreye dikkat edin: Asn ve BgpPeerAddress.

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

2. Adım: Sanal ağ geçidini ve yerel ağ geçidini bağlama

1. İki ağ geçidini alma

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

2. TestVNet1 to Site5 bağlantısını oluşturma

Bu adımda, TestVNet1'den Site5'e bağlantıyı oluşturursunuz. Bu bağlantı için BGP'yi etkinleştirmek için "-EnableBGP $True" belirtmeniz gerekir. Daha önce açıklandığı gibi, aynı VPN ağ geçidi için hem BGP hem de BGP olmayan bağlantılara sahip olmak mümkündür. Bağlantı özelliğinde BGP etkinleştirilmediği sürece, BGP parametreleri her iki ağ geçidinde de zaten yapılandırılmış olsa bile Azure bu bağlantı için BGP'yi etkinleştirmez.

Gerekirse değişkenlerinizi yeniden düzenleyin:

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

Sonra şu komutu çalıştırın:

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

Şirket içi cihaz yapılandırması

Aşağıdaki örnek, bu alıştırma için şirket içi VPN cihazınızın BGP yapılandırma bölümüne girdiğiniz parametreleri listeler:

- 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

Bağlantı birkaç dakika sonra kurulur ve IPsec bağlantısı kurulduktan sonra BGP eşleme oturumu başlatılır.

BGP ile sanal ağdan sanal ağa bağlantı oluşturma

Bu bölüm, Diyagram 4'te gösterildiği gibi BGP ile sanal ağdan sanal ağa bağlantı ekler.

Diyagram 4

Tam ağ yapılandırmasını gösteren diyagram.

Aşağıdaki yönergeler önceki adımlardan devam ediyor. TestVNet1 ve VPN ağ geçidini BGP ile oluşturmak ve yapılandırmak için öncelikle VPN ağ geçidi için BGP'yi etkinleştirme bölümündeki adımları tamamlamanız gerekir.

1. Adım: TestVNet2 ve VPN ağ geçidi oluşturma

Yeni sanal ağın (TestVNet2) IP adresi alanının herhangi bir sanal ağ aralığınızla çakışmadığından emin olmak önemlidir.

Bu örnekte sanal ağlar aynı aboneliğe aittir. Farklı abonelikler arasında sanal ağdan sanal ağa bağlantılar ayarlayabilirsiniz. Daha fazla bilgi için bkz. Sanal ağdan sanal ağa bağlantı yapılandırma. BGP'yi etkinleştirmek için bağlantılar oluştururken "-EnableBgp $True" eklediğinizden emin olun.

1. Değişkenlerinizi bildirme

Değerleri, yapılandırma için kullanmak istediğiniz değerlerle değiştirdiğinizden emin olun.

$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. Yeni kaynak grubunda TestVNet2 oluşturma

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. BGP parametreleriyle TestVNet2 için VPN ağ geçidi oluşturma

Sanal ağınız için oluşturacağınız ağ geçidine bir genel IP adresi ayrılmasını isteyin ve gerekli alt ağ ile IP yapılandırmalarını tanımlayın.

Değişkenlerinizi bildirin.

$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

AS numarasıyla VPN ağ geçidini oluşturun. VPN ağ geçitlerinizde varsayılan ASN'yi geçersiz kılmanız gerekir. BGP ve geçiş yönlendirmeyi etkinleştirmek için bağlı sanal ağların ASN'lerinin farklı olması gerekir.

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

2. Adım: TestVNet1 ve TestVNet2 ağ geçitlerini bağlama

Bu örnekte her iki ağ geçidi de aynı aboneliktedir. Bu adımı aynı PowerShell oturumunda tamamlayabilirsiniz.

1. Her iki ağ geçidini de alın

Gerekirse değişkenleri yeniden kur:

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

her iki ağ geçidini de alın.

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

2. Her iki bağlantıyı da oluşturun

Bu adımda, TestVNet1'den TestVNet2'ye bağlantıyı ve TestVNet2'den TestVNet1'e bağlantıyı oluşturursunuz.

TestVNet1 - TestVNet2 bağlantısı.

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

TestVNet2 - TestVNet1 bağlantısı.

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

Önemli

HER İkİ bağlantı için DE BGP'yi etkinleştirdiğinizden emin olun.

Bu adımlar tamamlandıktan sonra bağlantı birkaç dakika sonra kurulur. Sanal ağdan sanal ağa bağlantı tamamlandıktan sonra BGP eşleme oturumu çalışır durumda olur.

Bu alıştırmanın üç bölümünü de tamamladıysanız aşağıdaki ağ topolojisini oluşturdunuz:

Diyagram 4

Tam ağı gösteren diyagram

Bağlam olarak , Diyagram 4'e başvuruda bulunarak, TestVNet2 ile TestVNet1 arasında BGP devre dışı bırakılacaksa, TestVNet2 şirket içi ağ olan Site5'in yollarını öğrenmez ve bu nedenle Site 5 ile iletişim kuramaz. BGP'yi etkinleştirdikten sonra, Diyagram 4'te gösterildiği gibi, üç ağ da S2S IPsec ve Sanal Ağdan Sanal Ağa bağlantılar üzerinden iletişim kurabilir.

Sonraki adımlar

BGP hakkında daha fazla bilgi için bkz. BGP ve VPN Gateway hakkında.