Memecahkan masalah koneksi VPN hibrid

Azure Virtual Network
Azure VPN Gateway

Artikel ini memberikan beberapa tips untuk memecahkan masalah koneksi gateway VPN antara jaringan lokal dan Azure. Untuk informasi umum tentang pemecahan masalah kesalahan terkait VPN umum, lihat Memecahkan masalah kesalahan terkait VPN umum.

Verifikasi alat VPN berfungsi dengan benar

Rekomendasi berikut berguna untuk menentukan apakah alat VPN lokal Anda berfungsi dengan benar.

Periksa file log apa pun yang dihasilkan oleh alat VPN untuk kesalahan atau kegagalan. Ini akan membantu Anda menentukan apakah alat VPN berfungsi dengan benar. Lokasi informasi ini akan bervariasi sesuai dengan alat Anda. Misalnya, jika Anda menggunakan RRAS di Windows Server 2012, Anda dapat menggunakan perintah PowerShell berikut untuk menampilkan informasi peristiwa kesalahan untuk layanan RRAS:

Get-EventLog -LogName System -EntryType Error -Source RemoteAccess | Format-List -Property *

Properti Pesan dari setiap entri memberikan deskripsi kesalahan. Beberapa contoh Umum adalah:

  • Ketidakmampuan untuk terhubung, mungkin karena alamat IP yang salah yang ditentukan untuk gateway Azure VPN dalam konfigurasi antarmuka jaringan RRAS VPN.

    EventID            : 20111
    MachineName        : on-premises-vm
    Data               : {41, 3, 0, 0}
    Index              : 14231
    Category           : (0)
    CategoryNumber     : 0
    EntryType          : Error
    Message            : RoutingDomainID- {00000000-0000-0000-0000-000000000000}: A demand dial connection to the remote
                            interface AzureGateway on port VPN2-4 was successfully initiated but failed to complete
                            successfully because of the following error: The network connection between your computer and
                            the VPN server could not be established because the remote server is not responding. This could
                            be because one of the network devices (for example, firewalls, NAT, routers, and so on) between your computer
                            and the remote server is not configured to allow VPN connections. Please contact your
                            Administrator or your service provider to determine which device may be causing the problem.
    Source             : RemoteAccess
    ReplacementStrings : {{00000000-0000-0000-0000-000000000000}, AzureGateway, VPN2-4, The network connection between
                            your computer and the VPN server could not be established because the remote server is not
                            responding. This could be because one of the network devices (for example, firewalls, NAT, routers, and so on)
                            between your computer and the remote server is not configured to allow VPN connections. Please
                            contact your Administrator or your service provider to determine which device may be causing the
                            problem.}
    InstanceId         : 20111
    TimeGenerated      : 3/18/2016 1:26:02 PM
    TimeWritten        : 3/18/2016 1:26:02 PM
    UserName           :
    Site               :
    Container          :
    
  • Kunci bersama yang salah ditentukan dalam konfigurasi antarmuka jaringan RRAS VPN.

    EventID            : 20111
    MachineName        : on-premises-vm
    Data               : {233, 53, 0, 0}
    Index              : 14245
    Category           : (0)
    CategoryNumber     : 0
    EntryType          : Error
    Message            : RoutingDomainID- {00000000-0000-0000-0000-000000000000}: A demand dial connection to the remote
                            interface AzureGateway on port VPN2-4 was successfully initiated but failed to complete
                            successfully because of the following error: Internet key exchange (IKE) authentication credentials are unacceptable.
    
    Source             : RemoteAccess
    ReplacementStrings : {{00000000-0000-0000-0000-000000000000}, AzureGateway, VPN2-4, IKE authentication credentials are
                            unacceptable.
                            }
    InstanceId         : 20111
    TimeGenerated      : 3/18/2016 1:34:22 PM
    TimeWritten        : 3/18/2016 1:34:22 PM
    UserName           :
    Site               :
    Container          :
    

Anda juga dapat memperoleh informasi log peristiwa tentang upaya untuk terhubung melalui layanan RRAS menggunakan perintah PowerShell berikut:

Get-EventLog -LogName Application -Source RasClient | Format-List -Property *

Jika terjadi kegagalan untuk terhubung, log ini akan berisi kesalahan yang terlihat mirip dengan yang berikut:

EventID            : 20227
MachineName        : on-premises-vm
Data               : {}
Index              : 4203
Category           : (0)
CategoryNumber     : 0
EntryType          : Error
Message            : CoId={B4000371-A67F-452F-AA4C-3125AA9CFC78}: The user SYSTEM dialed a connection named
                        AzureGateway that has failed. The error code returned on failure is 809.
Source             : RasClient
ReplacementStrings : {{B4000371-A67F-452F-AA4C-3125AA9CFC78}, SYSTEM, AzureGateway, 809}
InstanceId         : 20227
TimeGenerated      : 3/18/2016 1:29:21 PM
TimeWritten        : 3/18/2016 1:29:21 PM
UserName           :
Site               :
Container          :

