VPN Gateway için BGP'yi 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, her iki ağ geçidini ön eklerin ilgili ağ geçitlerinden veya yönlendiricilerden geçmeye yönelik kullanılabilirliği ve ulaşılabilirliği konusunda bilgilendiren “yolları” değiştirmek amacıyla, VPN Gateways ve BGP eşlikleri veya komşuları olarak adlandırılan şirket içi VPN cihazlarınızı etkinleştirir. 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 dikkat edilmesi gerekenleri 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 çok bağlantılı geçiş ağı oluşturmak için bu bölümleri birleştirebilirsiniz.
Diyagram 1
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
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 kopyalayıp PowerShell konsolunuza 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, diğeri de Arka Uç 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, TestVNet1 için ASN'yi (AS Numarası) ayarlamak için Rota Tabanlı VPN ağ geçidi ve ek bir -Asn parametresi gerektirir. -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 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. Bu adres, VPN ağ geçidini şirket içi VPN cihazlarınız için BGP Eş Olarak yapılandırmak için gereklidir.
CloudShell kullanıyorsanız, ağ geçidinizi oluştururken oturum zaman aşımına uğradıysa değişkenlerinizi yeniden kurmanız gerekebilir.
Gerekirse değişkenleri yeniden kurar:
$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 çıkış:
$vnet1gw.BgpSettingsText
{
"Asn": 65010,
"BgpPeeringAddress": "10.12.255.30",
"PeerWeight": 0
}
BgpPeeringAddress'in 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 ağlar arası bağlantı kurma
Şirket içi 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
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 alınacak 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" /32 ön ekidir.
- Bu ağa bağlanmak için BGP kullanıyorsanız ön eki boş bırakabilirsiniz. Azure VPN ağ geçidi, BGP eş IP adresinizin bir yolunu ilgili IPsec tüneline dahili olarak ekler.
- 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ızda 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ı kurma
Bu bölüm, Diyagram 4'te gösterildiği gibi BGP ile sanal ağdan sanal ağa bağlantı ekler.
Diyagram 4
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 IP adresi alanı olan TestVNet2'nin sanal ağ aralıklarınızın hiçbiriyle ç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 aktarım yönlendirmesini 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 kurar:
$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 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 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
Bağlam açısından, Diyagram 4'e göre, BgP TestVNet2 ile TestVNet1 arasında 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. Diyagram 4'te gösterildiği gibi BGP'yi etkinleştirdiğinizde, üç 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.