Grön ikon, samma offentliga IP: vilken väg VPN:et hoppade över
Ikonen i aktivitetsfältet visar en tunnel, inte en standardväg. Fyra kontroller visar om klienten installerade vägen eller om utgången aldrig översatte din källadress.
Ansluten, grön ikon i aktivitetsfältet och en sida som visar adressen fortfarande rapporterar leverantörens adress — det betyder inte automatiskt ett fel. Klienten utför två separata jobb: den bygger en tunnel och den redigerar routingtabellen. Endera kan ske utan det andra, och selektiv routing är konfigurationen där det andra medvetet hoppas över.
Vad klienten faktiskt installerade
Fråga vilket gränssnitt som skulle bära ett paket till en verklig destination i stället för att fråga om tunneln är uppe. En tunnel utan väg till den destinationen är en privat väg som ingen använder.
ip route get 9.9.9.9
Find-NetRoute -RemoteIPAddress 9.9.9.9
route print -4Det första kommandot svarar på Linux och macOS, och de andra två är Windows-motsvarigheterna där ett räcker. Om svaret namnger den fysiska adaptern är tunneln uppe och standardvägen flyttades aldrig. Upprepa kontrollen för en destination som borde använda tunneln, eftersom två kontroller, en avlägsen och en vanlig, säger vilken design som är driftsatt.
Tre former av selektiv routing
En fulltunnelprofil skriver vanligtvis en standardväg mot gränssnittet, eller skriver paret halvintervallsprefix som vinner på prefixlängd medan den ursprungliga standardvägen ligger kvar i tabellen. Selektiv routing är det andra valet och kommer i flera former. En profil dirigerar en enda värd, till exempel en RDP-server, en annan dirigerar ett offentligt intervall som måste nås från en viss plats, och en tredje utesluter medvetet ett program. Alla tre är legitima och ingen av dem ändrar adressen som en vanlig webbplats ser.
grep -nE "redirect-gateway|route-nopull|route " /etc/openvpn/client/*.conf
ip route show table main | head -20Läs profilen efter direktivet som avgör, läs sedan tabellen efter vad det gav. Ett påskjutet direktiv kan också undertryckas på klienten, därför måste profilen och tabellen stämma innan du skyller på servern.
Den bortre sidan måste skriva om källadressen
Det finns ett andra fel som ser identiskt ut från webbläsaren. Vägen leder in i tunneln, servern tar emot paketen och vidarebefordrar dem sedan med klientens privata adress intakt. Nästa hopp har ingen returväg för den adressen, så svar försvinner och sidor hänger sig. Servern måste vidarebefordra överhuvudtaget, och den måste översätta källan till något som internet kan routa tillbaka.
sysctl net.ipv4.ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -S | grep MASQUERADENamnge gränssnittet som faktiskt vetter mot internet, vilket på en modern distribution inte alltid är eth0. En hostad server med fast adress kan uttryckligen översätta till den adressen i stället för att använda masquerade. Båda halvorna spelar roll, eftersom vidarebefordran utan översättning läcker oroutbara källor, medan översättning utan vidarebefordran aldrig ser paketet.
Namnuppslagning tar sin egen väg
Trafiken kan lämna genom tunneln medan sökningen som hittade namnet gick till en resolver i det lokala nätet. Den synliga adressen är densamma, frågorna inte, och det gapet är precis vad en delad DNS-design väljer.
resolvectl status | head -20
resolvectl query example.orgNotera vilken server som svarade och om den skiljer sig från utgångsläget före tunneln. I en delad tunnel är detta vanligtvis inställningen folk ville ändra när de klagade på adressen, och den de aldrig tittade på.
Fyra observationer som avgör saken
Anteckna utgångsadressen med tunneln avstängd, sedan med den på. Kör destinationskontrollen i båda lägena och notera gränssnittet varje gång.
curl -sS https://ifconfig.me/ip
ip route get 9.9.9.9När kontrollen landar inne i tunneln och ekot fortfarande rapporterar leverantörens adress saknas översättningen vid utgången. När kontrollen landar på den fysiska adaptern är profilen selektiv och den offentliga adressen var aldrig i omfånget. Byt ut eko-tjänsten mot en du litar på och anteckna de fyra observationerna tillsammans, för separat är de bara anekdoter. Tillsammans visar de vilket av de två jobben klienten faktiskt utförde.