Azure CLI kullanarak sanal makine ağ yönlendirme sorununu tanılama
Bu makalede, diğer kaynaklarla doğru iletişim kurmasını engelleyen bir VM yönlendirme sorununu gidermek ve tanılamak için Azure Ağ İzleyicisi sonraki atlama aracını kullanmayı öğreneceksiniz.
Önkoşullar
Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
Azure Cloud Shell veya Azure CLI.
Bu makaledeki adımlar, Azure Cloud Shell'de Azure CLI komutlarını etkileşimli olarak çalıştırır. Komutları Cloud Shell'de çalıştırmak için kod bloğunun sağ üst köşesindeki Cloud Shell'i Aç'ı seçin. Kodu kopyalamak için Kopyala'yı seçin ve çalıştırmak için Cloud Shell'e yapıştırın. Cloud Shell'i Azure portalından da çalıştırabilirsiniz.
Komutları çalıştırmak için Azure CLI'yi yerel olarak da yükleyebilirsiniz. Bu makale, Azure CLI 2.0 veya sonraki bir sürümü gerektirir. Yüklü sürümü bulmak için az --version komutunu çalıştırın. Azure CLI'yı yerel olarak çalıştırıyorsanız az login komutunu kullanarak Azure'da oturum açın .
Sanal makine oluşturun
Sanal makine oluşturabilmeniz için sanal makineyi içerecek bir kaynak grubu oluşturmanız gerekir. az group create ile bir kaynak grubu oluşturun. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur:
az group create --name myResourceGroup --location eastus
az vm create ile bir VM oluşturun. SSH anahtarları, varsayılan anahtar konumunda zaten mevcut değilse komut bunları oluşturur. Belirli bir anahtar kümesini kullanmak için --ssh-key-value
seçeneğini kullanın. Aşağıdaki örnek, myVm adlı bir sanal makine oluşturur:
az vm create \
--resource-group myResourceGroup \
--name myVm \
--image Ubuntu2204 \
--generate-ssh-keys
Sanal makinenin oluşturulması birkaç dakika sürer. VM oluşturulana ve Azure CLI çıktı döndürene 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 Sonraki atlama kullan bölümüne atlayın. Doğu ABD bölgesinde bir ağ izleyicisi oluşturmak için az network watcher configure komutunu kullanın:
az network watcher configure \
--resource-group NetworkWatcherRG \
--locations eastus \
--enabled
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 az network watcher show-next-hop 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:
az network watcher show-next-hop \
--dest-ip 13.107.21.200 \
--resource-group myResourceGroup \
--source-ip 10.0.0.4 \
--vm myVm \
--nic myVmVMNic \
--out table
Birkaç saniye sonra çıkış, nextHopType değerinin İnternet olduğunu ve routeTableId değerinin System Route 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:
az network watcher show-next-hop \
--dest-ip 172.31.0.100 \
--resource-group myResourceGroup \
--source-ip 10.0.0.4 \
--vm myVm \
--nic myVmVMNic \
--out table
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 az network nic show-effective-route-table komutuyla ağ arabirimi için geçerli yolları gözden geçirin:
az network nic show-effective-route-table \
--resource-group myResourceGroup \
--name myVmVMNic
Döndürülen çıkışa aşağıdaki metin eklenir:
{
"additionalProperties": {
"disableBgpRoutePropagation": false
},
"addressPrefix": [
"0.0.0.0/0"
],
"name": null,
"nextHopIpAddress": [],
"nextHopType": "Internet",
"source": "Default",
"state": "Active"
},
Sonraki atlamayı kullan bölümünde 13.107.21.200 ile giden iletişimi test etmek için komutunu kullandığınızdaaz network watcher show-next-hop
, çıkıştaki başka bir yol adresi içermediğinden trafiği adrese yönlendirmek için Adrese düzeltme 0.0.0.0/0** adresine sahip yol kullanılmıştır. Varsayılan olarak, başka bir yolun adres ön ekinde belirtilmeyen tüm adresler İnternet'e yönlendirilir.
Ancak 172.31.0.100 ile giden iletişimi test etmek için komutunu kullandığınızda az network watcher show-next-hop
, sonuç size sonraki atlama türü olmadığını bildirmiş oldu. Döndürülen çıktıda aşağıdaki metni de görürsünüz:
{
"additionalProperties": {
"disableBgpRoutePropagation": false
},
"addressPrefix": [
"172.16.0.0/12"
],
"name": null,
"nextHopIpAddress": [],
"nextHopType": "None",
"source": "Default",
"state": "Active"
},
Komutun az network watcher nic show-effective-route-table
çıkışında görebileceğiniz gibi, 172.31.0.100 adresini içeren 172.16.0.0/12 ön ekine giden 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 değilse, az group delete komutunu kullanarak kaynak grubunu ve içerdiği tüm kaynakları kaldırabilirsiniz:
az group delete --name myResourceGroup --yes
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.