Mengonfigurasi koneksi berdampingan ExpressRoute dan Situs-ke-Situs menggunakan PowerShell

Artikel ini membantu Anda mengonfigurasi koneksi ExpressRoute dan VPN Situs-ke-Situs berdampingan. Memiliki kemampuan untuk mengonfigurasi VPN Situs-ke-Situs dan ExpressRoute memiliki beberapa kelebihan. Anda dapat mengonfigurasi VPN Situs-ke-Situs sebagai jalur kegagalan aman untuk ExpressRoute atau menggunakan VPN Situs-ke-Situs untuk terhubung ke situs yang tidak tersambung melalui ExpressRoute. Kita akan membahas langkah-langkah untuk mengonfigurasi kedua skenario dalam artikel ini. Artikel ini berlaku untuk model penyebaran Resource Manager.

Mengonfigurasi VPN Situs-ke-Situs dan koneksi ExpressRoute yang berdampingan memiliki beberapa keunggulan:

  • Anda dapat mengonfigurasi VPN Situs-ke-Situs sebagai jalur failover aman untuk ExpressRoute.
  • Atau, Anda dapat menggunakan VPN Situs-ke-Situs untuk terhubung ke situs yang tidak terhubung melalui ExpressRoute.

Langkah-langkah untuk mengonfigurasi kedua skenario dibahas dalam artikel ini. Artikel ini berlaku untuk model penyebaran Resource Manager dan menggunakan PowerShell. Anda juga dapat mengonfigurasi skenario ini menggunakan portal Microsoft Azure, meskipun dokumentasi belum tersedia. Anda dapat mengonfigurasi salah satu gateway terlebih dahulu. Biasanya, Anda tidak akan mengalami waktu henti saat menambahkan gateway atau koneksi gateway baru.

Catatan

Jika Anda ingin membuat VPN Situs-ke-Situs melalui sirkuit ExpressRoute, lihat artikel ini.

Batasan dan pembatasan

  • Hanya gateway VPN berbasis rute yang didukung. Anda harus menggunakan VPN Gateway berbasis rute. Anda juga dapat menggunakan gateway VPN berbasis rute dengan koneksi VPN yang dikonfigurasi untuk 'pemilih lalu lintas berbasis kebijakan' seperti yang dijelaskan di Menyambungkan ke beberapa perangkat VPN berbasis kebijakan.
  • Konfigurasi berdampingan ExpressRoute-VPN Gateway tidak didukung pada SKU Dasar.
  • Jika Anda ingin menggunakan perutean transit antara ExpressRoute dan VPN, ASN Azure VPN Gateway harus diatur ke 65515 dan Azure Route Server harus digunakan. Azure VPN Gateway mendukung protokol perutean BGP. Agar ExpressRoute dan Azure VPN bekerja sama, Anda harus mempertahankan Nomor Sistem Otonom gateway Azure VPN Anda pada nilai defaultnya, 65515. Jika sebelumnya Anda memilih ASN selain 65515 dan mengubah pengaturan menjadi 65515, Anda harus menyetel ulang gateway VPN agar pengaturan diterapkan.
  • Subnet gateway harus /27 atau awalan yang lebih pendek,(seperti /26, /25) atau Anda akan menerima pesan kesalahan saat menambahkan gateway jaringan virtual ExpressRoute.
  • Koeksistensi di vnet tumpukan ganda tidak didukung. Jika Anda menggunakan dukungan ExpressRoute IPv6 dan gateway ExpressRoute tumpukan ganda, koeksistensi dengan VPN Gateway tidak akan mungkin terjadi.

Desain konfigurasi

Mengonfigurasi VPN Situs-ke-Situs sebagai jalur kegagalan untuk ExpressRoute

Anda dapat mengonfigurasi koneksi VPN Situs-ke-Situs sebagai cadangan untuk ExpressRoute. Koneksi ini hanya berlaku untuk jaringan virtual yang ditautkan ke jalur peering privat Azure. Tidak ada solusi kegagalan berbasis VPN untuk layanan yang dapat diakses melalui peering Azure Microsoft. Sirkuit ExpressRoute selalu menjadi penghubung utama. Data akan mengalir melalui jalur VPN Situs-ke-Situs hanya jika sirkuit ExpressRoute gagal. Untuk menghindari perutean asimetris, konfigurasi jaringan lokal Anda juga harus lebih memilih sirkuit ExpressRoute daripada VPN Situs-ke-Situs. Anda dapat lebih memilih jalur ExpressRoute dengan menetapkan preferensi lokal yang lebih tinggi untuk rute yang diterima ExpressRoute.

