“Il-VPN qed jaħdem?” fil-verità huma tliet mistoqsijiet f’sentenza waħda. Liema minnhom teħtieġ il-kodiċi tiegħek hija l-ewwel deċiżjoni, u hija dik li l-biċċa l-kbira tal-implimentazzjonijiet jaqbeżu. Hemm mina fuq dan l-apparat, it-traffiku lejn din id-destinazzjoni joħroġ minnha, jew it-tarf imbiegħed iwieġeb bl-identità li tistenna. Agħżel il-propjetà, imbagħad agħżel is-sinjal li jkejjilha, u fl-aħħar ikteb fil-log liema waħda kejjejt tassew.

Tliet propjetajiet, tliet sinjali

Ikkumpressati f’linja waħda kull waħda, it-tliet mistoqsijiet għandhom tliet tweġibiet differenti. It-tabella hawn taħt hija d-deċiżjoni nnifisha, mhux il-qosor tagħha.

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

Aqra l-aħħar ringiela bil-mod. Host privat li jwieġeb juri li xi ħaġa wieġbet, mhux li t-tweġiba ġiet mill-mina, u ma jgħid xejn dwar min hemm fuq in-naħa l-oħra. Jekk il-propjetà li teħtieġ hija t-triq, kejjel it-triq.

Eżistenza: l-istat tal-pjattaforma nnifisha

Windows iwieġeb dan għall-profili nattivi permezz tal-Remote Access Service API. RasEnumConnections jelenka x’inhu konness, RasGetConnectStatus jirrapporta l-istat ta’ entrata waħda, u RasGetLinkStatistics iżid il-veloċità, il-kontaturi tal-bytes u l-età tal-konnessjoni. Il-limiti huma l-punt: OpenVPN, WireGuard u l-klijenti tal-fornituri qatt ma jirreġistraw konnessjoni RAS, għalhekk mina f’saħħitha ta’ dak it-tip turi lista vojta u kodiċi naïf jirrapportaha bħala mitfija.

Id-desktops tal-Linux jesponu l-istess propjetà permezz ta’ NetworkManager fuq D-Bus, fejn PropertiesChanged fuq l-oġġett tal-konnessjoni VPN ibiddel il-verifika fi avveniment u l-propjetà State tirrapporta meta l-ħolqa tasal għall-istat konness. Minn shell, nmcli connection show --active jaqra l-istess informazzjoni, u dan huwa dak li trid waqt id-debugging. macOS iżomm dik il-lista fil-qafas System Configuration, b’scutil bħala l-veduta tal-linja tal-kmand tiegħu. It-tlieta jiddeskrivu konnessjoni li tmexxi l-pjattaforma, u t-tlieta jisktu għal mina li ma tmexxix.

Triq: fejn il-pakkett tassew imur

It-tqabbil tal-ismijiet huwa l-isqaq li kulħadd jaqbad l-ewwel: elenka l-interfaces, iċċekkja l-string kontra tun, tap, ppp jew ipsec, u qis l-għaqda bħala prova. Hija euristika, u s-sett tal-interfaces jista’ jidher l-istess kemm jekk xi ħaġa tgħaddi minnu kif ukoll jekk le. Il-binjiet tal-iOS il-qodma kienu jwieġbu hekk u dawk aktar ġodda waqfu, għax l-interfaces viżibbli ma baqgħux jiddistingwu ż-żewġ stati.

Dak li ħa postha hemmhekk huwa d-dizzjunarju tal-proxy tas-sistema. Sakemm VPN ikun konness, is-sejħa tas-settings tal-proxy tirritorna ċwievet limitati għall-interfaces relatati mal-mina, u meta xejn ma jkun konness id-dizzjunarju jiġi lura vojt. Din hija dikjarazzjoni aktar dgħajfa milli tidher, għax tirreġistra t-twemmin tas-sistema li teżisti mina, mhux liema destinazzjoni tużaha.

Android għandu l-verżjoni tiegħu tan-nassa: ix-xandira vpn.connectivity tasal għal riċevituri ddikjarati fil-manifest f’xi binjiet u għal riċevituri reġistrati fi żmien il-mixi f’oħrajn. Ittrattaha bħala l-aħjar sforz, u żomm prova diretta warajha.

Meta d-destinazzjoni hija dik li timporta, staqsi lit-tabella tar-routing minflok il-lista tal-adapters. L-euristiċi tal-gateway awtomatiku jinkisru fuq magni b’ħafna netwerks u fuq mini li jinstallaw gateway tagħhom.

Identità: ipprova t-tarf imbiegħed

Loop li jibgħat echo ICMP lejn it-tarf imbiegħed kull ftit sekondi hija l-irħas verifika ta’ dan it-tip, u tfalli f’direzzjoni utli. Iggwidaha lejn indirizz li jeżisti biss ġewwa n-netwerk privat, għax indirizz pubbliku jwieġeb fuq kwalunkwe uplink li jaħdem u ma jipprova xejn. Fejn ICMP jiġi ffiltrat, konnessjoni TCP qasira mal-port tas-servizz tagħmel l-istess xogħol.

Verifika fuq in-naħa tas-server għandha eżattament sinjal wieħed: l-indirizz tas-sors fuq il-konnessjoni. Iż-żamma tal-inventarju tal-firxiet hija xogħol ta’ manutenzjoni, u ma tistax tifred mina minn kwalunkwe netwerk ieħor li jinqala’ juża l-istess blokka.

Politika grossa tista’ tgħix ma’ dan. L-identità ma tistax, għalhekk awtentika lill-klijent minflok tafda fejn il-pakketti tiegħu jidhru li ġejjin.

Irreġistra l-kategorija, mhux il-verdett

Żomm il-kategoriji tal-falliment separati fil-log: l-ebda interface, interface preżenti imma d-destinazzjoni mhux raġġungibbli, destinazzjoni raġġungibbli imma l-awtentikazzjoni miċħuda. Dawn huma tliet sidien differenti, u kull wieħed jiftaħ investigazzjoni differenti.

Li tgħaqqadhom f’wieħed “VPN mitfi” tibgħat ir-rapport lil tim li ma jistax isewwih. Il-kategorija hija l-output utli; il-verdett huwa dak li jagħmilha ħażina.

Artikli relatati