Bir sanal makine yönlendirme sorununu tanılama

Bu makalede, bir sanal makinede (VM) bir ağ arabirimi için etkili yolları görüntüleyerek yönlendirme sorunlarını tanılamayı öğreneceksiniz. Azure, her sanal ağ alt ağı için otomatik olarak varsayılan yollar oluşturur. Bir yönlendirme tablosunda özel yollar tanımlayıp tabloyu bir alt ağ ile ilişkilendirerek bu varsayılan yolları geçersiz kılabilirsiniz. Ağ arabirimi için etkili yollar, Azure'ın varsayılan yollarının, tanımladığınız özel yolların ve sınır ağ geçidi protokolünü (BGP) kullanarak bir Azure VPN ağ geçidi aracılığıyla şirket içi ağınızdan yayılan yolların bir bileşimidir. Sanal ağlar, ağ arabirimleri veya yönlendirme konusunda yeniyseniz bkz. Sanal ağa genel bakış, Ağ arabirimi ve Yönlendirmeye genel bakış.

Senaryo

Bir VM'ye bağlanmayı denersiniz, ancak bağlantı başarısız olur. Vm'ye neden bağlanamazsınız belirlemek için Azure portalını, PowerShell'i veya Azure CLI'yı kullanarak bir ağ arabiriminin etkili yollarını görüntüleyebilirsiniz.

İzleyen adımlarda, geçerli yollarını görüntülemek için mevcut bir VM'niz olduğu varsayılır. Mevcut bir VM'niz yoksa, bu makaledeki görevleri tamamlamak için önce bir Linux veya Windows VM dağıtın. Bu makaledeki örnekler, vm-1445 adlı ağ arabirimine sahip vm-1 adlı bir VM'ye yöneliktir. VM ve ağ arabirimi test-rg adlı bir kaynak grubundadır ve Doğu ABD bölgesindedir. Adımda yer alan değerleri, problem teşhis ettiğiniz VM için uygun şekilde değiştirin.

Azure portalını kullanarak tanılama

  1. Gerekli izinlere sahip bir Azure hesabıyla Azure portalında oturum açın.

  2. Azure portalının üst kısmında, arama kutusuna çalışır durumda olan bir VM'nin adını girin. Arama sonuçlarında VM'nin adı göründüğünde seçin.

  3. bölümünü genişletin ve Ağ ayarları'nı seçin.

  4. Arabirimi seçmek için adını seçin.

    VM ayarlarında ağ arabiriminin ekran görüntüsü.

  5. Ağ arabiriminde Yardım'ı genişletin. Geçerli yollar'ı seçin.

    Ağ arabirimi etkin rotalarının ekran görüntüsü.

    Geçerli yollarını görüntülemek için istediğiniz ağ arabirimini seçin. Her arabirim farklı bir alt ağa ait olabilir ve bu da benzersiz yollar elde eder. Görüntüdeki örnekte Her alt ağ için Azure tarafından oluşturulan varsayılan yollar gösterilmektedir. Listeniz varsayılan yolları içerir ve ek yollar da içerebilir. Yollar, sanal ağ eşlemesi veya Azure VPN ağ geçidi üzerinden şirket içi ağlara bağlantılar gibi özelliklerden olabilir. Yollar hakkında ayrıntılı bilgi için bkz. Sanal ağ trafiği yönlendirme. Çok sayıda yol varsa, daha kolay gözden geçirmek üzere bunları .csv dosyası olarak kaydetmek için İndir seçeneğini kullanın.

Önceki adımlarda etkin yollar VM üzerinden görüntülense de, aşağıdakiler aracılığıyla etkili yolları da görüntüleyebilirsiniz:

PowerShell kullanarak tanılama

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Azure Cloud Shell'de veya bilgisayarınızdan PowerShell'i çalıştırarak aşağıdaki komutları çalıştırabilirsiniz. Azure Cloud Shell ücretsiz bir etkileşimli kabuk. Azure'nin yaygın araçları önceden yüklenmiş ve hesabınızla kullanım için yapılandırılmıştır. PowerShell'i bilgisayarınızdan çalıştırıyorsanız Azure PowerShell modülü, sürüm 1.0.0 veya üzeri gerekir. Yüklü sürümü bulmak için bilgisayarınızda komutunu çalıştırın Get-Module -ListAvailable Az . Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız, Azure'da gerekli izinlere sahip bir hesapla oturum açmak için de komutunu çalıştırmanız Connect-AzAccount gerekir.