Catatan

Jika Anda mengaktifkan ExpressRoute Microsoft Peering, Anda dapat menerima alamat IP publik gateway Azure VPN Anda di koneksi ExpressRoute. Untuk menyiapkan koneksi VPN situs-ke-situs Anda sebagai cadangan, Anda harus mengonfigurasi jaringan lokal agar koneksi VPN dirutekan ke Internet.

Catatan

Meskipun sirkuit ExpressRoute lebih disukai daripada VPN Situs-ke-Situs ketika kedua rutenya sama, Azure akan menggunakan awalan terpanjang yang cocok untuk memilih rute menuju tujuan paket.

Diagram yang menunjukkan koneksi VPN Situs-ke-Situs sebagai cadangan untuk ExpressRoute.

Konfigurasikan VPN Situs-ke-Situs untuk menyambungkan ke situs yang tidak tersambung melalui ExpressRoute

Anda dapat mengonfigurasi jaringan Anda dengan beberapa situs terhubung langsung ke Azure melalui VPN Situs-ke-Situs dan beberapa situs terhubung melalui ExpressRoute.

Berdampingan

Memilih langkah-langkah yang akan digunakan

Ada dua set prosedur berbeda untuk dipilih. Prosedur konfigurasi yang Anda pilih akan tergantung pada apakah Anda memiliki jaringan virtual yang sudah ada yang ingin Anda sambungkan atau Anda ingin membuat jaringan virtual baru.

  • Saya tidak memiliki VNet dan perlu membuatnya.

    Jika Anda belum memiliki jaringan virtual, prosedur ini akan memandu Anda membuat jaringan virtual baru menggunakan model penyebaran Resource Manager dan membuat koneksi ExpressRoute serta VPN Situs-ke-Situs baru. Untuk mengonfigurasi jaringan virtual, ikuti langkah-langkah di Untuk membuat jaringan virtual baru dan koneksi koeksistensi.

  • Saya sudah memiliki VNet model penyebaran Resource Manager.

    Anda mungkin sudah memiliki jaringan virtual dengan koneksi VPN Situs-ke-Situs atau koneksi ExpressRoute yang ada. Dalam skenario ini jika prefiks subnet gateway adalah /28 atau lebih panjang (/29, /30, dll.), Anda harus menghapus gateway yang ada. Bagian Untuk mengonfigurasi koneksi koeksistensi untuk VNet yang sudah ada memandu Anda menghapus gateway, lalu membuat koneksi ExpressRoute dan VPN Situs-ke-Situs baru.

    Jika Anda menghapus dan membuat ulang gateway, Anda akan memiliki waktu henti untuk koneksi lintas lokal Anda. Namun, VM dan layanan Anda tetap dapat berkomunikasi melalui penyeimbang muatan saat Anda mengonfigurasi gateway Anda jika dikonfigurasi untuk melakukannya.

Sebelum Anda mulai

Langkah-langkah dan contoh dalam artikel ini menggunakan modul Az Azure PowerShell. Untuk memasang modul Az secara lokal di komputer Anda, lihat Memasang Azure PowerShell. Untuk mempelajari selengkapnya tentang modul Az baru, lihat Memperkenalkan modul Az Azure PowerShell baru. Cmdlet PowerShell sering diperbarui. Jika Anda tidak menjalankan versi terbaru, nilai yang ditetapkan dalam instruksi mungkin gagal. Untuk menemukan versi PowerShell yang diinstal di sistem Anda, gunakan cmdlet Get-Module -ListAvailable Az.

