Bir sanal makine yönlendirme sorununu tanılama

Bu makalede, bir sanal makinedeki (VM) ağ arabirimi için etkili yolları görüntüleyerek yönlendirme sorununu tanılamayı öğreneceksiniz. Azure, her sanal ağ alt ağı için birkaç varsayılan yol oluşturur. Bir yönlendirme tablosunda yolları tanımlayıp yol tablosunu bir alt ağ ile ilişkilendirerek Azure'ın varsayılan yollarını geçersiz kılabilirsiniz. Sınır ağ geçidi protokolü (BGP) aracılığıyla oluşturduğunuz yolların, Azure'ın varsayılan yollarının ve bir Azure VPN ağ geçidi (sanal ağınız şirket içi ağınıza bağlıysa) aracılığıyla şirket içi ağınızdan yayılan yolların birleşimi, bir alt ağdaki tüm ağ arabirimleri için etkili yollardır. Sanal ağ, ağ arabirimi veya yönlendirme kavramları hakkında bilginiz yoksa 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 ile bir Linux veya Windows VM dağıtın. Bu makaledeki örnekler myVMNic1 adlı ağ arabirimine sahip myVM adlı bir VM'ye yöneliktir. VM ve ağ arabirimi myResourceGroup adlı bir kaynak grubunda ve Doğu ABD bölgesindedir. Sorunu tanılamak istediğiniz VM için adımlardaki değerleri uygun şekilde değiştirin.

Azure portal kullanarak tanılama

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

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

  3. Sol taraftaki Ayarlar'ın altında Ağ'ı seçin ve adını seçerek ağ arabirimi kaynağına gidin. Ağ arabirimlerini görüntüleme

  4. Sol tarafta Geçerli yollar'ı seçin. myVMNic1 adlı bir ağ arabirimi için geçerli yollar aşağıdaki resimde gösterilmiştir: Geçerli yolları görüntüleme

    VM'ye bağlı birden çok ağ arabirimi varsa, herhangi bir ağ arabirimi için geçerli yolları seçerek görüntüleyebilirsiniz. Her ağ arabirimi farklı bir alt ağda olabileceğinden, her ağ arabiriminin farklı etkili yolları olabilir.

    Önceki resimde gösterilen örnekte, listelenen yollar Azure'ın her alt ağ için oluşturduğu varsayılan yollardır. Listenizde en azından bu yollar bulunur, ancak başka bir sanal ağ ile eşlenme veya Azure VPN ağ geçidi üzerinden şirket içi ağınıza bağlanma gibi sanal ağınız için etkinleştirmiş olabileceğiniz özelliklere bağlı olarak ek yollar olabilir. Ağ arabiriminiz için görebileceğiniz yolların ve diğer yolların her biri hakkında daha fazla bilgi edinmek için bkz. Sanal ağ trafiği yönlendirme. Listenizde çok sayıda yol varsa, yolların listesini içeren bir .csv dosyası indirmek için İndir'i seçmeniz daha kolay olabilir.

Önceki adımlarda geçerli yollar VM üzerinden görüntülense de, geçerli yolları şu yollardan da görüntüleyebilirsiniz:

PowerShell kullanarak tanılama

Not

Azure ile etkileşime geçmek 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.

Aşağıdaki komutları Azure Cloud Shell veya bilgisayarınızdan PowerShell çalıştırarak çalıştırabilirsiniz. Azure Cloud Shell ücretsiz bir etkileşimli kabukdur. Yaygın Azure araçları, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır. PowerShell'i bilgisayarınızdan çalıştırırsanız, Azure PowerShell modülüne (sürüm 1.0.0 veya üzeri) ihtiyacınız vardır. 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 komutunu da çalıştırmanız Connect-AzAccount gerekir.

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

Get-AzEffectiveRouteTable `
  -NetworkInterfaceName myVMNic1 `
  -ResourceGroupName myResourceGroup `
  | 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 ek tanılama vedikkat edilmesi gerekenler bölümüne bakın.

Ağ arabiriminin adını bilmiyorsanız ancak ağ arabiriminin bağlı olduğu VM'nin adını biliyorsanız, aşağıdaki komutlar bir VM'ye bağlı tüm ağ arabirimlerinin kimliklerini döndürür:

$VM = Get-AzVM -Name myVM `
  -ResourceGroupName myResourceGroup
