Karma VPN bağlantısında sorun giderme

Azure Virtual Network
Azure VPN Gateway

Bu makalede, şirket içi ağ ile Azure arasındaki VPN ağ geçidi bağlantısı sorunlarını gidermeye yönelik bazı ipuçları verilmektedir. VPN ile ilgili yaygın sorunları giderme hakkında genel bilgi için bkz. VPN ile ilgili yaygın sorunları giderme.

VPN gerecinin düzgün çalıştığını doğrulayın

Aşağıdaki öneriler şirket içi VPN cihazınızın düzgün çalışıp çalışmadığını belirlemek için yararlıdır.

VPN uygulaması tarafından oluşturulan günlük dosyalarının hata veya arıza içerip içermediğine bakın. Bu, VPN cihazının düzgün çalışıp çalışmadığını belirlemenize yardımcı olur. Bu bilgilerin konumu cihazınıza göre değişir. Örneğin, Windows Server 2012'de RRAS kullanıyorsanız, RRAS hizmetinde hata olayı bilgilerini görüntülemek için aşağıdaki PowerShell komutunu kullanabilirsiniz:

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

Her girişin İleti özelliği hatanın bir açıklamasını sağlar. Sık karşılaşılan örneklerden bazıları şunlardır:

  • RRAS VPN ağ arabirimi yapılandırmasında Azure VPN ağ geçidi için yanlış bir IP adresi belirtildiğinden bağlanamama.

    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          :
    
  • RRAS VPN ağ arabirimi yapılandırmasında yanlış paylaşılan anahtar belirtiliyor.

    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          :
    

RRAS hizmeti aracılığıyla bağlanma girişimleri hakkında bilgi edinmek için olay günlüğünde aşağıdaki PowerShell komutunu kullanabilirsiniz:

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

Bağlanma hatası durumunda, bu günlük şunlara benzer hatalar içerir:

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          :

Bağlantıyı doğrulama

VPN ağ geçidi üzerinde bağlantı ve yönlendirmeyi doğrulayın. VPN cihazı Azure VPN Gateway üzerinden trafiği doğru yönlendirmiyor olabilir. VPN ağ geçidi üzerinde bağlantı ve yönlendirmeyi doğrulamak için PsPing gibi bir araç kullanın. Örneğin, bir şirket içi makineden VNet üzerinde bulunan bir web sunucusuna bağlantıyı test etmek için aşağıdaki komutu çalıştırın (<<web-server-address>> değerini web sunucusunun adresi ile değiştirin):

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

Şirket içi makine trafiği web sunucusuna yönlendirebiliyorsa, aşağıdakine benzer bir çıktı görmeniz gerekir:

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

Şirket içi makine belirtilen hedefle iletişim kuramıyorsa şunlar gibi iletiler görürsünüz:

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

Şirket içi güvenlik duvarının VPN trafiğinin geçmesine izin verdiğinden ve doğru bağlantı noktalarının açıldığından emin olun.

Şirket içi VPN cihazının Azure VPN ağ geçidi ile uyumlu bir şifreleme yöntemini kullanmasını sağlayın. İlke tabanlı yönlendirme için Azure VPN ağ geçidi AES256, AES128 ve 3DES şifreleme algoritmalarını destekler. Rota tabanlı ağ geçitleri AES256 ve 3DES destekler. Daha fazla bilgi için bkz. Siteden Siteye VPN Gateway bağlantıları için VPN cihazları ve IPsec/IKE parametreleri hakkında.

Azure VPN ağ geçidiyle ilgili sorunları denetleme

Aşağıdaki öneriler, Azure VPN ağ geçidi ile ilgili bir sorun varsa bu sorunu belirlemek için yararlıdır:

Olası sorunlara karşı Azure VPN ağ geçidi tanılama günlüklerini inceleyin. Daha fazla bilgi için bkz. Adım Adım: Azure Resource Manager Sanal Ağ Geçidi Tanılama Günlüklerini Yakalama.

Azure VPN ağ geçidi ve şirket içi VPN cihazının aynı paylaşılan kimlik doğrulama anahtarı ile yapılandırıldığından emin olun. Aşağıdaki Azure CLI komutu kullanarak Azure VPN ağ geçidi tarafından depolanan paylaşılan anahtarı görüntüleyebilirsiniz:

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

Bu cihaz için yapılandırılan paylaşılan anahtarı göstermek için şirket içi VPN cihazınızda uygun komutu kullanın.

Azure VPN ağ geçidinin bulunduğu GatewaySubnet alt ağının bir NSG ile ilişkili olmadığından emin olun.