Anda dapat menggunakan Azure Cloud Shell untuk menjalankan sebagian besar perintah cmdlet PowerShell dan CLI, ketimbang menginstal Azure PowerShell atau CLI secara lokal. Azure Cloud Shell adalah shell interaktif gratis yang memiliki alat Azure umum yang telah diinstal sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda. Untuk menjalankan segala kode yang terkandung dalam artikel ini di Azure Cloud Shell, buka sesi Cloud Shell, gunakan tombol Salin pada blok kode untuk menyalin kode, dan menempelkannya ke sesi Cloud Shell dengan Ctrl+Shift+V di Windows dan Linux, atau Cmd+Shift+V di macOS. Teks yang ditempelkan tidak dijalankan secara otomatis, tekan Enter untuk menjalankan kode.

Ada beberapa cara untuk membuka Cloud Shell:

Opsi Link
Pilih Coba di sudut kanan atas blok kode. Cloud Shell dalam artikel ini
Buka Cloud Shell di browser Anda. https://shell.azure.com/powershell
Pilih tombol Cloud Shell pada menu pada bagian kanan atas di portal Microsoft Azure. Cloud Shell di portal

Untuk membuat jaringan virtual baru dan koneksi koeksistensi

Prosedur ini memandu Anda membuat VNet serta koneksi Situs-ke-Situs dan ExpressRoute yang akan berdampingan. cmdlet yang Anda gunakan untuk konfigurasi ini mungkin sedikit berbeda dari apa yang mungkin Anda kenal. Pastikan untuk menggunakan cmdlet yang ditentukan dalam petunjuk ini.

  1. Masuk dan pilih langganan Anda.

    Jika Anda menggunakan Azure Cloud Shell, Anda masuk ke akun Azure Anda secara otomatis setelah mengklik 'Coba'. Untuk masuk secara lokal, buka konsol PowerShell Anda dengan hak istimewa yang lebih tinggi dan jalankan cmdlet untuk terhubung.

    Connect-AzAccount
    

    Jika Anda memiliki lebih dari satu langganan, dapatkan daftar langganan Azure Anda.

    Get-AzSubscription
    

    Tentukan langganan yang ingin Anda gunakan.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. Tetapkan variabel.

    $location = "Central US"
    $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location
    $VNetASN = 65515
    
  3. Buat jaringan virtual termasuk Gateway Subnet. Untuk informasi selengkapnya tentang membuat jaringan virtual, lihat Membuat jaringan virtual. Untuk informasi selengkapnya tentang membuat subnet, lihat Membuat subnet

    Penting

    Subnet Gateway harus /27 atau awalan yang lebih pendek (seperti /26 atau /25).

    Membuat VNet baru.

    $vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
    

    Tambahkan subnet.

    Add-AzVirtualNetworkSubnetConfig -Name "App" -VirtualNetwork $vnet -AddressPrefix "10.200.1.0/24"
    Add-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet -AddressPrefix "10.200.255.0/24"
    

    Simpan konfigurasi VNet.

    $vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  4. Selanjutnya, buat gateway VPN Situs-ke-Situs Anda. Untuk informasi selengkapnya tentang konfigurasi gateway VPN, lihat Mengonfigurasi VNet dengan koneksi Situs-ke-Situs. GatewaySku hanya didukung untuk gateway VPN VpnGw1, VpnGw2, VpnGw3, Standar, dan HighPerformance. Konfigurasi berdampingan ExpressRoute-VPN Gateway tidak didukung pada SKU Dasar. VpnType harus RouteBased.

    $gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    $gwIP = New-AzPublicIpAddress -Name "VPNGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic
    $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "VPNGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id
    New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
    

    Gateway Azure VPN mendukung protokol perutean BGP. Anda dapat menentukan ASN (Nomor AS) untuk Jaringan Virtual tersebut dengan menambahkan sakelar -Asn dalam perintah berikut. Tidak menentukan parameter tersebut akan default ke nomor AS 65515.

    $azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1" -Asn $VNetASN
    

    Catatan

    Untuk gateway yang ada berdampingan, Anda harus menggunakan ASN default 65515. Lihat Batas dan pembatasan.

    Anda dapat menemukan IP peering BGP dan nomor AS yang digunakan Azure untuk gateway VPN di $azureVpn.BgpSettings.BgpPeeringAddress dan $azureVpn.BgpSettings.Asn. Untuk informasi selengkapnya, lihat Mengonfigurasi BGP untuk Azure VPN Gateway.

  5. Buat entitas gateway VPN situs lokal. Perintah ini tidak mengonfigurasi gateway VPN lokal Anda. Sebaliknya, ini memungkinkan Anda menyediakan pengaturan gateway lokal, seperti IP publik dan ruang alamat lokal, agar gateway Azure VPN dapat terhubung ke sana.

    Jika perangkat VPN lokal Anda hanya mendukung perutean statis, Anda dapat mengonfigurasi rute statis dengan cara berikut:

    $MyLocalNetworkAddress = @("10.100.0.0/16","10.101.0.0/16","10.102.0.0/16")
    $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress *<Public IP>* -AddressPrefix $MyLocalNetworkAddress
    

    Jika perangkat VPN lokal Anda mendukung BGP dan Anda ingin mengaktifkan perutean dinamis, Anda perlu mengetahui IP peering BGP dan nomor AS yang digunakan perangkat VPN lokal Anda.

    $localVPNPublicIP = "<Public IP>"
    $localBGPPeeringIP = "<Private IP for the BGP session>"
    $localBGPASN = "<ASN>"
    $localAddressPrefix = $localBGPPeeringIP + "/32"
    $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress $localVPNPublicIP -AddressPrefix $localAddressPrefix -BgpPeeringAddress $localBGPPeeringIP -Asn $localBGPASN
    
  6. Konfigurasikan perangkat VPN lokal Anda untuk terhubung ke gateway Azure VPN baru. Untuk informasi selengkapnya tentang konfigurasi perangkat VPN, lihat Konfigurasi Perangkat VPN.

  7. Tautkan gateway VPN Situs-ke-Situs di Azure ke gateway lokal.

    $azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName
    New-AzVirtualNetworkGatewayConnection -Name "VPNConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $azureVpn -LocalNetworkGateway2 $localVpn -ConnectionType IPsec -SharedKey <yourkey>
    
  8. Jika Anda menghubungkan ke sirkuit ExpressRoute yang ada, lewati langkah 8 & 9, kemudian lompat ke langkah 10. Konfigurasikan sirkuit ExpressRoute. Untuk informasi selengkapnya tentang mengonfigurasi sirkuit ExpressRoute, lihat membuat sirkuit ExpressRoute.

  9. Konfigurasikan peering privat Azure melalui sirkuit ExpressRoute. Untuk informasi selengkapnya tentang mengonfigurasi peering privat Azure melalui sirkuit ExpressRoute, lihat mengonfigurasi peering

  10. Buat gateway ExpressRoute. Untuk informasi selengkapnya tentang konfigurasi gateway ExpressRoute, lihat Konfigurasi gateway ExpressRoute. GatewaySKU harus Standar, HighPerformance, atau UltraPerformance.

    $gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    $gwIP = New-AzPublicIpAddress -Name "ERGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic
    $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "ERGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id
    $gw = New-AzVirtualNetworkGateway -Name "ERGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "ExpressRoute" -GatewaySku Standard
    
  11. Tautkan gateway ExpressRoute ke sirkuit ExpressRoute. Setelah langkah ini selesai, koneksi antara jaringan lokal Anda dan Azure, melalui ExpressRoute, berhasil dibuat. Untuk informasi selengkapnya tentang operasi tautan, lihat Menautkan VNet ke ExpressRoute.

    $ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup"
    New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute
    

