Crea sito
28 Ottobre 2020

Officine Informatiche Roma

ICT SERVICES ROMA – BAZAAR INFORMATICO

Corso di PowerShell Lezione 8 – I comandi di networking e diagnostica

7 min read
23 / 100

Vediamo quali sono e come si usano i comandi di networking e diagnosi di rete sulla powershell.

In Windows Server 2012 R2 vi sono delle nuove funzionalità diagnostiche per isolare rapidamente i problemi di rete, queste funzioni sono disponibile solo con l’uso della powershell e non dal classico prompt dei comandi.

 

Alla scoperta delle impostazioni di sistema

Visualizzazione della configurazione corrente

Visualizzare e comprendere la configurazione di un sistema è il primo passo per poter configurare le impostazioni di rete di base tramite PowerShell.

In questa introduzione, è esattamente ciò che ci auguriamo di insegnare presentandovi alcuni cmdlet di PowerShell che descrivono informazioni di rete approfondite. Mostreremo anche un collegamento con un cmdlet PowerShell, Get-NetIPConfiguration e il suo alias GIP.

GIP è unico per visualizzare la configurazione di rete del tuo computer. GIP combina elementi che forniscono informazioni dettagliate e agiscono da “orchestrator” per fornire una visione completa di come viene configurato il sistema. Per comprendere appieno GIP, esamineremo innanzitutto i cmdlet sottostanti che utilizza.

Il primo cmdlet è Get-NetAdapter. Questo cmdlet recupera le proprietà della scheda di rete di base per tutti gli adattatori fisici collegati al sistema. Descrive il tipo di adattatore, il nome dell’adattatore, l’indirizzo MAC, la velocità di collegamento e il suo stato corrente. Per impostazione predefinita vengono restituiti solo gli adattatori visibili. Questa informazione può essere utile quando si tenta di risolvere un problema su un computer remoto. Questo ti dirà gli adattatori sul sistema in modo da sapere con cosa stai lavorando.

Powershell1

Se si esegue in un ambiente Hyper-V, è disponibile anche un cmdlet per raccogliere informazioni per le schede di rete VM su quell’host. Una NIC di macchine virtuali è l’equivalente di una scheda di rete per una macchina virtuale.

POwershell.Nell’esempio sopra abbiamo scelto una VM specifica ma puoi anche cercare tutte le schede NIC di VM specificando il carattere jolly o il carattere ‘*’ dopo il cmdlet. Di seguito è riportato un esempio di questo cmdlet.

powershell3

Get-NetIPAddress restituirà gli indirizzi IP che sono configurati su quel sistema di sistema sia per IPv6 che per IPv4. Questo può essere eseguito all’interno di una VM o sull’host.

Powershell4

Questi cmdlet forniscono una grande quantità di informazioni dettagliate.

GIP è un alias per Get-NetIPConfiguration e ha lo scopo di fornire un output conciso che fornirà una panoramica della configurazione di rete del sistema senza dover scavare nei dettagli dei cmdlet spiegati sopra. GIP fornisce gli indirizzi IPv4 / IPv6, i gateway, l’alias / descrizione / indice di interfaccia e i server DNS degli adattatori con uno stato attivo e solo le informazioni di interfaccia degli adattatori che sono inattivi.

powershell5

È possibile utilizzare il flag -Detailed con GIP per visualizzare ulteriori informazioni.

powershell6

Come la maggior parte dei cmdlet di PowerShell, Get-NetIPConfiguration restituisce oggetti ricchi di script. Ad esempio, la rotta predefinita è accessibile direttamente.

powershell 7

Test di Connettività

Windows Server 2012 R2 supporta un nuovo cmdlet per il test della connettività ICMP e TCP, denominato Test-NetConnection (TNC).

Ping e Traceroute

Ping, nslookup e tracert sono strumenti di base del commercio di reti. Tuttavia, per molti scenari, TNC è un’alternativa più adattabile a script e utilizzabile per questi strumenti. Fornisce molte più informazioni in un singolo cmdlet per aiutare a risolvere rapidamente una connessione.

Ecco un esempio di utilizzo di TNC per testare la connettività a www.xbox.com.

powershell8

L’oggetto di uscita di TNC include gli oggetti WMIv2 rilevanti della macchina locale. Ciò significa che puoi scrivere direttamente contro di loro. Di seguito è riportato un esempio di utilizzo di TNC per rinominare la scheda di rete utilizzata per impostazione predefinita per raggiungere www.xbox.com.

powershell9

L’utilizzo del flag -TraceRoute restituirà l’elenco degli host sul percorso della destinazione specificata.

powershell10

Test connettività TCP

Mentre testare la connettività ICMP è un passo comune per la risoluzione dei problemi, la maggior parte delle volte sei interessato a risolvere un problema di connettività TCP. TNC consente di testare la connettività a un host e una porta remoti specificati.

powershell1

Test connettività remote desktop

TNC ha alcune parole chiave comuni per semplificare la selezione di quale porta TCP testare. Ad esempio, per verificare la connettività del desktop remoto, utilizzare la parola chiave RDP. Nell’esempio seguente è possibile vedere che il ping è riuscito ma il test TCP sulla porta remota 3389 non è riuscito.

powershell12

IPSec e Network Isolation

Nell’esempio precedente, non ero in grado di eseguire il desktop remoto sul mio server di casa, HomeBase. Usiamo un flag dettagliato per vedere più informazioni.

powershell13

Il campo MatchingIPSecRules ci dice quali regole IPsec stanno tentando di proteggere la connessione, in questo caso le regole IPsec che il reparto IT di Microsoft ha distribuito per DirectAccess. Perché questo è PowerShell, la proprietà in realtà è un oggetto WMI ricco.

