La kliento diras ke ĝi estas konektita, la seruro estas fermita, kaj retejo ankoraŭ registras la adreson de via loĝejo. Nenio fiaskis. Tunelo ne anstataŭigas vian Wi-Fi aŭ vian poŝtelefonan ligon; ĝi metas duan koverton ĉirkaŭ elektitaj paketoj kaj sendas tiun koverton tra la reto, kiun vi jam havis. Kompreni la artifikon plejparte temas pri sekvi unu peton kaj rimarki, kie la koverto malfermiĝas, ĉar preskaŭ ĉiu konfuza simptomo, de likanta hejma adreso ĝis haltinta granda elŝuto, venas de tiu limo.

Du kovertoj, unu fizika ligo

Via tekkomputilo konservas sian normalan konekton al la enkursigilo, kaj la enkursigilo konservas sian normalan konekton al la provizanto. Nenio en tiu vojo ŝanĝiĝas, kiam tunelo ekfunkcias. Ŝanĝiĝas tio, ke elektitaj paketoj estas transdonataj al virtuala interfaco, volvataj en novan paketon adresitan al la VPN-kunulo, kaj sendataj kiel ordinara trafiko tra la fizika ligo.

La riceva flanko estas aparato, kiu malvolvas la koverton kaj plusendas la originan paketon al ĝia celo. Inter la du flankoj observanto vidas la eksteran kaplinion kaj nenion pri la interna, krom se la protokolo ĝin ĉifras, kion faras la plej multaj konsumantaj protokoloj kaj kion la ĝenerala tekniko ne postulas.

Tial la virtuala interfaco estas samtempe reala kaj misgvida. Ĝi ekzistas kiel kernobjekto kun adreso kaj maksimuma transdona unuo, kaj la operaciumo enkursigas trafikon en ĝin kiel en iun ajn alian interfacon. Ĝi ne estas kablo, kaj ĝia ekzisto pruvas nur, ke komponanto estas instalita. Ĉu via retumilo uzas ĝin, decidas la enkursigoj, ne tio, ke la interfaco estas aktiva.

Spektu unu peton fari la vojaĝon

Elektu celon kaj demandu la kernon, kiun interfacon ĝi uzos. Ĉi tiu ununura komando solvas la plej multajn disputojn pri tio, ĉu la tunelo faras ion ajn:

ip route get 203.0.113.7
ip -brief addr show
ip -4 addr show dev wg0

Se la enkursiga eligo nomas la tunelan interfacon, la paketo estos volvata. Se ĝi nomas la fizikan interfacon, ĝi ne estos, kaj neniu nombro da restartigoj de la kliento tion ŝanĝas. La dua komando montras ambaŭ interfacojn flanke unu apud la alia, kaj tiel vi rimarkas tunelon, kiu ekfunkciis sen adreso aŭ kun adreso el la malĝusta familio.

Poste rigardu la unuan salton de interne de la koverto, kaj komparu ĝin kun la unua salto ekstere:

traceroute -n -m 3 203.0.113.7
sudo tcpdump -ni wg0 -c 5

Ene de la tunelo la unua salto estas la interna adreso de la kunulo, ne via enkursigilo. La kapto ĉe la tunela interfaco montras la internajn paketojn, tio estas la trafiko, kiun la aplikaĵo kredas sendi. Samtempa kapto ĉe la fizika interfaco montras la eksterajn paketojn, kaj kune ili estas la plej klara pruvo de tio, kion tunelo efektive faras.

Tri adresoj, kaj nur unu estas vidata de la retejo

Homoj senĉese konfuzas ĉi tion, kaj la konfuzo kreas falsajn likajn raportojn. Ili estas malsamaj kampoj en malsamaj kapliniaj blokoj kun malsamaj vivdaŭroj.

AddressWhere it appearsWho can see it
Endpoint addressOuter header, the peer you connect toYour access network and the path to it
Inner tunnel addressInside the envelope, on the virtual interfaceThe peer, and anything the peer routes to
Exit addressSource of the packet that reaches the websiteThe website and its upstream

La numero apud la virtuala adaptilo estas la dua vico. Ĝi ne estas la adreso, kiun retejo registras, kaj citi ĝin kiel vian publikan IP estas simple malĝuste. La adreson, kiun retejo vidas, donas la eliro, kaj en tunelo al privata reto eble entute ne ekzistas publika eliro, ĉar la celo loĝas ene de la organizaĵo kaj ne en la interreto.

Tunelo inter lokoj estas la sama mekanismo kun aliaj finpunktoj. Du enkursigiloj volvas trafikon inter retoj, kaj neniu unuopa aparato havas instalitan klienton. La koverto estas principe identa, kaj la administra limo ne.

Kie la koverto malfermiĝas, kaj kio postvivas ĝin

La tunelo finiĝas ĉe sia kunulo. Se la propra ĉifrado de la aplikaĵo etendiĝas pli malproksimen, ĝi postvivas tiun limon, kio estas la normala kazo por HTTPS: la sesio de la retumilo finiĝas ĉe la retejo, do la eliro plusendas ĉifrotekston, kiun ĝi ne povas legi.

Nenio alia postvivas defaŭlte. Neĉifrita peto estas legebla ĉe la eliro same kiel ĝi estis legebla en la kafeja Wi-Fi, kaj la tunelo ne aldonas protekton, kiun la aplikaĵo neniam havis. Same, la fajroŝirmaj reguloj kaj plusenda politiko de la eliro decidas, kio okazos poste; sukcesa manpremo estas fakto pri la kunula konekto, ne pri la resto de la vojaĝo.

Superkosto estas la alia videbla sekvo. Ĉiu paketo portas plian kaplinion, kaj la ekstera transporto povas aldoni sian propran, do la uzebla utilŝarĝo po paketo malgrandiĝas. Sur vojo kun fiksa maksimuma transdona unuo, ĝuste tial tunelo povas trapasi pingon kaj haltigi grandan alŝuton.

Kontrolu la vojon, kiun la aplikaĵo efektive iris

La lasta paŝo estas konfirmi la koncernan aplikaĵon, ne la maŝinon ĝenerale. Solvu la celon, rigardu la enkursigon por tiu adreso, kaj poste observu la konekton dum ĝi estas malfermita:

getent hosts example.com
ip route get "$(getent hosts example.com | awk '{print $1; exit}')"
ss -tnp state established '( dport = :443 )'

Se la enkursigo nomas la tunelon sed la inga listo montras konekton kun fonta adreso de la fizika interfaco, la aplikaĵo estas ligita al io specifa, aŭ dua tunelo konkurantas pri la defaŭlta enkursigo. Tio estas enkursiga demando, kaj ĝi estas respondebla el ĉi tiuj tri eligoj anstataŭ el la stata ekrano de la kliento.

La sekureca arkitekturo RFC 4301 priskribas la IP-tavolan version de ĉi tiu volvado por IPsec, kaj la sama tava logiko validas por WireGuard kaj OpenVPN. Unufoje vi povos montri la internan paketon kaj la eksteran paketon kiel apartajn objektojn, la plej multa tunela konduto ĉesos esti mistera kaj fariĝos enkursiga tabelo, kiun vi povas legi.

Rilataj artikoloj