Get-AzEffectiveRouteTable ile bir ağ arabirimi için etkili yolları alın. Aşağıdaki örnek, test-rg adlı bir kaynak grubundaki vm-1445 adlı ağ arabirimi için geçerli yolları alır:

$Params = @{
  NetworkInterfaceName = "vm-1445"
  ResourceGroupName    = "test-rg"
}
Get-AzEffectiveRouteTable @Params | Format-Table

Çıktıda döndürülen bilgileri anlamak için bkz . Yönlendirmeye genel bakış. Çıktı yalnızca VM çalışır durumdaysa döndürülür. VM'ye bağlı birden çok ağ arabirimi varsa, her ağ arabirimi için geçerli yolları gözden geçirebilirsiniz. Her ağ arabirimi farklı bir alt ağda olabileceğinden, her ağ arabiriminin farklı etkili yolları olabilir. İletişim sorunu yaşamaya devam ediyorsanız daha fazla tanılama ve dikkat edilmesi gerekenler bölümüne bakın.

VM adını biliyor ancak ağ arabirimi adını bilmiyorsanız, VM'ye bağlı tüm ağ arabirimlerinin kimliğini döndürmek için aşağıdaki komutları kullanın:

$Params = @{
  Name              = "vm-1"
  ResourceGroupName = "test-rg"
}
$VM = Get-AzVM @Params
$VM.NetworkProfile

Aşağıdaki örneğe benzer bir çıktı alırsınız:

