«A është aktiv VPN-ja?» janë në të vërtetë tri pyetje në një fjali të vetme. Cila prej tyre i duhet kodit tuaj është vendimi i parë, dhe pikërisht atë e anashkalojnë shumica e zbatimeve. A ekziston një tunel në këtë pajisje, a del trafiku drejt këtij destinacioni përmes tij, apo skaji i largët përgjigjet me identitetin që prisni. Zgjidhni vetinë, më pas zgjidhni sinjalin që e mat atë, dhe në fund shkruani në regjistër cilën matët vërtet.

Tri veti, tre sinjale

Të ngjeshura në një rresht secila, tri pyetjet kanë tri përgjigje të ndryshme. Tabela më poshtë është vetë vendimi, jo përmbledhja e tij.

PropertySignal that answers itWhat it still leaves open
ExistenceThe platform's own connection state: RAS on Windows, NetworkManager on D-Bus on Linux, scutil on macOSTunnels of a type the platform does not manage, which includes most third-party clients
PathA route lookup for the one destination, or a scoped proxy or interface key that names the tunnelWhether the far end is the peer you trust
IdentityAn authenticated response from the far end, or a source-address policy applied on the serverWhich local interface carried the packets

Lexoni ngadalë rreshtin e fundit. Një host privat që përgjigjet dëshmon se diçka u përgjigj, jo se përgjigjja erdhi përmes tunelit, dhe nuk thotë asgjë për atë se kush është në skajin tjetër. Nëse vetia që ju nevojitet është rruga, matni rrugën.

Ekzistenca: gjendja e vetë platformës

Windows-i përgjigjet për këtë për profilet amtare përmes Remote Access Service API. RasEnumConnections rendit çfarë është e lidhur, RasGetConnectStatus raporton gjendjen e një hyrjeje, dhe RasGetLinkStatistics shton shpejtësinë, numëruesit e bajteve dhe moshën e lidhjes. Kufijtë janë thelbi: OpenVPN, WireGuard dhe klientët e furnitorëve nuk regjistrojnë kurrë një lidhje RAS, prandaj një tunel i shëndoshë i atij lloji tregon një listë bosh dhe kodi naiv e raporton si të fikur.

Desktopët Linux ekspozojnë të njëjtën veti përmes NetworkManager në D-Bus, ku PropertiesChanged në objektin e lidhjes VPN e kthen kontrollin në një ngjarje dhe vetia State raporton kur lidhja arrin gjendjen e lidhur. Nga një shell, nmcli connection show --active lexon të njëjtin informacion, dhe kjo është ajo që dëshironi gjatë korrigjimit. macOS e mban atë listë në kornizën System Configuration, me scutil si pamjen e saj nga rreshti i komandave. Të tria përshkruajnë një lidhje që menaxhon platforma, dhe të tria heshtin për një tunel që ajo nuk e menaxhon.

Rruga: ku shkon vërtet paketa

Përputhja e emrave është shkurtesa të cilës të gjithë i kapen së pari: renditni ndërfaqet, provoni vargun kundrejt tun, tap, ppp ose ipsec, dhe merrni një përputhje si provë. Është një heuristikë, dhe grupi i ndërfaqeve mund të duket i njëjtë pavarësisht nëse diçka lëviz përmes tij. Ndërtimet e vjetra të iOS përgjigjeshin kështu dhe ato më të rejat ndaluan, sepse ndërfaqet e dukshme nuk i dallonin më dy gjendjet.

Ajo që e zëvendësoi atje është fjalori i proxy-t të sistemit. Sa kohë që një VPN është i lidhur, thirrja e cilësimeve të proxy-t kthen çelësa të kufizuar te ndërfaqet e lidhura me tunelin, dhe kur asgjë nuk është e lidhur fjalori kthehet bosh. Ky është një pohim më i dobët nga sa tingëllon, sepse regjistron besimin e sistemit se ekziston një tunel, jo cili destinacion e përdor atë.

Android-i ka versionin e vet të kurthit: transmetimi vpn.connectivity arrin te marrësit e deklaruar në manifest në disa ndërtime dhe te marrësit e regjistruar në kohë ekzekutimi në të tjerët. Trajtojeni si përpjekje më të mirë, dhe mbani një sondë të drejtpërdrejtë pas tij.

Kur destinacioni është ai që ka rëndësi, pyesni tabelën e rrugëzimit në vend të listës së përshtatësve. Heuristikat e portës së paracaktuar thyhen në makineri me disa rrjete dhe në tunele që instalojnë portën e tyre.

Identiteti: sondoni skajin e largët

Një cikël që dërgon një jehonë ICMP drejt skajit të largët çdo pak sekonda është kontrolli më i lirë i këtij lloji, dhe dështon në një drejtim të dobishëm. Drejtojeni atë në një adresë që ekziston vetëm brenda rrjetit privat, sepse një adresë publike përgjigjet përmes çdo lidhjeje funksionale lart dhe nuk provon asgjë. Aty ku ICMP filtrohet, një lidhje e shkurtër TCP me portën e shërbimit bën të njëjtën punë.

Kontrolli në anën e serverit ka saktësisht një sinjal në dispozicion: adresën e burimit në lidhje. Mirëmbajtja e inventarit të intervaleve është punë mirëmbajtjeje, dhe nuk mund ta ndajë tunelin nga çdo rrjet tjetër që përdor rastësisht të njëjtin bllok.

Politika e ashpër mund të jetojë me këtë. Identiteti nuk mundet, prandaj vërtetoni klientin në vend që të besoni se nga duket se vijnë paketat e tij.

Regjistroni kategorinë, jo verdiktin

Mbani kategoritë e dështimit të ndara në regjistër: asnjë ndërfaqe, ndërfaqja ekziston por destinacioni i paarritshëm, destinacioni i arritshëm por vërtetimi i refuzuar. Këta janë tre pronarë të ndryshëm, dhe secili hap një hetim tjetër.

Grumbullimi i tyre në një «VPN poshtë» e dërgon raportin te një ekip që nuk mund ta rregullojë. Kategoria është prodhimi i dobishëm; verdikti është ai që e bën të gabuar.

Artikuj të ngjashëm