Problemen met uitgaande verbindingen oplossen met Behulp van PowerShell
In dit artikel leert u hoe u de functie voor het oplossen van verbindingsproblemen van Azure Network Watcher gebruikt om verbindingsproblemen vast te stellen en op te lossen. Zie Verbinding maken ion troubleshoot overview voor meer informatie over het oplossen van problemen met verbindingen.
Vereisten
Een Azure-account met een actief abonnement. Gratis een account maken
Network Watcher ingeschakeld in de regio van de virtuele machine (VM) die u wilt oplossen. Standaard schakelt Azure Network Watcher in een regio in wanneer u er een virtueel netwerk in maakt. Zie Azure Network Watcher in- of uitschakelen voor meer informatie.
Een virtuele machine waarop de VM-extensie network Watcher-agent is geïnstalleerd en de volgende uitgaande TCP-connectiviteit heeft:
- tot 169.254.169.254 via poort 80
- tot 168.63.129.16 via poort 8037
Een tweede virtuele machine met binnenkomende TCP-connectiviteit vanaf 168.63.129.16 via de poort die wordt getest (voor diagnostische test poortscanner).
Azure Cloud Shell of Azure PowerShell.
Met de stappen in dit artikel worden de Azure PowerShell-cmdlets interactief uitgevoerd in Azure Cloud Shell. Als u de opdrachten in Cloud Shell wilt uitvoeren, selecteert u Cloud Shell openen in de rechterbovenhoek van een codeblok. Selecteer Kopiëren om de code te kopiëren en plak deze in Cloud Shell om deze uit te voeren. U kunt Cloud Shell ook uitvoeren vanuit Azure Portal.
U kunt Azure PowerShell ook lokaal installeren om de cmdlets uit te voeren. Voor dit artikel is de Az PowerShell-module vereist. Zie Azure PowerShell installeren voor meer informatie. Voer
Get-InstalledModule -Name Az
uit om te zien welke versie is geïnstalleerd. Als u PowerShell lokaal uitvoert, meldt u zich aan bij Azure met behulp van de cmdlet Verbinding maken-AzAccount.
Notitie
- Als u de extensie op een virtuele Windows-machine wilt installeren, raadpleegt u de VM-extensie voor de Network Watcher-agent voor Windows.
- Als u de extensie op een virtuele Linux-machine wilt installeren, raadpleegt u de VM-extensie voor de Network Watcher-agent voor Linux.
- Als u een al geïnstalleerde extensie wilt bijwerken, raadpleegt u De VM-extensie network Watcher-agent bijwerken naar de nieuwste versie.
Connectiviteit met een virtuele machine controleren
In dit voorbeeld wordt een verbinding met een doel-VM gecontroleerd via poort 80. Voor dit voorbeeld moet Network Watcher zijn ingeschakeld in de regio met de bron-VM.
Opmerking
$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
Antwoord
Het volgende antwoord is afkomstig uit het vorige voorbeeld. In dit antwoord is de ConnectionStatus
optie Onbereikbaar. U kunt zien dat alle verzonden tests zijn mislukt. De connectiviteit is mislukt op het virtuele apparaat vanwege een door de gebruiker geconfigureerde benoemde NetworkSecurityRule
UserRule_Port80, geconfigureerd om binnenkomend verkeer op poort 80 te blokkeren. Deze informatie kan worden gebruikt om verbindingsproblemen te onderzoeken.
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": []
}
]
Routeringsproblemen valideren
In dit voorbeeld wordt de connectiviteit tussen een virtuele machine en een extern eindpunt gecontroleerd. Voor dit voorbeeld moet Network Watcher zijn ingeschakeld in de regio met de bron-VM.
Opmerking
$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
Antwoord
In het volgende voorbeeld wordt het ConnectionStatus
weergegeven als Onbereikbaar. In de Hops
details ziet u onder Issues
dat het verkeer is geblokkeerd vanwege een 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": []
}
]
Latentie van website controleren
In het volgende voorbeeld wordt de verbinding met een website gecontroleerd. Voor dit voorbeeld moet Network Watcher zijn ingeschakeld in de regio met de bron-VM.
Opmerking
$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/
Antwoord
In het volgende antwoord ziet u de ConnectionStatus
weergegevens als Bereikbaar. Wanneer een verbinding tot stand is gebracht, worden latentiewaarden opgegeven.
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": []
}
]
Connectiviteit met een opslageindpunt controleren
In het volgende voorbeeld wordt de connectiviteit van een virtuele machine met een blogopslagaccount gecontroleerd. Voor dit voorbeeld moet Network Watcher zijn ingeschakeld in de regio met de bron-VM.
Opmerking
$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/
Antwoord
De volgende json is het voorbeeldantwoord van het uitvoeren van de vorige cmdlet. Als het doel bereikbaar is, wordt de ConnectionStatus
eigenschap weergegeven als Bereikbaar. U krijgt de details over het aantal hops dat nodig is om de opslagblob en latentie te bereiken.
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": []
}
]