Hvorfor en fungerende VPN stadig får timeout på svaret
At en anmodning når en privat server, er kun den ene halvdel af udvekslingen. Svaret skal finde tunnelklienten gennem den tilsigtede gateway, rute eller oversættelse.
Anmodningen ankommer, serveren logger den, og klienten rapporterer stadig en timeout. Den kombination betyder, at svaret ikke fandt vej tilbage, og det er en af de få fejl, du kan bekræfte fra begge ender på én gang. Kør kontrollerne i rækkefølge, og stop når en af dem fejler.
Begynd med hvor anmodningen ankom
Bekræft, at pakken nåede tjenesten, før du undersøger noget andet. En loglinje på serversiden, en forbindelsestæller eller en tilladt optagelse i den fjerne ende besvarer alle det samme spørgsmål, og deres fravær sender dig tilbage til tunnelen i stedet for videre til svaret. Det er den kontrol, der adskiller et videresendelsesproblem fra et returvejsproblem.
Hvis anmodningen aldrig ankom, så stop her. Tunnelen, routing til det private præfiks eller adgangsreglen er emnet, og returvejen er endnu ikke relevant. Notér også den kildeadresse, serveren så. Den er enten den puljeadresse, klienten fik, eller en oversat adresse, og den forskel afgør, hvilken af de senere kontroller der gælder.
Svaret har brug for en rute til puljen
En fjernadgangsklient får normalt en adresse fra en pulje, og det private netværk har brug for en rute tilbage til den pulje. En server, hvis standardrute peger på dens egen gateway, giver pakken videre til den gateway, som ikke aner hvor puljen ligger, så svaret dør der. Klienten ser en timeout, fordi intet kom tilbage, og det kan ikke skelnes fra en anmodning, der aldrig forlod maskinen.
Kontrollér den rute, serveren vælger til klientadressen, og ikke den rute, den bruger til sit eget subnet. De to opslag kan give forskellige svar, og det andet er det, der betyder noget her. Oversættelse er det alternative design, og det ændrer, hvad serveren ser. Det kan forenkle en returvej, og det fjerner også den oprindelige klientadresse fra serverens logfiler, hvilket påvirker enhver regel eller rapport, der bygger på det felt.
Sammenlign optagelsen på serveren med optagelsen på gatewayen
Sammenlign det, der forlader serveren, med det, der ankommer til gatewayen. En optagelse på serverens udgående interface og en optagelse på tunnelgatewayen besvarer forskellige halvdele af spørgsmålet, og afstanden mellem dem lokaliserer tabet.
ip route get 10.90.0.14
tcpdump -ni any host 10.90.0.14 and port 443
ip route show table all | grep 10.90.0.0| Where the reply stops | What it proves |
|---|---|
| Request in the server log, nothing on its outbound capture | The server picked a gateway that cannot reach the pool |
| Reply leaves the server but never shows up at the gateway | Loss on the LAN path, not on the tunnel |
| Reply reaches the gateway but not the client | Return translation or tunnel policy, not the server route |
En anmodning, som gatewayen selv genererer, er en dårlig erstatning for en klienttest, fordi den stammer fra en anden adresse og møder andre regler. Derfor kan et vellykket ping fra gatewayen og en mislykket anmodning fra klienten begge være sande.
Når der sidder flere routere på vejen, så kontrollér hver enkelt, der har brug for en rute til puljen. Et site-til-site-design kræver ofte, at det fjerne præfiks er kendt på mere end én enhed, og gatewayen selv skal videresende mellem tunnelen og LAN'et; strongSwan-noterne om videresendelse dækker sysctl- og firewallsiden af det.
Notér puljen, præfikset og ejeren
Fire fakta hører i noten: den pulje, klienten fik, det private præfiks, den havde brug for, den router, der er ansvarlig for svaret, og oversættelsesreglen, hvis der findes en. Med dem er en senere gatewayændring en sammenligning og ikke en undersøgelse.
Test derefter igen med en almindelig klient og den rigtige applikationskonto. At udvide applikationens rettigheder kan ikke reparere en pakkes returvej, og en kontoadring under denne diagnose vil forvirre den næste sammenligning. Hvis designet hviler på oversættelse, så dokumentér det der, hvor serverens logfiler læses. Den person, der ser en ukendt kildeadresse i et revisionsspor, bør ikke skulle genopdage mappingen fra en sag.