Aşağıdaki Azure CLI komutu kullanarak alt ağ ayrıntılarını görüntüleyebilirsiniz:

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

Ağ Güvenlik Grubu Kimliği adlı bir veri alanı olmadığından emin olun. Aşağıdaki örnekte, atanmış bir NSG’ye (VPN-Gateway-Group) sahip bir GatewaySubnet’in bir örneği için sonuçlar gösterilmiştir. Bu durum, bu NSG için tanımlanmış kurallar varsa ağ geçidinin doğru çalışmasını engelleyebilir.

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

Azure VNet’teki sanal makinelerin VNet dışından gelen trafiğe izin verecek şekilde yapılandırıldığını doğrulayın. Bu sanal makineleri içeren alt ağlar ile ilişkili NSG kurallarını denetleyin. Aşağıdaki Azure CLI komutunu kullanarak tüm NSG kurallarını görüntüleyebilirsiniz:

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

Azure VPN ağ geçidinin bağlı olduğunu doğrulayın. Azure VPN bağlantısının geçerli durumunu denetlemek için aşağıdaki Azure PowerShell komutunu kullanabilirsiniz. <<connection-name>> parametresi, sanal ağ geçidi ve yerel ağ geçidini bağlayan Azure VPN bağlantısının adıdır.

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

Aşağıdaki kod parçacıkları, ağ geçidinin (ilk örnek) bağlı ve bağlantısı kesilmiş (ikinci örnek) olduğu durumlardaki çıktıları gösterir:

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
...

Çeşitli sorunlar

Aşağıdaki öneriler, konak VM yapılandırması, ağ bant genişliği kullanımı veya uygulama performansı ile ilgili bir sorun varsa belirlemek için yararlıdır:

  • Güvenlik duvarı yapılandırmasını doğrulayın. Alt ağdaki Azure VM’lerinde çalışan konuk işletim sisteminin güvenlik duvarının şirket içi IP aralıklarından gelen, izin verilen trafiğe izin verecek şekilde doğru yapılandırıldığını doğrulayın.

  • Trafik hacminin Azure VPN ağ geçidi için kullanılabilir bant genişliği sınırına yakın olmadığından emin olun. Bunu nasıl doğrulayacağınız şirket içinde çalışan VPN cihazınıza bağlıdır. Örneğin, Windows Server 2012'de RRAS kullanıyorsanız, VPN bağlantısından alınan ve aktarılan verilerin hacmini izlemek için Performans İzleyicisi'ni kullanabilirsiniz. RAS Toplam nesnesini kullanarak, Alınan Bayt/Sn ve Aktarılan Bayt/Sn sayaçlarını seçin:

    VPN ağ trafiğini izlemeye yönelik performans sayaçları

    Sonuçları VPN ağ geçidi için kullanılabilir bant genişliğiyle karşılaştırmalısınız (Temel SKU için 100 Mb/sn ile VpnGw3 SKU için 1,25 Gb/sn):

    Örnek VPN ağ performansı grafiği

  • Uygulama yükünüz için doğru sayıda ve boyutta VM'ler dağıttığınızdan emin olun. Azure VNet’teki sanal makinelerden herhangi birinin yavaş çalışıp çalışmadığını belirleyin. Yavaş çalışan VM’ler varsa, bunlar aşırı yüklenmiş olabilir, yükü işlemek için yeterli sayıda olmayabilir veya yük dengeleyici düzgün yapılandırılmamış olabilir. Bunu belirlemek için tanılama bilgilerini toplayın ve analiz edin. Azure portalını kullanarak sonuçları inceleyebilirsiniz, ancak performans verileri hakkında ayrıntılı öngörüler sağlayabilen çok sayıda üçüncü taraf araç da vardır.

    Kötü amaçlı kaynak tükenmesine karşı korunmaya yardımcı olmak için Azure DDoS Koruması kullanabilirsiniz. Uygulama tasarımı en iyi yöntemleriyle birlikte Azure DDoS Koruması, DDoS saldırılarına karşı daha fazla savunma sağlamak için gelişmiş DDoS azaltma özellikleri sağlar. Herhangi bir çevre sanal ağında Azure DDOS Koruması'nı etkinleştirmeniz gerekir.

  • Uygulamanın bulut kaynaklarını verimli kullanıldığından emin olun. Uygulamaların kaynakları en iyi şekilde kullandığından emin olmak için her VM’de çalıştırılan uygulama kodlarını izleyin. Application Insights gibi araçları kullanabilirsiniz.

Sonraki adımlar

Ürün belgeleri:

Microsoft Learn modülleri: