Memecahkan masalah koneksi keluar menggunakan PowerShell
Dalam artikel ini, Anda mempelajari cara menggunakan fitur pemecahan masalah koneksi Azure Network Watcher untuk mendiagnosis dan memecahkan masalah konektivitas. Untuk informasi selengkapnya tentang pemecahan masalah koneksi, lihat gambaran umum pemecahan masalah Koneksi ion.
Prasyarat
Akun Azure dengan langganan aktif. Buat akun secara gratis.
Network Watcher diaktifkan di wilayah komputer virtual (VM) yang ingin Anda pecahkan masalahnya. Secara default, Azure mengaktifkan Network Watcher di wilayah saat Anda membuat jaringan virtual di dalamnya. Untuk informasi selengkapnya, lihat Mengaktifkan atau menonaktifkan Azure Network Watcher.
Komputer virtual dengan ekstensi VM agen Network Watcher terinstal di atasnya dan memiliki konektivitas TCP keluar berikut:
- ke 169.254.169.254 melalui port 80
- ke 168.63.129.16 melalui port 8037
Komputer virtual kedua dengan konektivitas TCP masuk dari 168.63.129.16 melalui port yang sedang diuji (untuk uji diagnostik pemindai port).
Azure Cloud Shell atau Azure PowerShell.
Langkah-langkah dalam artikel ini menjalankan cmdlet Azure PowerShell secara interaktif di Azure Cloud Shell. Untuk menjalankan perintah di Cloud Shell, pilih Buka Cloud Shell di sudut kanan atas blok kode. Pilih Salin untuk menyalin kode lalu tempelkan ke Cloud Shell untuk menjalankannya. Anda juga dapat menjalankan Cloud Shell dari dalam portal Azure.
Anda juga dapat menginstal Azure PowerShell secara lokal untuk menjalankan cmdlet. Artikel ini memerlukan modul Az PowerShell. Untuk informasi selengkapnya, lihat Cara menginstal Azure PowerShell. Untuk menemukan versi yang terinstal, jalankan
Get-InstalledModule -Name Az
. Jika Anda menjalankan PowerShell secara lokal, masuk ke Azure menggunakan cmdlet Koneksi-AzAccount.
Catatan
- Untuk menginstal ekstensi pada komputer virtual Windows, lihat Ekstensi VM agen Network Watcher untuk Windows.
- Untuk menginstal ekstensi pada komputer virtual Linux, lihat Ekstensi VM agen Network Watcher untuk Linux.
- Untuk memperbarui ekstensi yang sudah diinstal, lihat Memperbarui ekstensi VM agen Network Watcher ke versi terbaru.
Memeriksa konektivitas ke komputer virtual
Contoh ini memeriksa koneksi ke komputer virtual tujuan melalui port 80. Contoh ini mengharuskan Anda mengaktifkan Network Watcher di wilayah yang berisi VM sumber.
Contoh
$rgName = "ContosoRG"
$sourceVMName = "MultiTierApp0"
$destVMName = "Database0"
$RG = Get-AzResourceGroup -Name $rgName
$VM1 = Get-AzVM -ResourceGroupName $rgName | Where-Object -Property Name -EQ $sourceVMName
$VM2 = Get-AzVM -ResourceGroupName $rgName | Where-Object -Property Name -EQ $destVMName
$networkWatcher = Get-AzNetworkWatcher | Where-Object -Property Location -EQ -Value $VM1.Location
Test-AzNetworkWatcherConnectivity -NetworkWatcher $networkWatcher -SourceId $VM1.Id -DestinationId $VM2.Id -DestinationPort 80
Respons
Respons berikut berasal dari contoh sebelumnya. Dalam respons ini, ConnectionStatus
bersifat Tidak Dapat Dijangkau. Anda dapat melihat bahwa semua penyelidikan yang dikirim gagal. Konektivitas gagal pada appliance virtual karena NetworkSecurityRule
yang dikonfigurasi pengguna bernama UserRule_Port80, dikonfigurasi untuk memblokir lalu lintas masuk pada port 80. Informasi ini dapat digunakan untuk meneliti masalah koneksi.
ConnectionStatus : Unreachable
AvgLatencyInMs :
MinLatencyInMs :
MaxLatencyInMs :
ProbesSent : 100
ProbesFailed : 100
Hops : [
{
"Type": "Source",
"Id": "c5222ea0-3213-4f85-a642-cee63217c2f3",
"Address": "10.1.1.4",
"ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGrou
ps/ContosoRG/providers/Microsoft.Network/networkInterfaces/appNic0/ipConfigurat
ions/ipconfig1",
"NextHopIds": [
"9283a9f0-cc5e-4239-8f5e-ae0f3c19fbaa"
],
"Issues": []
},
{
"Type": "VirtualAppliance",
"Id": "9283a9f0-cc5e-4239-8f5e-ae0f3c19fbaa",
"Address": "10.1.2.4",
"ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGrou
ps/ContosoRG/providers/Microsoft.Network/networkInterfaces/fwNic/ipConfiguratio
ns/ipconfig1",
"NextHopIds": [
"0f1500cd-c512-4d43-b431-7267e4e67017"
],
"Issues": []
},
{
"Type": "VirtualAppliance",
"Id": "0f1500cd-c512-4d43-b431-7267e4e67017",
"Address": "10.1.3.4",
"ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGrou
ps/ContosoRG/providers/Microsoft.Network/networkInterfaces/auNic/ipConfiguratio
ns/ipconfig1",
"NextHopIds": [
"a88940f8-5fbe-40da-8d99-1dee89240f64"
],
"Issues": [
{
"Origin": "Outbound",
"Severity": "Error",
"Type": "NetworkSecurityRule",
"Context": [
{
"key": "RuleName",
"value": "UserRule_Port80"
}
]
}
]
},
{
"Type": "VnetLocal",
"Id": "a88940f8-5fbe-40da-8d99-1dee89240f64",
"Address": "10.1.4.4",
"ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGrou
ps/ContosoRG/providers/Microsoft.Network/networkInterfaces/dbNic0/ipConfigurati
ons/ipconfig1",
"NextHopIds": [],
"Issues": []
}
]
Memvalidasi masalah perutean
Contohn ini memeriksa konektivitas antara komputer virtual dan titik akhir jarak jauh. Contoh ini mengharuskan Anda mengaktifkan Network Watcher di wilayah yang berisi VM sumber.
Contoh
$rgName = "ContosoRG"
$sourceVMName = "MultiTierApp0"
$RG = Get-AzResourceGroup -Name $rgName
$VM1 = Get-AzVM -ResourceGroupName $rgName | Where-Object -Property Name -EQ $sourceVMName
$networkWatcher = Get-AzNetworkWatcher | Where-Object -Property Location -EQ -Value $VM1.Location
Test-AzNetworkWatcherConnectivity -NetworkWatcher $networkWatcher -SourceId $VM1.Id -DestinationAddress 13.107.21.200 -DestinationPort 80
Respons
Dalam contoh berikut, ConnectionStatus
ditunjukkan sebagai Tidak Dapat Dijangkau. Dalam detail Hops
, Anda dapat melihat di bawah Issues
bahwa lalu lintas diblokir karena UserDefinedRoute
.
ConnectionStatus : Unreachable
AvgLatencyInMs :
MinLatencyInMs :
MaxLatencyInMs :
ProbesSent : 100
ProbesFailed : 100
Hops : [
{
"Type": "Source",
"Id": "b4f7bceb-07a3-44ca-8bae-adec6628225f",
"Address": "10.1.1.4",
"ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/appNic0/ipConfigurations/ipconfig1",
"NextHopIds": [
"3fee8adf-692f-4523-b742-f6fdf6da6584"
],
"Issues": [
{
"Origin": "Outbound",
"Severity": "Error",
"Type": "UserDefinedRoute",
"Context": [
{
"key": "RouteType",
"value": "User"
}
]
}
]
},
{
"Type": "Destination",
"Id": "3fee8adf-692f-4523-b742-f6fdf6da6584",
"Address": "13.107.21.200",
"ResourceId": "Unknown",
"NextHopIds": [],
"Issues": []
}
]
Memeriksa latensi situs web
Contoh berikut memeriksa konektivitas ke situs web. Contoh ini mengharuskan Anda mengaktifkan Network Watcher di wilayah yang berisi VM sumber.
Contoh
$rgName = "ContosoRG"
$sourceVMName = "MultiTierApp0"
$RG = Get-AzResourceGroup -Name $rgName
$VM1 = Get-AzVM -ResourceGroupName $rgName | Where-Object -Property Name -EQ $sourceVMName
$networkWatcher = Get-AzNetworkWatcher | Where-Object -Property Location -EQ -Value $VM1.Location
Test-AzNetworkWatcherConnectivity -NetworkWatcher $networkWatcher -SourceId $VM1.Id -DestinationAddress https://bing.com/
Respons
Dalam respons berikut, Anda dapat melihat ConnectionStatus
ditunjukkan sebagai Dapat Dijangkau. Saat koneksi berhasil, nilai latensi diberikan.
ConnectionStatus : Reachable
AvgLatencyInMs : 1
MinLatencyInMs : 0
MaxLatencyInMs : 7
ProbesSent : 100
ProbesFailed : 0
Hops : [
{
"Type": "Source",
"Id": "1f0e3415-27b0-4bf7-a59d-3e19fb854e3e",
"Address": "10.1.1.4",
"ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/appNic0/ipConfigurations/ipconfig1",
"NextHopIds": [
"f99f2bd1-42e8-4bbf-85b6-5d21d00c84e0"
],
"Issues": []
},
{
"Type": "Internet",
"Id": "f99f2bd1-42e8-4bbf-85b6-5d21d00c84e0",
"Address": "204.79.197.200",
"ResourceId": "Internet",
"NextHopIds": [],
"Issues": []
}
]
Memeriksa konektivitas ke titik akhir penyimpanan
Contoh berikut memeriksa konektivitas dari komputer virtual ke akun penyimpanan blog. Contoh ini mengharuskan Anda mengaktifkan Network Watcher di wilayah yang berisi VM sumber.
Contoh
$rgName = "ContosoRG"
$sourceVMName = "MultiTierApp0"
$RG = Get-AzResourceGroup -Name $rgName
$VM1 = Get-AzVM -ResourceGroupName $rgName | Where-Object -Property Name -EQ $sourceVMName
$networkWatcher = Get-AzNetworkWatcher | Where-Object -Property Location -EQ -Value $VM1.Location
Test-AzNetworkWatcherConnectivity -NetworkWatcher $networkWatcher -SourceId $VM1.Id -DestinationAddress https://contosostorageexample.blob.core.windows.net/
Respons
Json berikut adalah respon contoh dari menjalankan cmdlet sebelumnya. Karena tujuannya dapat dijangkau, properti ConnectionStatus
menunjukkan sebagai Dapat Dijangkau. Anda diberikan detail mengenai jumlah hop yang diperlukan untuk mencapai blob penyimpanan dan latensi.
ConnectionStatus : Reachable
AvgLatencyInMs : 1
MinLatencyInMs : 0
MaxLatencyInMs : 8
ProbesSent : 100
ProbesFailed : 0
Hops : [
{
"Type": "Source",
"Id": "9e7f61d9-fb45-41db-83e2-c815a919b8ed",
"Address": "10.1.1.4",
"ResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/appNic0/ipConfigurations/ipconfig1",
"NextHopIds": [
"1e6d4b3c-7964-4afd-b959-aaa746ee0f15"
],
"Issues": []
},
{
"Type": "Internet",
"Id": "1e6d4b3c-7964-4afd-b959-aaa746ee0f15",
"Address": "13.71.200.248",
"ResourceId": "Internet",
"NextHopIds": [],
"Issues": []
}
]