Zwee Feeler gesinn aus dem Ikon an der Taskbar d'selwecht aus: Traffic deen an den Tunnel geet an Traffic deen en diskret ëmgeet. De Client weist a béide Fäll Connected, well Connected just heescht, datt den Tunnelinterface existéiert an de Client d'Strecken installéiert huet déi en wollt. Ob ee Paket vun enger Applikatioun déi Strecken benotzt huet, ass eng eegen Fro, déi een anerer Plaz am Stack beäntwert gëtt. Véier Miessunge léisen dat meescht dovun — d'Streckesich, den éischte Sprong, eng Opnam um physeschen Adapter an eng Observatioun vun dobaussen — an d'Sessiounsusiicht um Server deckt de Rescht of.

Fänkt mat der Streck un déi de Paket hëlt

D'Routingstabell ass d'Entscheedung, freet se also no engem eenzegen Zil amplaz alles ze liesen an ze roden. Ënner Linux nennt ip route get den Interface an d'Quelladress déi de Kernel gewielt huet:

ip route get 203.0.113.10
ip route get 10.20.5.7

Ënner Windows ass Find-NetRoute -RemoteIPAddress 203.0.113.10 méi nëtzlech wéi route print -4 aus dem selwechte Grond: et mellt déi Streck déi gewonnen huet, net all Streck déi existéiert. Liest d'Tabell awer eemol wéinst hirer 0.0.0.0-Linn. E Paar /1 do heescht, datt e Full-Tunnel-Client d'Standardstreck nei geschriwwen huet: OpenVPN seng redirect-gateway def1-Optioun installéiert 0.0.0.0/1 an 128.0.0.0/1 duerch den Tunnel, wat déi existéierend 0.0.0.0/0 beim längsten Präfixmatch schléit, ouni d'physesch Standardstreck ze läschen. Dofir kënnen zwou Standardstrecken niefteneen existéieren, während alles nach ëmmer an den Tunnel geet.

Zwee Detailer maachen d'Tabell lügeg. Éischtens, kuckt de Präfix dee gepasst huet an net d'Zuel vun de Standardstrecken, well eng Interfacemetrik oder e Paar /1 de Gewënner entscheeden. Zweetens, eng Verbindung déi schonn existéiert behält de Wee mat deem se opgebaut gouf; nodeems den Tunnel eropgeet, kann eng oppe Sessioun déi al Streck nach benotzen bis se zréckgesat gëtt, an dofir gesäit et aus wéi wann e Neiverbannen e Routingproblem reparéiert. En lafende Client — ps ax | grep openvpn — beweise just, datt de Prozess gestart ass.

Verfollegt een internen an een ëffentlechen Numm

D'Streckesich weist d'Absicht; de Wee weist d'Liwwerung. Verfollegt en Numm deen intern musse sinn an en Numm deen et net dierf sinn, während Dir verbonne sidd, a vergläicht den éischte Sprong:

traceroute intranet.corp.example
traceroute 1.1.1.1

D'selwecht éischte Sprong fir béid bedeit, datt den internen Numm ni an den Tunnel koum an de Feeler driwwer läit, meeschtens en Numm deen op eng ëffentlech Adress opléist oder eng Streck déi ni installéiert gouf. Wann internen Traffic iwwer 10.8.0.1 erausgeet während ëffentlechen iwwer 192.168.1.1 erausgeet, mécht de gespléckten Tunnel genau dat wofir en konfiguréiert gouf. Eng Spuer déi de VPN-Gateway erreecht an duerno just Zäitiwwerschreidunge zréckgëtt ass meeschtens e Retourwee- oder Server-Firewallproblem, net eng fehlend Weiderleedungsstreck.

Gefilterten ICMP mécht dës Kontroll lügeg: Stären op béide Spuere gesinn aus wéi en doudegen Tunnel an ass meeschtens eng Firewall. Probéiert en TCP-Port wou Dir kënnt — traceroute -T -p 443 ënner Linux — a denkt drun, datt d'Spuer net seet wéi en Opléiser geäntwert huet: en Numm kann lokal opléisen an nach ëmmer duerch den Tunnel erreechbar sinn.

Maacht eng Opnam um physeschen Adapter, net um Tunnel

De physesche Link ass déi eenzeg Plaz déi weist wat den Netz wierklech gesäit. Mam Tunnel erop soll eng Sessioun an de Büro als verschlësselte Belaascht erschéngen déi un de VPN-Server adresséiert ass, net als Verbindung op 10.20.5.7:

sudo tcpdump -ni eth0 udp port 53
sudo tcpdump -ni eth0 host 10.20.0.5

Den éischte Filter fänkt d'Nummopléisung déi lokal erausgeet, wat de heefegsten an dee stëllsten Deel ass — d'Säit lued nach ëmmer, den Opléiser huet just d'Ufro gesinn. Den zweeten fänkt gewéinlechen Traffic op eng intern Adress déi just am Tunnel dierf existéieren. Ënner Windows mécht pktmon déi selwecht Aarbecht ouni Treiber: pktmon filter add -p 53, duerno pktmon start --capture --pkt-size 128, duerno pktmon stop an pktmon format pktmon.etl -o capture.txt. Dês Fändelen ënnerscheede sech e bësse tëschent Windows-Versiounen, dofir kontrolléiert pktmon filter add /? ier Dir der Syntax traut.