Il campo NetworkIsolationContext indica la funzionalità che le app di archiviazione di Windows devono utilizzare per accedere alla risorsa. Per consentire alle store apps di Windows di accedere a HomeBase, è necessario dichiarare la funzionalità della rete privata.

Se ti stai chiedendo perché DirectAccess non funzioni, è perché non ho fornito le credenziali della mia smartcard al sistema.

powershell 14

Scrpting Facile con TNC

Ci sono molti elementi di TNC che aiutano con lo scripting. Alcune caratteristiche chiave sono specificate di seguito:

  1. Se la risoluzione DNS non riesce sull’host specificato, viene generata un’eccezione e può essere rilevata.

  2. Utilizzando il parametro InformationLevel, è possibile far funzionare TNC in modalità “silenziosa”. Ciò significa che TNC restituisce semplicemente un booleano che indica se la connessione è riuscita o meno

powershell15

3. Quando si utilizza TNC per verificare la connettività TCP, se la connessione ha esito positivo, è possibile accedere al socket TCP utilizzando la proprietà TCPClientSocket. Questo fornisce il socket .NET connesso per ulteriori script ..

4. Il percorso, la scheda di rete e l’indirizzo IP di origine, utilizzati per la connettività, sono tutti accessibili come oggetti WMI incorporati nell’output di TNC.

5. GIP e TNC producono oggetti che possono essere serializzati in file XML. È possibile inviare gli oggetti “ricchi” tramite e-mail, invece di semplicemente tagliare e incollare l’output.

powershell16

Test di Connettività VM

Windows Server 2012 R2 aiuta anche a diagnosticare i problemi di connettività quando l’accesso alle macchine virtuali non è disponibile come negli ambienti dei service provider. Negli ambienti dei service provider, si vedrà comune vedere gli overlay dei titolari sulla rete fisica utilizzando Hyper-V Network Virtualization (HNV). Con HNV, i client possono spostare facilmente le loro sottoreti sul cloud preservando i loro attuali indirizzi IP (chiamati Customer Address o CA) e la topologia nel cloud in modo che i servizi esistenti continuino a funzionare inconsapevomente  (chiamato a, Provider Address o PA), utilizzato dal fornitore di servizi. Come risultato di questo isolamento e della ricerca indiretta, testare la connettività tra VM è impegnativo e strumenti come TNC potrebbero non sempre essere sufficienti.

Tuttavia, la diagnosi della connettività per il provider di servizi e le reti di titolari rimane importante per convalidare la configurazione dell’infrastruttura o la configurazione della distribuzione. Per aiutare a diagnosticare questi problemi, Windows Server 2012 R2 introduce due nuovi strumenti: PA Ping e Test-VMNetworkAdapter.

Provider Address (PA) Ping

PA ping consente agli amministratori di convalidare la connettività nell’infrastruttura fisica su cui sono sovrapposte le reti di titolari. Il sistema inietta i pacchetti ICMP sopra la NIC fisica della VM di origine e attende una risposta echo dalla scheda di rete fisica della VM di destinazione. Ciò consente di inviare un pacchetto ICMP da un PA all’altro. Questo strumento è disponibile nel tradizionale strumento ping con il parametro -p:

powershell17

Se non si conosce l’indirizzo del provider, è possibile eseguire una query eseguendo “Get-netvirtualizationprovideradress” e utilizzare “get-netvirtualizationlookuprecord” per individuare l’indirizzo del provider corretto corrispondente all’indirizzo IP della VM.

Test-VMNetworkAdapter

Test-VMNetworkAdapter consente agli amministratori di diagnosticare i problemi di connettività nella rete di titolari. La sfida qui è che gli amministratori potrebbero non avere accesso diretto alle macchine virtuali e quindi non possono eseguire strumenti come TNC all’interno della VM. Test-VMNetworkAdapter inietta i pacchetti ICMP sulla porta a cui è connessa la VM e attende una risposta echo dalla VM ricevente:

PS C:\> Test-VMNetworkAdapter –VMName Helen –sender –SenderIPAddress 10.20.20.5 –ReceiverIPAddress 10.20.20.6 –NextHopMacAddress f4-ce-46-2d-98-16 –VMNetworkAdapterName HelenNic RoundTripTime : 16 milliseconds

Se questo comando ha esito positivo, ciò può indicare che il problema si trova nella VM e non nella rete di titolari.

Se il NextHopMacAddress non è noto, utilizzare il cmdlet Select-NetVirtualizationNextHop per cercare diversi parametri come NextHopMACAddress dal database HNV:

powershell 18

Per motivi aziendali, si consiglia di evitare l’invio di pacchetti ping ICMP alle loro macchine virtuali tenant. Per fare ciò, utilizzare il parametro ricevitore per abilitare un risponditore ICMP in esecuzione sulla porta dello switch della VM:

powershell19

Il canale di controllo ispeziona tutti i pacchetti ed echeggia i pacchetti ICMP che contengono il numero di sequenza 100 nel loro carico utile. Questo numero può essere configurato utilizzando il parametro -SequenceNumber. Assicurarsi di utilizzare lo stesso numero di sequenza su entrambe le macchine virtuali in modo che il ricevitore possa intercettare e restituire i pacchetti ICMP corretti.

La rapida diagnostica è la chiave per ridurre i costi operativi della rete. Con le funzionalità di diagnostica aggiunte in Windows Server 2012 R2, eventuali problemi più rapidamente.

Translate »