Untuk mengonfigurasi koneksi koeksistensi untuk VNet yang sudah ada

Jika Anda memiliki jaringan virtual yang hanya memiliki satu gateway jaringan virtual (katakanlah, gateway VPN Situs-ke-Situs) dan Anda ingin menambahkan gateway lain dengan jenis yang berbeda (katakanlah, gateway ExpressRoute), periksa ukuran subnet gateway. Jika subnet gateway berukuran /27 atau lebih besar, Anda dapat melewati langkah-langkah di bawah ini dan mengikuti langkah-langkah di bagian sebelumnya untuk menambahkan gateway VPN Situs-ke-Situs atau gateway ExpressRoute. Jika subnet gateway berukuran /28 atau /29, Anda harus terlebih dahulu menghapus gateway jaringan virtual dan menambah ukuran subnet gateway. Langkah-langkah di bagian ini akan menunjukkan kepada Anda cara melakukannya.

cmdlet yang Anda gunakan untuk konfigurasi ini mungkin sedikit berbeda dari apa yang mungkin Anda kenal. Pastikan untuk menggunakan cmdlet yang ditentukan dalam petunjuk ini.

  1. Hapus gateway ExpressRoute atau VPN Situs-ke-Situs yang sudah ada.

    Remove-AzVirtualNetworkGateway -Name <yourgatewayname> -ResourceGroupName <yourresourcegroup>
    
  2. Hapus Subnet Gateway.

    $vnet = Get-AzVirtualNetwork -Name <yourvnetname> -ResourceGroupName <yourresourcegroup> Remove-AzVirtualNetworkSubnetConfig -Name GatewaySubnet -VirtualNetwork $vnet
    
  3. Tambahkan Subnet Gateway yang berukuran /27 atau lebih besar.

    Catatan

    Jika Anda tidak memiliki cukup alamat IP yang tersisa di jaringan virtual Anda untuk meningkatkan ukuran subnet gateway, Anda perlu menambahkan lebih banyak ruang alamat IP.

    $vnet = Get-AzVirtualNetwork -Name <yourvnetname> -ResourceGroupName <yourresourcegroup>
    Add-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet -AddressPrefix "10.200.255.0/24"
    

    Simpan konfigurasi VNet.

    $vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  4. Pada titik ini, Anda memiliki jaringan virtual tanpa gateway. Untuk membuat gateway baru dan menyiapkan koneksi, gunakan contoh berikut:

    Tetapkan variabel.

    $gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    $gwIP = New-AzPublicIpAddress -Name "ERGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic
    $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "ERGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id
    

    Buat gateway.

    $gw = New-AzVirtualNetworkGateway -Name <yourgatewayname> -ResourceGroupName <yourresourcegroup> -Location <yourlocation> -IpConfigurations $gwConfig -GatewayType "ExpressRoute" -GatewaySku Standard
    

    Buat koneksi.

    $ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup"
    New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute
    

