Come faccio a risolvere la perdita di pacchetti sulla mia connessione VPN?

5 minuti di lettura
0

Sto riscontrando una perdita di pacchetti continua o intermittente e problemi di latenza elevata sulla mia connessione VPN. Voglio eseguire dei test per assicurarmi che il problema non si verifichi all'interno del mio Amazon Virtual Private Cloud (Amazon VPC).

Risoluzione

Prima di iniziare i test delle prestazioni, avvia e configura le tue istanze Linux di Amazon Elastic Compute Cloud (Amazon EC2):

  1. Segui la procedura descritta in Avvia un'istanza per avviare istanze Linux in almeno due diverse zone di disponibilità nello stesso VPC. È possibile eseguire test delle prestazioni di rete dall'istanza.
  2. Per le migliori prestazioni di rete possibili, assicurati che le istanze supportino reti avanzate per Linux e avvia le istanze nello stesso VPC.
  3. Se stai eseguendo test di rete tra istanze che non si trovano nello stesso gruppo di posizionamento o che non supportano i frame jumbo, segui i passaggi per verificare e impostare l'MTU sulla tua istanza Linux.
  4. Completa i passaggi indicati in Connettiti alla tua istanza Linux per verificare di poter accedere alle istanze.

Usa mtr per verificare la perdita e la latenza dei pacchetti ICMP o TCP

Installa lo strumento di rete mtr su entrambe le istanze per verificare eventuali perdite e latenze di pacchetti ICMP o TCP. mtr fornisce un output continuamente aggiornato che consente di analizzare le prestazioni della rete nel tempo. Combina le funzionalità di traceroute e ping in un unico strumento di diagnostica di rete.

Installa mtr su Amazon Linux:

sudo yum install mtr

Installa mtr su Ubuntu:

sudo apt-get install mtr

Esegui i seguenti test tra l'indirizzo IP privato e pubblico delle tue istanze EC2 e il tuo host on-premise in modo bidirezionale. Il percorso tra i nodi su una rete TCP/IP può cambiare quando la direzione viene invertita. Nota: è importante ottenere risultati mtr in entrambe le direzioni.

Il primo test mtr è basato su ICMP, ma il secondo test ha l'opzione -T, che fornisce un risultato basato sul TCP. Il risultato basato su TCP consente di determinare se vi è una perdita o una latenza di pacchetti basata sull'applicazione sulla connessione. La versione MTR 0.85 e successive ha l'opzione TCP.

Test IP privati:

mtr -n -c 200 <Private IP EC2 instance/on-premises host> --report
mtr -n -T -c 200 <Private IP EC2 instance/on-premises host> --report

Test IP pubblici:

mtr -n -c 200 <Public IP EC2 instance/on-premises host> --report
mtr -n -T -c 200 <Public IP EC2 instance/on-premises host> --report

Usa l'utilità Linux traceroute per determinare problemi di latenza o routing

L'utilità Linux traceroute identifica il percorso da un nodo client a un nodo di destinazione specificato. Mostra anche il tempo in millisecondi impiegato da ciascun router identificato nel percorso per rispondere a una richiesta. Inoltre, questa utilità calcola e visualizza il tempo impiegato da ogni hop prima di raggiungere la destinazione. Se traceroute non è installato, assicurati di installarlo sulla tua istanza.

Installa traceroute su Amazon Linux:

sudo yum install traceroute

Installa traceroute su Ubuntu:

sudo apt-get install traceroute

Esegui i seguenti test tra l'indirizzo IP privato e pubblico delle tue istanze EC2 e il tuo host on-premise in modo bidirezionale. Il percorso tra i nodi su una rete TCP/IP può cambiare quando la direzione viene invertita. È importante ottenere i risultati del percorso tracciato in entrambe le direzioni. Test IP privati:

sudo traceroute <private IP of EC2 instance/on-premises host>
sudo traceroute -T -p 80 <private IP of EC2 instance/on-premises host>

Test IP pubblici:

sudo traceroute <public IP of EC2 instance/on-premises host>
sudo traceroute -T -p 80 <public IP of EC2 instance/on-premises host>

Nota: gli argomenti -T -p 80 -n eseguono una traccia basata su TCP sulla porta 80. Assicurati che la porta 80 o la porta con cui stai testando sia aperta in entrambe le direzioni.

L'opzione Linux traceroute per specificare una traccia basata su TCP anziché su ICMP è utile perché la maggior parte dei dispositivi Internet deprioritizza le richieste di traccia basate su ICMP. Alcune richieste di timeout sono frequenti, quindi fai attenzione alla perdita di pacchetti verso la destinazione o all'ultimo hop della route. Anche la perdita di pacchetti che si accumula su più passaggi può indicare un problema.

Nota: per la risoluzione dei problemi di connettività di rete tramite traceroute, è utile eseguire il comando in entrambe le direzioni.

Usa hping3 per determinare problemi di latenza o perdita di pacchetti TCP

hping è un assemblatore/analizzatore di pacchetti TCP/IP orientato alla linea di comando. Oltre alle richieste echo ICMP, supporta i protocolli TCP, UDP e RAW-IP. Ha anche una modalità traceroute, la possibilità di inviare file tra un canale coperto e molte altre funzionalità.

Se hping3 non è installato, esegui il seguente comando su Amazon Linux:

sudo yum --enablerepo=epel install hping3

Quindi, esegui i seguenti comandi:

hping3 -S -c 50 -V <Public IP of EC2 instance or on-premises host>
hping3 -S -c 50 -V <Private IP of EC2 instance or on-premises host>

Nota: per impostazione predefinita, hping3 invia le intestazioni TCP alla porta 0 dell'host di destinazione con una winsize di 64 senza alcun flag tcp attivo.

Esempi di acquisizione di pacchetti con tcpdump

È possibile eseguire l'acquisizione di pacchetti sia sulle istanze EC2 (presenti in più zone di disponibilità) sia sull'host on-premise durante la duplicazione dei problemi. Questi esempi di acquisizione dei pacchetti aiutano a determinare se ci sono problemi a livello di rete sulla connessione VPN. Installa tcpdump sulla tua istanza per eseguire l'acquisizione di pacchetti.

Installa tcpdump su Amazon Linux:

sudo yum install tcpdump

Installa tcpdump su Ubuntu:

sudo apt-get install tcpdump

Nota: consulta la documentazione specifica del fornitore per istruzioni su come controllare i dispositivi di rete per l'analisi e la risoluzione dei problemi.


Informazioni correlate

How do I benchmark network throughput on an Amazon EC2 Linux instance in the same Amazon VPC?

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa