Share via


Sanal makine ağ yönlendirme sorununu tanılama - Azure PowerShell

Bu makalede, bir sanal makine (VM) dağıtacak ve ardından bir IP adresi ve URL ile iletişimleri denetleyebilirsiniz. Bir iletişim hatasının nedenini ve bu hatayı nasıl çözümleyebileceğinizi belirlersiniz.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu makale Az PowerShell modülünü gerektirir. Daha fazla bilgi için bkz . Azure PowerShell'i yükleme. Yüklü sürümü bulmak için Get-InstalledModule -Name Az komutunu çalıştırın. PowerShell'i yerel olarak çalıştırıyorsanız Bağlan-AzAccount cmdlet'ini kullanarak Azure'da oturum açın.

VM oluşturma

Sanal makine oluşturabilmeniz için sanal makineyi içerecek bir kaynak grubu oluşturmanız gerekir. New-AzResourceGroup ile bir kaynak grubu oluşturun. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

New-AzVM ile VM oluşturun. Bu adımı çalıştırırken kimlik bilgileri istenir. Girdiğiniz değerler, sanal makinenin kullanıcı adı ve parolası olarak yapılandırılır.

$vM = New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVm" `
    -Location "East US"

Sanal makinenin oluşturulması birkaç dakika sürer. Sanal makine oluşturulup PowerShell çıktı döndürünceye kadar kalan adımlara devam etmeyin.

Ağ iletişimini test etme

Ağ İzleyicisi ile ağ iletişimini test etmek için, önce test etmek istediğiniz VM'nin olduğu bölgede bir ağ izleyicisini etkinleştirmeniz ve ardından iletişimi test etmek için Ağ İzleyicisi sonraki atlama özelliğini kullanmanız gerekir.

Ağ izleyicisini etkinleştirme

Doğu ABD bölgesinde zaten etkinleştirilmiş bir ağ izleyiciniz varsa ağ izleyicisini almak için Get-AzNetworkWatcher kullanın. Aşağıdaki örnekte, NetworkWatcherRG kaynak grubunda bulunan NetworkWatcher_eastus adlı mevcut ağ izleyicisi alınır:

$networkWatcher = Get-AzNetworkWatcher `
  -Name NetworkWatcher_eastus `
  -ResourceGroupName NetworkWatcherRG

Doğu ABD bölgesinde etkinleştirilmiş bir ağ izleyiciniz yoksa, Doğu ABD bölgesinde bir ağ izleyicisi oluşturmak için New-AzNetworkWatcher kullanın:

$networkWatcher = New-AzNetworkWatcher `
  -Name "NetworkWatcher_eastus" `
  -ResourceGroupName "NetworkWatcherRG" `
  -Location "East US"

Sonraki atlamayı kullanma

Azure, varsayılan hedeflerin yollarını otomatik olarak oluşturur. Varsayılan yolları geçersiz kılmak için özel yollar oluşturabilirsiniz. Bazı durumlarda, özel yollar iletişimin başarısız olmasına neden olabilir. Bir VM'den yönlendirmeyi test etmek için Get-AzNetworkWatcherNextHop komutunu kullanarak trafik belirli bir adresi hedeflediğinde sonraki yönlendirme atlamasını belirleyin.

www.bing.com için VM'den IP adreslerinden birine giden iletişimi test edin:

Get-AzNetworkWatcherNextHop `
  -NetworkWatcher $networkWatcher `
  -TargetVirtualMachineId $VM.Id `
  -SourceIPAddress 192.168.1.4 `
  -DestinationIPAddress 13.107.21.200

Birkaç saniye sonra çıkış, NextHopType'ın İnternet olduğunu ve RouteTableId değerinin Sistem Yolu olduğunu size bildirir. Bu sonuç, hedefe giden geçerli bir yol olduğunu bilmenizi sağlar.

Sanal makineden 172.31.0.100 adresine giden iletişimi test etme:

Get-AzNetworkWatcherNextHop `
  -NetworkWatcher $networkWatcher `
  -TargetVirtualMachineId $VM.Id `
  -SourceIPAddress 192.168.1.4 `
  -DestinationIPAddress 172.31.0.100

Döndürülen çıkış, None değerinin NextHopType olduğunu ve RouteTableId değerinin de System Route olduğunu bildirir. Bu sonuç, hedefin geçerli bir sistem yolu olmasına rağmen trafiği hedefe yönlendiren bir sonraki atlama olmadığını size bildirir.

Bir yolun ayrıntılarını görüntüleme

Yönlendirmeyi daha fazla analiz etmek için Get-AzEffectiveRouteTable komutuyla ağ arabirimi için geçerli yolları gözden geçirin:

Get-AzEffectiveRouteTable `
  -NetworkInterfaceName myVm `
  -ResourceGroupName myResourceGroup |
  Format-table

Aşağıdaki metni içeren çıkış döndürülür:

Name State  Source  AddressPrefix           NextHopType NextHopIpAddress
---- -----  ------  -------------           ----------- ----------------
     Active Default {192.168.0.0/16}        VnetLocal   {}              
     Active Default {0.0.0.0/0}             Internet    {}              
     Active Default {10.0.0.0/8}            None        {}              
     Active Default {100.64.0.0/10}         None        {}              
     Active Default {172.16.0.0/12}         None        {}              

Önceki çıkışta görebileceğiniz gibi, AddressPrefix 0.0.0.0/0 olan yol, diğer yolun adres ön ekleri içindeki adresleri hedefleyen trafiğin tümünü İnternet'in sonraki atlamasıyla yönlendirir. Çıkışta da görebileceğiniz gibi, 172.31.0.100 adresini içeren 172.16.0.0/12 ön ekine yönelik varsayılan bir yol olsa da nextHopType Yok olur. Azure, 172.16.0.0/12 için varsayılan bir yol oluşturur ancak bir neden olmadıkça sonraki atlama türünü belirtmez. Örneğin, sanal ağın adres alanına 172.16.0.0/12 adres aralığını eklediyseniz, Azure nextHopType değerini yol için Sanal ağ olarak değiştirir. Ardından bir denetimde NextHopType olarak Sanal ağ gösterilir.

Kaynakları temizleme

Artık gerekli olmadığında Remove-AzResourceGroup kullanarak kaynak grubunu ve içerdiği tüm kaynakları kaldırabilirsiniz:

Remove-AzResourceGroup -Name myResourceGroup -Force

Sonraki adımlar

Bu makalede, bir VM oluşturdunuz ve VM'den ağ yönlendirmesini tanılamıştınız. Azure’un birkaç varsayılan yol oluşturduğunu öğrendiniz ve iki farklı hedefin yolunu test ettiniz. Azure'da yönlendirme ve özel yollar oluşturma hakkında daha fazla bilgi edinin.

Giden VM bağlantıları için, Ağ İzleyicisi bağlantı sorun giderme özelliğini kullanarak VM ile uç nokta arasındaki gecikme süresini ve izin verilen ve reddedilen ağ trafiğini de belirleyebilirsiniz. AĞ İZLEYICISI bağlantı izleme özelliğini kullanarak zaman içinde BIR VM ile BIR UÇ nokta arasındaki iletişimi izleyebilirsiniz. Daha fazla bilgi için bkz . Ağ bağlantısını izleme.