Maacht eng Opnam vum physeschen Interface fir Deeler ze fannen; eng Opnam um Tunnel enthält d'Paketen déi Dir schonn do gleeft, an um Server enthält se onliesbar baussenzeg Paketen deenen hir Quell de Gateway ass. Byte-Zieler op engem Interface beschreiwen Paketen, net Programmer; fir Traffic engem Prozess zouzeschreiwen brauch een e Monitor dee Sockets op Prozesser kartéiert.

Frot en externen Service, a frot en duerno pro Applikatioun

Déi eenzeg Kontroll déi den Ausgang beweist ass eng Äntwert vun dobaussen: e Service deen d'Quelladress zréckgëtt déi en gesinn huet. Start en aus enger Shell, wou Dir den Interface wielt, a start en zweemol:

sudo curl --interface tun0 https://example.net/ip
sudo curl --interface eth0 https://example.net/ip

Verschidde Äntwerten ginn Iech de Beweis fir béid Weeër an eng Manéier fir eng bestëmmten Applikatioun ze testen: bind se, oder start se an engem Netzwierknammraum mat enger eenzeger Streck, a kuckt wéi eng Adress de wäiten Enn vermierkt. Identesch Äntwerten sinn dee interessante Feeler: entweder huet d'Bindung net gewierkt, oder eppes tëschent dem Host an dem wäiten Enn schreift d'Quelladress ëm ier se ukommt. Ënner Windows wëll curl --interface d'Adress vum Adapter an net säin Numm.

E Browser deen d'VPN-Adress mellt beweise de Browser. E Mailclient, e Paketmanager, en Backupsagent oder en zweet Brouwserprofil kënnen all en anere Wee huelen, besonnesch wann eng Proxy-Astellung oder eng Streck vum gespléckten Tunnel eng dovun deckt. Eng Adressännerung ass net u sech de Beweis fir en Deel: e Loadbalancer kann anescht äntweren jee no Ausgang deen en gesinn huet, dofir vergläicht déi vermierkt Quelladress, net d'Säit.

Benotzt d'Serverusiicht fir de Peer ze bestätegen

De Server beäntwert eng aner Fro: ob e Peer verbonnen ass, wéi vill en transportéiert huet an ob d'Sessioun nei gestart gouf. E Peer deen um Server aktiv ass während dem Client seng Zieler bal net réckelen heescht, datt den Applikatiounstraffic net an den Tunnel geet, wat d'Clienttabell och ëmmer sot. E Peer deen vill Daten transportéiert fir e Benotzer dee mëttelt datt näischt funktionéiert ass eng aner Enquête.

Hei leien zwou Fallen. En maskéierten Tunnel léisst all Floss ausgesinn wéi wann en vum Gateway kënnt, dofir fale Loggen a Comptabilitéit pro Client op eng eenzeg Adress zesummen. An e Client gëtt als lokalen Host behandelt, dofir gëtt d'Fro ob een Fichieren iwwer d'VPN kopéiert duerch Fichierdeelungstraffic um Server oder duerch Hostaudit um Server beäntwert — de Tunnel ze kucken gëtt Endpunkten a Volumen, keng Fichiernumm.

Ënnerscheet eng Designentscheedung vun engem Deel

Net alles baussen dem Tunnel ass en Deel. Link-lokalen a Broadcast-Traffic bleift aus Design lokal, en Drucker deen iwwer Multicast fonnt gëtt annoncéiert sech weider am LAN, an DHCP muss lokal erausgoen. Eng Applikatioun déi un e bestëmmten Interface gebonnen ass ëmgeet d'Routingstabell bewosst, an nëmmen eng Firewallregele, en Nammraum oder eng Richtlinnestreck ännert dat.

IPv6 verdéngt seng eege Linn op der Checkliste. En Tunnel deen nëmmen IPv4 dréit léisst engem Dual-Stack-Host en zweete brauchbare Wee, an en Dual-Stack-Zil wäert en preferéieren — och DNS, wann den Opléiser iwwer IPv6 erreechbar ass. Deaktivéiert IPv6 um Adapter oder bestätegt datt den Tunnel et dréit ier Dir en IPv4-Resultat als komplett betruecht.

Wann d'Kontrollen net iwwerenee stëmmen, nennt den Ënnerscheed meeschtens de Feeler:

What you seeWhat it meansNext step
The route picks tun0 but the capture shows cleartext to 10.20.5.7Something bypassed the table: a bound app, a policy route or a session older than the tunnelReset the flow, check the app bind, check the ip rule list
The route picks eth0 for an internal nameThe name resolves to a public address, or the route was never installedCompare the resolved address with the routes the server pushes
The capture shows DNS to the LAN resolverResolver leak: data is tunneled, lookups are notPoint the resolver inside, or push it from the server
All four checks agree and one app still failsPath selection is fine; suspect MTU, a per-app proxy or the far endTest the same destination from a known-good client

Eng Rei déi funktionéiert: späichert d'Routingstabell virum a nom Verbannen, verfollegt een internen an een ëffentlechen Numm, maacht eng DNS-Opnam um physeschen Adapter, gitt d'Ausgangsadress aus der Shell zréck fir déi bestëmmten Applikatioun, a liest duerno de Server fir de Volumen. Wann déi éischt véier iwwerenee stëmmen, dréit den Tunnel wat Dir denkt an dat rescht Problem läit driwwer. Wa sech zwee dovun ënnerscheeden, ass d'Paar dat sech ënnerscheet de Feeler, net d'Ikon.

Ähnlech Artikelen