NetworkInterfaces
-----------------
{/subscriptions/<ID>/resourceGroups/test-rg/providers/Microsoft.Network/networkInterfaces/vm-1445

Önceki çıkışta ağ arabirimi adı vm-1445'tir.

Azure CLI kullanarak tanılama

Azure Cloud Shell'de veya CLI'yı bilgisayarınızdan çalıştırarak izleyen komutları çalıştırabilirsiniz. Bu makale, Azure CLI 2.0.32 veya sonraki bir sürümünü gerektirir. Yüklü sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. Azure CLI'yi yerel olarak çalıştırıyorsanız, az login komutunu da çalıştırmanız ve gerekli izinlere sahip bir hesapla Azure'a giriş yapmanız gerekir.

az network nic show-effective-route-table ile bir ağ arabirimi için etkili yolları alın. Aşağıdaki komut, test-rg adlı bir kaynak grubunda yer alan vm-1445 adlı ağ arabirimi için geçerli yolları alır:

az network nic show-effective-route-table \
  --name vm-1445 \
  --resource-group test-rg

Çıktıda döndürülen bilgileri anlamak için bkz . Yönlendirmeye genel bakış. Çıktı yalnızca VM çalışır durumdaysa döndürülür. VM'ye bağlı birden çok ağ arabirimi varsa, her ağ arabirimi için geçerli yolları gözden geçirebilirsiniz. Her ağ arabirimi farklı bir alt ağda olabileceğinden, her ağ arabiriminin farklı etkili yolları olabilir. İletişim sorunu yaşamaya devam ediyorsanız daha fazla tanılama ve dikkat edilmesi gerekenler bölümüne bakın.

VM adını biliyor ancak ağ arabirimi adını bilmiyorsanız, VM'ye bağlı tüm ağ arabirimlerinin kimliğini döndürmek için aşağıdaki komutları kullanın:

az vm show \
  --name vm-1 \
  --resource-group test-rg

Sorunu çözme

Yönlendirme sorunlarını çözmek genellikle aşağıdaki yordamlardan oluşur:

İletişim sorunları yaşamaya devam ediyorsanız Göz önünde bulundurmalar ve daha fazla tanılamaya bakın.

Dikkat edilmesi gereken noktalar

İletişim sorunlarını giderirken aşağıdaki noktaları göz önünde bulundurun:

  • Yönlendirme, sistem yollarından, BGP'den ve özel yollardan en iyi yolu belirlemek için en uzun ön ek eşleşmesini (LPM) kullanır. Birden çok yol aynı LPM eşleşmesini paylaşıyorsa Azure, Yönlendirmeye genel bakış bölümünde öncelik sırasına göre bir yol seçer. Geçerli yollar yalnızca LPM ile eşleşen yolları göstererek VM iletişimini etkileyen yolların tanımlanmasını ve sorunlarının giderilmesini kolaylaştırır.

  • Özel yollar trafiği bir sonraki atlama türü olarak Sanal Cihaz ile bir Ağ Sanal Cihazına (NVA) yönlendiriyorsa, NVA'nın IP iletmesinin etkinleştirildiğinden emin olun; aksi takdirde paketler düşer. Ağ arabirimi için IP iletmeyi etkinleştirmeyi ve NVA'nın işletim sistemini veya uygulamasını trafiği iletecek şekilde yapılandırmayı öğrenin.

  • 0.0.0.0/0'a giden bir yol oluşturulursa, tüm giden İnternet trafiği NVA veya VPN ağ geçidi gibi belirttiğiniz sonraki atlamaya yönlendirilir. Böyle bir yol oluşturmak genellikle zorlamalı tünel olarak adlandırılır. İnternet'ten VM'nize RDP veya SSH protokollerini kullanan uzak bağlantılar, sonraki atlamanın trafiği nasıl işlediğine bağlı olarak bu yolla çalışmayabilir. Zorlamalı tünel etkinleştirilebilir:

    • Siteden siteye VPN kullanırken, sonraki atlama türü VPN Gateway olan bir rota oluşturarak. Zorlamalı tünel yapılandırma hakkında daha fazla bilgi edinin.
    • 0.0.0.0/0 (varsayılan yol), siteden siteye VPN veya ExpressRoute bağlantı hattı kullanılırken sanal ağ geçidi üzerinden BGP üzerinden tanıtılıyorsa. Siteden siteye VPN veya ExpressRoute ile BGP kullanma hakkında daha fazla bilgi edinin.
  • Sanal ağ eşleme trafiğinin doğru çalışması için, eşlenen sanal ağın ön ek aralığı için sonraki atlama türü VNet Eşlemesi olan bir sistem yolu bulunmalıdır. Böyle bir yol yoksa ve sanal ağ eşleme bağlantısı Bağlı ise:

  • Azure her Azure ağ arabirimine varsayılan yollar atasa da, VM'ye bağlı birden çok ağ arabiriminiz varsa, VM'nin işletim sisteminde yalnızca birincil ağ arabirimine varsayılan yol (0.0.0.0/0) veya ağ geçidi atanır. Windows veya Linux VM'sine bağlı ikincil ağ arabirimleri için varsayılan yol oluşturmayı öğrenin. Birincil ve ikincil ağ arabirimleri hakkında daha fazla bilgi edinin.

Daha fazla teşhis

  • Bir konuma yönelik trafiğin sonraki atlama türünü belirlemek üzere hızlı bir test çalıştırmak için Azure Ağ İzleyicisi'nin Sonraki atlama özelliğini kullanın. Sonraki atlama, belirtilen konuma yönelik trafik için bir sonraki atlama türünün ne olduğunu bildirir.

  • Bir VM ağ iletişiminin başarısız olmasına neden olan hiçbir yol yoksa, sorun VM'nin işletim sisteminde çalışan güvenlik duvarı yazılımından kaynaklanıyor olabilir

  • Vpn ağ geçidi veya NVA aracılığıyla şirket içi bir cihaza trafiği zorlamak istiyorsanız, yönlendirmenin cihazlar için nasıl yapılandırıldığına bağlı olarak İnternet'ten bir VM'ye bağlanamayabilirsiniz. Cihaz için yapılandırılan yönlendirmenin trafiği VM için genel veya özel bir IP adresine yönlendirdiğini onaylayın.

  • Giden iletişim sorunlarının yönlendirme, filtreleme ve işletim sistemi içi nedenlerini belirlemek için Ağ İzleyicisi bağlantı sorunlarını giderme özelliğini kullanın.

Sonraki adımlar