Hvorfor et fungerende VPN likevel får tidsavbrudd på svaret
At en forespørsel når en privat server, er bare halve utvekslingen. Svaret må finne tunnelklienten gjennom den tiltenkte gatewayen, ruten eller oversettelsen.
Forespørselen kommer inn, serveren logger den, og klienten rapporterer fortsatt tidsavbrudd. Den kombinasjonen betyr at svaret ikke fant veien tilbake, og det er en av de få feilene du kan bekrefte fra begge ender samtidig. Gå gjennom kontrollene i rekkefølge og stopp når en av dem feiler.
Begynn med hvor forespørselen kom inn
Bekreft at pakken nådde tjenesten før du undersøker noe annet. En logglinje på serversiden, en tilkoblingsteller eller en tillatt opptak i den fjerne enden svarer alle på det samme spørsmålet, og at de mangler sender deg tilbake til tunnelen i stedet for videre til svaret. Dette er kontrollen som skiller et videresendingsproblem fra et returveiproblem.
Hvis forespørselen aldri kom inn, stopp her. Tunnelen, rutingen til det private prefikset eller tilgangsregelen er temaet, og returveien er ennå ikke relevant. Noter også kildeadressen serveren så. Den er enten adressen fra utvalget klienten fikk, eller en oversatt adresse, og den forskjellen avgjør hvilken av de senere kontrollene som gjelder.
Svaret trenger en rute til utvalget
En fjernaksessklient får vanligvis en adresse fra et utvalg, og det private nettet trenger en rute tilbake til det utvalget. En server der standardruten peker på dens egen gateway, overlater pakken til den gatewayen, som ikke aner hvor utvalget ligger, og svaret dør der. Klienten ser et tidsavbrudd fordi ingenting kom tilbake, og det kan ikke skilles fra en forespørsel som aldri forlot maskinen.
Kontroller ruten serveren velger for klientadressen, ikke ruten den bruker for sitt eget subnett. De to oppslagene kan gi ulike svar, og det andre er det som betyr noe her. Oversettelse er det alternative designet, og det endrer hva serveren ser. Det kan forenkle en returvei, og det fjerner også den opprinnelige klientadressen fra serverens logger, noe som påvirker enhver regel eller rapport bygget på det feltet.
Sammenlign opptaket på serveren med opptaket på gatewayen
Sammenlign det som forlater serveren, med det som kommer inn til gatewayen. Et opptak på serverens utgående grensesnitt og et opptak på tunnelgatewayen svarer på forskjellige halvdeler av spørsmålet, og gapet mellom dem lokaliserer tapet.
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 forespørsel som gatewayen selv genererer, er en dårlig erstatning for en klienttest, fordi den kommer fra en annen adresse og møter andre regler. Derfor kan en vellykket ping fra gatewayen og en mislykket forespørsel fra klienten begge være sanne.
Når det sitter flere rutere på veien, kontroller hver enkelt som trenger en rute til utvalget. Et nettsted-til-nettsted-design krever ofte at det fjerne prefikset er kjent på mer enn én enhet, og gatewayen selv må videresende mellom tunnelen og LAN-et; strongSwan-notatene om videresending dekker sysctl- og brannmursiden av det.
Noter utvalget, prefikset og eieren
Fire fakta hører hjemme i notatet: utvalget klienten fikk, det private prefikset den trengte, ruteren som er ansvarlig for svaret, og oversettelsesregelen hvis den finnes. Med dem er en senere gatewayendring en sammenligning og ikke en undersøkelse.
Test deretter på nytt med en vanlig klient og den ekte applikasjonskontoen. Å utvide applikasjonens rettigheter kan ikke reparere returveien til en pakke, og en kontoadring under denne diagnosen vil forvirre den neste sammenligningen. Hvis designet hviler på oversettelse, dokumenter det der serverens logger leses. Den som ser en ukjent kildeadresse i et revisjonsspor, bør ikke måtte gjenoppdage mappingen fra en sak.