Grønt ikon, samme offentlige IP: hvilken rute VPN sprang over
Trayikonet viser en tunnel, ikke en standardrute. Fire opslag viser, om klienten installerede ruten, eller om udgangen aldrig oversatte din kilde.
Forbundet, grønt trayikon og en side, der viser din adresse, og som stadig rapporterer udbyderens adresse, betyder ikke automatisk en fejl. En klient udfører to adskilte opgaver: den bygger en tunnel, og den redigerer routingtabellen. Hver af dem kan ske uden den anden, og selektiv routing er den konfiguration, hvor den anden bevidst springes over.
Hvad klienten faktisk installerede
Spørg, hvilken grænseflade der ville bære en pakke til en rigtig destination, i stedet for at spørge, om tunnelen er oppe. En tunnel uden rute til den destination er en privat vej, som ingen bruger.
ip route get 9.9.9.9
Find-NetRoute -RemoteIPAddress 9.9.9.9
route print -4Den første kommando svarer på Linux og macOS, og de to andre er Windows-pendants, hvor én er nok. Hvis svaret nævner den fysiske adapter, er tunnelen oppe, og standardruten flyttede sig aldrig. Gentag opslaget for en destination, der burde bruge tunnelen, fordi to opslag, et fjernt og et almindeligt, fortæller, hvilket design der er udrullet.
Tre former for selektiv routing
En fuldtunnelprofil skriver typisk en standardrute, der peger på grænsefladen, eller skriver det par halvdelspræfikser, der vinder på præfikslængde, mens den oprindelige standardrute bliver i tabellen. Selektiv routing er det andet valg, og det findes i flere former. Én profil ruter en enkelt vært som en RDP-server, en anden ruter et offentligt interval, der skal nås fra et bestemt sted, og en tredje udelukker bevidst én applikation. Alle tre er legitime, og ingen af dem ændrer den adresse, en almindelig hjemmeside ser.
grep -nE "redirect-gateway|route-nopull|route " /etc/openvpn/client/*.conf
ip route show table main | head -20Læs profilen for det direktiv, der afgør sagen, og læs derefter tabellen for det, det producerede. Et direktiv, der skubbes ud, kan også undertrykkes på klienten, og derfor skal profilen og tabellen stemme overens, før du bebrejder serveren.
Den anden side skal omskrive kildeadressen
Der er en anden fejl, som ser identisk ud fra browseren. Ruten peger ind i tunnelen, serveren modtager pakkerne og videresender dem derefter med klientens private adresse intakt. Det næste hop har ingen returvej for den adresse, så svar forsvinder, og sider hænger. Serveren skal videresende overhovedet, og den skal oversætte kilden til noget, internettet kan rute tilbage.
sysctl net.ipv4.ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -S | grep MASQUERADENavngiv den grænseflade, der faktisk vender mod internettet, hvilket ikke altid er eth0 på en moderne distribution. En hostet server med fast adresse kan oversætte eksplicit til den adresse i stedet for at bruge masquerade. Begge halvdele betyder noget, fordi videresendelse uden oversættelse lækker ikke-rutbare kilder, mens oversættelse uden videresendelse aldrig ser pakken.
Navneopløsning tager sin egen vej
Trafik kan forlade gennem tunnelen, mens det opslag, der fandt navnet, gik til en resolver på det lokale netværk. Den synlige adresse forbliver den samme, opslagene gør ikke, og det gab er præcis, hvad et opdelt DNS-design vælger.
resolvectl status | head -20
resolvectl query example.orgBemærk, hvilken server der svarede, og om den afviger fra baseline før tunnelen. På en opdelt tunnel er det normalt den indstilling, folk ville ændre, da de klagede over adressen, og det er den, de aldrig kiggede på.
Fire observationer, der afgør sagen
Registrér udgangsadressen med tunnelen nede og derefter med den oppe. Kør destinationsopslaget i begge tilstande, og notér grænsefladen hver gang.
curl -sS https://ifconfig.me/ip
ip route get 9.9.9.9Når opslaget lander inde i tunnelen, og ekkoet stadig viser udbyderens adresse, mangler oversættelsen ved udgangen. Når opslaget lander på den fysiske adapter, er profilen selektiv, og den offentlige adresse var aldrig i spil. Erstat ekkoet med en tjeneste, du stoler på, og skriv de fire observationer ned sammen, fordi de hver for sig er anekdoter. Sammen viser de, hvilken af de to opgaver klienten faktisk udførte.