Untuk menambahkan konfigurasi point-to-site ke gateway VPN

Anda dapat mengikuti langkah-langkah di bawah ini untuk menambahkan konfigurasi Point-to-Site ke gateway VPN Anda dalam penyiapan koeksistensi. Untuk mengunggah sertifikat akar VPN, Anda harus menginstal PowerShell secara lokal ke komputer Anda atau menggunakan portal Microsoft Azure.

  1. Tambahkan kumpulan alamat Klien VPN.

    $azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $azureVpn -VpnClientAddressPool "10.251.251.0/24"
    
  2. Unggah sertifikat akar VPN ke Azure untuk gateway VPN Anda. Dalam contoh ini, diasumsikan bahwa sertifikat akar disimpan di mesin lokal tempat cmdlet PowerShell berikut dijalankan dan bahwa Anda menjalankan PowerShell secara lokal. Anda juga dapat mengunggah sertifikat menggunakan portal Microsoft Azure.

    $p2sCertFullName = "RootErVpnCoexP2S.cer" 
    $p2sCertMatchName = "RootErVpnCoexP2S" 
    $p2sCertToUpload=get-childitem Cert:\CurrentUser\My | Where-Object {$_.Subject -match $p2sCertMatchName} 
    if ($p2sCertToUpload.count -eq 1){write-host "cert found"} else {write-host "cert not found" exit} 
    $p2sCertData = [System.Convert]::ToBase64String($p2sCertToUpload.RawData) 
    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $p2sCertFullName -VirtualNetworkGatewayname $azureVpn.Name -ResourceGroupName $resgrp.ResourceGroupName -PublicCertData $p2sCertData
    

Untuk informasi selengkapnya tentang VPN Point-to-Site, lihat Mengonfigurasi koneksi Point-to-Site.

Untuk mengaktifkan perutean transit antara ExpressRoute dan Azure VPN

Jika Anda ingin mengaktifkan konektivitas di antara salah satu jaringan lokal Anda yang tersambung ke ExpressRoute dan jaringan lokal Lain yang tersambung ke koneksi VPN situs-ke-situs, Anda harus menyiapkan Azure Route Server.

Langkah berikutnya

Untuk informasi selengkapnya tentang ExpressRoute, lihat FAQ ExpressRoute.