«Tilkoblet» er det minst informative faktumet i en VPN-sak. Det registrerer at to parter har fullført et handshake, og ingenting om navnet som ble slått opp, grensesnittet pakken forlot gjennom, størrelsen, eller om den andre enden godtok den. Derfor kan én tjeneste feile mens alle andre programmer på samme bærbare maskin virker. Gå gjennom stadiene i rekkefølge, og det første som feiler, navngir feilen.

Begynn med navnet, ikke tunnelen

Slå opp før du ruter, fordi et dårlig svar gjør hver senere test meningsløs. Spør navnet via systemets resolver og sammenlign svaret med adressen programmet faktisk brukte. Et privat navn som kommer tilbake som en offentlig adresse betyr at spørringen gikk til en resolver som ikke har noe med saken å gjøre. Et navn som ikke lar seg slå opp, er samme kategori, bare høyere.

resolvectl query host.internal
getent hosts host.internal

Nettlesere med egen innstilling for sikker DNS feiler her mens resten av systemet virker. Derfor hører en klage som bare gjelder nettleseren, først hjemme på dette stadiet, før noen rører en rute. Sammenlign begge kommandoene i stedet for én, fordi getent følger NSS-veien og resolverforespørselen gjør det ikke.

Spør kjernen hvilken vei den valgte

Rutingtabellen er en preferanserekkefølge, og veien kjernen velger er ikke alltid den diagrammet viser. Spør den direkte om den aktuelle destinasjonen. Svaret navngir grensesnittet, neste hopp og kildeadressen som vil bli brukt. En pakke kan forlate tunnelen med en kildeadresse den andre enden avviser, og en mer spesifikk oppføring i den fysiske tabellen kan sende den ut gjennom Wi-Fi-grensesnittet i stedet.

ip route get 10.20.30.40
ip -brief address show

Les feltene dev, via og src i den rekkefølgen, fordi hvert av dem utelukker en ulik mistanke. Dette stadiet eier også tilstanden klienten installerte, fordi brannmurregler og ruter kan bli stående etter en unormal avslutning. Derfor er «ingen internett uten tunnelen» og «ingen internett med mindre klienten kjører» én feilfamilie, ikke to.

Test pakkestørrelsen

Et lite svar som kommer tilbake mens en stor overføring stopper, peker først på banens MTU. En enkelt sonde med do-not-fragment-biten satt, sendt inne fra tunnelen, skiller dette stadiet fra resten. Øk nyttelasten til sonden feiler, og du har tallet som betyr noe.

ping -M do -s 1400 10.20.30.40

Små sonder som lykkes mens en mappeliste eller en opplasting henger, er signaturen på dette stadiet. Klagen høres ut som påloggingsdetaljer eller en brannmurregel, og den er ingen av delene.

Tallet er en egenskap ved banen, ikke ved klienten, så en verdi som virker på en kontorforbindelse, kan feile på en mobil lenke. Ta vare på sondekommandoen sammen med saken, fordi neste person trenger samme måling. Hvis en mindre nyttelast passerer, er løsningen en clamp eller en lavere tunnel-MTU, ikke en ny cipher.

Test den andre enden

Test destinasjonen på adressen, og se deretter hva som lytter der. En avvist tilkobling og en tilkobling som aldri svarer, er forskjellige funn. Den første sier at noe kjører og ikke betjener den porten, og den andre sier at ingenting kom tilbake. Ingen av dem er et klientproblem som standard.

curl -sv http://10.20.30.41:8080/health
nc -vz -w 3 10.20.30.41 3389
ss -lnt 'sport = :8080'

Ingenting som kan nås gjennom en tunnel, kan være en tjeneste som bare lytter på 127.0.0.1, fordi lytteren aldri ser pakken. Når brannmuren på den fjerne verten tillater kontorets subnett og avviser tunnelpoolen, ser resultatet ut som en klientfeil og er det ikke. Remote Desktop eller fildeling som bryter sammen mens webtrafikken overlever, havner vanligvis her, uansett hvordan brukeren formulerer det.

Knytt klagen til ett stadium

De fleste rapportene faller i én av fem former, og hver form navngir et stadium. Ett nettsted som bare virker gjennom tunnelen, er et navnesvar eller en policy bundet til kildeadressen. Oppdateringer som feiler uten tunnelen mens surfing virker, er et navne- eller ruteproblem for den klienten.

At alt stopper når en leverandørklient starter, er installert tilstand, altså et rute- og brannmursspørsmål. Én tjeneste utilgjengelig mens resten er i orden, er den andre enden. Overføringer som stopper etter noen sekunder, er pakkestørrelse. Match formen før du kjører kommandoer, fordi den avgjør hvilke bevis som skal samles inn først.

Noter stadiet som ga den første feilen, sammen med kommandoutskriften. En sak som sier at kildeadressen var feil, med rutelinjen vedlagt, er verdt å handle på, mens en som melder at VPN-en er ødelagt, ikke er det.

Relaterte artikler