$VM.NetworkProfile

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

NetworkInterfaces
-----------------
{/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic1

Önceki çıkışta, ağ arabirimi adı myVMNic1'dir.

Azure CLI kullanarak tanılama

Aşağıdaki komutları Azure Cloud Shell veya CLI'yı bilgisayarınızdan çalıştırarak ç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, gerekli izinlere sahip bir hesapla Azure'da da çalıştırmanız az login ve oturum açmanız gerekir.

az network nic show-effective-route-table ile bir ağ arabirimi için geçerli yolları alın. Aşağıdaki örnek, myResourceGroup adlı bir kaynak grubunda yer alan myVMNic1 adlı ağ arabirimi için geçerli yolları alır:

az network nic show-effective-route-table \
  --name myVMNic1 \
  --resource-group myResourceGroup

Çı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 ek tanılama vedikkat edilmesi gerekenler bölümüne bakın.

Ağ arabiriminin adını bilmiyorsanız ancak ağ arabiriminin bağlı olduğu VM'nin adını biliyorsanız, aşağıdaki komutlar bir VM'ye bağlı tüm ağ arabirimlerinin kimliklerini döndürür:

az vm show \
  --name myVM \
  --resource-group myResourceGroup

Bir sorunu çözme

Yönlendirme sorunlarının çözülmesi genellikle şunlardan oluşur:

  • Azure'ın varsayılan yollarından birini geçersiz kılmak için özel yol ekleme. Özel yol eklemeyi öğrenin.
  • Istenmeyen bir konuma yönlendirmeye neden olabilecek özel bir yolu değiştirin veya kaldırın. Özel bir yolu değiştirmeyi veya silmeyi öğrenin.
  • Tanımladığınız özel yolları içeren yol tablosunun ağ arabiriminin bulunduğu alt ağ ile ilişkilendirildiğinden emin olun. Yönlendirme tablosunu alt ağ ile ilişkilendirmeyi öğrenin.
  • Azure VPN ağ geçidi veya dağıttığınız ağ sanal gereçleri gibi cihazların çalışır durumda olduğundan emin olma. Azure VPN ağ geçidiyle ilgili sorunları belirlemek için Ağ İzleyicisi VPN tanılama özelliğini kullanın.

İletişim sorunları yaşamaya devam ediyorsanız bkz . Önemli Noktalar ve Ek tanılama.

Dikkat edilmesi gerekenler

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

  • Yönlendirme, tanımladığınız yollar, sınır ağ geçidi protokolü (BGP) ve sistem yolları arasındaki en uzun ön ek eşleşmesini (LPM) temel alır. Aynı LPM eşleşmesine sahip birden fazla yol varsa yönlendirmeye genel bakış bölümünde listelenen sırayla kaynağı temel alınarak bir yol seçilir. Geçerli rotalarla, yalnızca tüm kullanılabilir yolları temel alarak LPM eşleşmesi olan geçerli yolları görebilirsiniz. Yolların bir ağ arabirimi için nasıl değerlendirildiğini görmek, VM'nizden gelen iletişimi etkileyebilecek belirli yollarda sorun gidermeyi çok daha kolay hale getirir.
  • Bir ağ sanal gerecine (NVA) özel yollar tanımladıysanız ve sonraki atlama türü sanal gereci ise trafiği alan NVA'da IP iletmenin etkinleştirildiğinden veya paketlerin bırakıldığından emin olun. Ağ arabirimi için IP iletmeyi etkinleştirme hakkında daha fazla bilgi edinin. Ayrıca, NVA içindeki işletim sisteminin veya uygulamanın da ağ trafiğini iletebilmesi ve bunu yapacak şekilde yapılandırılması gerekir.
  • 0.0.0.0/0'a giden bir yol oluşturduysanız, 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 yol ile çalışmayabilir. Zorlamalı tünel etkinleştirilebilir:
    • Siteden siteye VPN kullanırken, sonraki atlama türü VPN Gateway olan bir yol oluşturarak. Zorlamalı tüneli 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 düzgün ç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 sistemi içinde yalnızca birincil ağ arabirimine varsayılan bir 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.

Ek tanılama

  • 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'nin 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, cihazlar için yönlendirmeyi nasıl yapılandırdığınıza bağlı olarak İnternet'ten bir VM'ye bağlanamayabilirsiniz. Cihaz için yapılandırdığınız 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