Verifikasi konektivitas

Verifikasi konektivitas dan perutean di seluruh gateway VPN. Alat VPN mungkin tidak routing traffic dengan benar melalui Azure VPN Gateway. Gunakan alat seperti PsPing untuk memverifikasi konektivitas dan perutean di seluruh gateway VPN. Misalnya, untuk menguji konektivitas dari mesin lokal ke server web yang terletak di VNet, jalankan perintah berikut (mengganti <<web-server-address>> dengan alamat server web):

PsPing -t <<web-server-address>>:80

Jika mesin lokal dapat merutekan lalu lintas ke server web, Anda akan melihat output yang mirip dengan yang berikut:

D:\PSTools> psping -t 10.20.0.5:80

PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 10.20.0.5:80:
Infinite iterations (warmup 1) connecting test:
Connecting to 10.20.0.5:80 (warmup): 6.21ms
Connecting to 10.20.0.5:80: 3.79ms
Connecting to 10.20.0.5:80: 3.44ms
Connecting to 10.20.0.5:80: 4.81ms

    Sent = 3, Received = 3, Lost = 0 (0% loss),
    Minimum = 3.44ms, Maximum = 4.81ms, Average = 4.01ms

Jika mesin lokal tidak dapat berkomunikasi dengan tujuan yang ditentukan, Anda akan melihat pesan seperti ini:

D:\PSTools>psping -t 10.20.1.6:80

PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 10.20.1.6:80:
Infinite iterations (warmup 1) connecting test:
Connecting to 10.20.1.6:80 (warmup): This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80:
    Sent = 3, Received = 0, Lost = 3 (100% loss),
    Minimum = 0.00ms, Maximum = 0.00ms, Average = 0.00ms

Pastikan bahwa firewall lokal memungkinkan lalu lintas VPN lewat dan port yang benar dibuka.

verifikasi bahwa alat VPN lokal menggunakan metode enkripsi yang kompatibel dengan VPN Gateway Azure. Untuk perutean berbasis kebijakan, VPN Gateway Azure mendukung algoritme enkripsi AES256, AES128, dan 3DES. Gateway berbasis rute mendukung AES256 dan 3DES. Untuk informasi selengkapnya, lihat Tentang perangkat VPN dan parameter IPsec/IKE untuk koneksi VPN Gateway Situs-ke-Situs.

Periksa masalah dengan gateway Azure VPN

Rekomendasi berikut berguna untuk menentukan apakah ada masalah dengan gateway Azure VPN:

Periksa log diagnostik gateway Azure VPN untuk masalah potensial. Untuk informasi selengkapnya, ee Step-by-Step: Menangkap Azure Resource Manager VNet Gateway Diagnostic Logs.

Pastikan bahwa gateway Azure VPN dan alat VPN lokal dikonfigurasi dengan kunci autentikasi bersama yang sama. Anda dapat melihat kunci bersama yang disimpan oleh gateway Azure VPN menggunakan perintah Azure CLI berikut:

azure network vpn-connection shared-key show <<resource-group>> <<vpn-connection-name>>

Gunakan perintah yang sesuai untuk alat VPN lokal Anda untuk menampilkan kunci bersama yang dikonfigurasi untuk alat tersebut.

Pastikan subnet GatewaySubnet yang menahan gateway Azure VPN tidak terkait dengan NSG.

Anda dapat melihat detail subnet menggunakan perintah Azure CLI berikut:

azure network vnet subnet show -g <<resource-group>> -e <<vnet-name>> -n GatewaySubnet

Pastikan tidak ada bidang data bernama Network Security Group ID. Contoh berikut menunjukkan hasil untuk instance GatewaySubnet yang memiliki NSG yang ditetapkan (VPN-Gateway-Group). Ini dapat mencegah gateway berfungsi dengan benar jika ada aturan yang ditentukan untuk NSG ini.

C:\>azure network vnet subnet show -g profx-prod-rg -e profx-vnet -n GatewaySubnet
    info:    Executing command network vnet subnet show
    + Looking up virtual network "profx-vnet"
    + Looking up the subnet "GatewaySubnet"
    data:    Id                              : /subscriptions/########-####-####-####-############/resourceGroups/profx-prod-rg/providers/Microsoft.Network/virtualNetworks/profx-vnet/subnets/GatewaySubnet
    data:    Name                            : GatewaySubnet
    data:    Provisioning state              : Succeeded
    data:    Address prefix                  : 10.20.3.0/27
    data:    Network Security Group id       : /subscriptions/########-####-####-####-############/resourceGroups/profx-prod-rg/providers/Microsoft.Network/networkSecurityGroups/VPN-Gateway-Group
    info:    network vnet subnet show command OK

Pastikan bahwa mesin virtual di Azure VNet dikonfigurasi untuk mengizinkan lalu lintas masuk dari luar VNet. Periksa aturan NSG yang terkait dengan subnet yang berisi mesin virtual ini. Anda dapat melihat semua aturan NSG menggunakan perintah Azure CLI berikut:

azure network nsg show -g <<resource-group>> -n <<nsg-name>>

Verifikasi bahwa gateway Azure VPN terhubung. Anda dapat menggunakan perintah Azure PowerShell berikut untuk memeriksa status koneksi Azure VPN saat ini. Parameter<<connection-name>> adalah nama koneksi Azure VPN yang menghubungkan gateway jaringan virtual dan gateway lokal.

Get-AzureRmVirtualNetworkGatewayConnection -Name <<connection-name>> - ResourceGroupName <<resource-group>>

Cuplikan berikut menyoroti output yang dihasilkan jika gateway tersambung (contoh pertama), dan terputus (contoh kedua):

PS C:\> Get-AzureRmVirtualNetworkGatewayConnection -Name profx-gateway-connection -ResourceGroupName profx-prod-rg

AuthorizationKey           :
VirtualNetworkGateway1     : Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
VirtualNetworkGateway2     :
LocalNetworkGateway2       : Microsoft.Azure.Commands.Network.Models.PSLocalNetworkGateway
Peer                       :
ConnectionType             : IPsec
RoutingWeight              : 0
SharedKey                  : ####################################
ConnectionStatus           : Connected
EgressBytesTransferred     : 55254803
IngressBytesTransferred    : 32227221
ProvisioningState          : Succeeded
...
PS C:\> Get-AzureRmVirtualNetworkGatewayConnection -Name profx-gateway-connection2 -ResourceGroupName profx-prod-rg

AuthorizationKey           :
VirtualNetworkGateway1     : Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
VirtualNetworkGateway2     :
LocalNetworkGateway2       : Microsoft.Azure.Commands.Network.Models.PSLocalNetworkGateway
Peer                       :
ConnectionType             : IPsec
RoutingWeight              : 0
SharedKey                  : ####################################
ConnectionStatus           : NotConnected
EgressBytesTransferred     : 0
IngressBytesTransferred    : 0
ProvisioningState          : Succeeded
...

Masalah lain-lain

Rekomendasi berikut berguna untuk menentukan apakah ada masalah dengan konfigurasi Host VM, pemanfaatan bandwidth jaringan, atau kinerja aplikasi:

  • Verifikasi Konfigurasi firewall. Pastikan firewall di sistem operasi tamu yang berjalan di AZURE VM di subnet dikonfigurasi dengan benar untuk memungkinkan lalu lintas yang diizinkan dari rentang IP lokal.

  • Pastikan bahwa volume lalu lintas tidak mendekati batas bandwidth yang tersedia untuk gateway Azure VPN. Cara memverifikasi ini tergantung pada alat VPN yang berjalan di tempat. Misalnya, jika Anda menggunakan RRAS di Windows Server 2012, Anda dapat menggunakan Performance Monitor untuk melacak volume data yang diterima dan ditransmisikan melalui koneksi VPN. Dengan menggunakan objek RAS Total, pilih penghitung Byte Received/Sec dan Bytes Transmitted/Sec:

    Penghitung kinerja untuk memantau lalu lintas jaringan VPN

    Anda harus membandingkan hasilnya dengan bandwidth yang tersedia untuk gateway VPN (dari 100 Mbps untuk SKU Dasar menjadi 1,25 Gbps untuk VpnGw3 SKU):

     Contoh grafik kinerja jaringan VPN

  • Pastikan Anda telah menerapkan nomor dan ukuran VM yang tepat untuk beban aplikasi Anda. Tentukan apakah salah satu mesin virtual di Azure VNet berjalan lambat. Jika demikian, mereka mungkin kelebihan beban, mungkin ada terlalu sedikit untuk menangani beban, atau load-balancers mungkin tidak dikonfigurasi dengan benar. Untuk menentukan hal ini, tangkap dan analisis informasi diagnostik. Anda dapat memeriksa hasilnya menggunakan portal Microsoft Azure, tetapi banyak alat pihak ketiga juga tersedia yang dapat memberikan wawasan terperinci tentang data kinerja.

    Anda dapat menggunakan Azure DDoS Protection untuk membantu melindungi dari kelelahan sumber daya berbahaya. Azure DDoS Protection, dikombinasikan dengan praktik terbaik desain aplikasi, menyediakan fitur mitigasi DDoS yang ditingkatkan untuk memberikan lebih banyak pertahanan terhadap serangan DDoS. Anda harus mengaktifkan Azure DDOS Protection di jaringan virtual perimeter apa pun.

  • Pastikan bahwa aplikasi ini memanfaatkan sumber daya cloud secara efisien. Kode aplikasi instrumen berjalan pada setiap VM untuk menentukan apakah aplikasi memanfaatkan sumber daya sebaik-baiknya. Anda dapat menggunakan alat seperti aplikasi Insights.

Langkah berikutnya

Dokumentasi produk:

Modul Microsoft Learn: