Porditav kirjeldab paigaldajat, mitte kerneli. Klient võib saabuda ühe käivitatava failina USB-mälupulgalt ja vajada siiski tunneliseadet, kirjet marsruuditabelis ja kirjutust resolverisse enne, kui esimene pakett liigub. Millist neist kolmest sihtmasin teil puutuda laseb, otsustab, kas see ehitis seal üldse töötab. Allpool olevad kontrollid vastavad küsimusele selles järjekorras, milles klient neile peale satub.

Porditavus katab kolm erinevat lubadust ja ainult üks on tasuta

Paigaldaja puudumine tähendab, et tarnija ei registreerinud teenust, ei saatnud eemaldusprogrammi ega lisanud menüükirjet. Administraatori puudumine tähendab, et tavaline konto saab kliendi käivitada ja ühenduse lõpule viia. Hostimuudatuse puudumine tähendab, et masin näeb pärast väljumist välja identne. Allalaadimislehed, mis ütlevad porditav, lubavad tavaliselt ainult esimest neist, ja ülejäänud kaks on koht, kus juurutused ebaõnnestuvad. Ehitis võib olla porditav ka kitsamas mõttes: see jookseb kirjutuskaitstud kandjalt ilma ühegi punktfaili kirjutuseta, mis ei ütle võrgustikupinu kohta ikka veel midagi.

Kallid lubadused on teine ja kolmas. Üks käivitatav fail, mis vajab adapterit, marsruuti või kirjutust resolverisse, küsib operatsioonisüsteemilt volitust, mida silt porditav kunagi ei katnud.

Leidke privilegeeritud abiline, kelle klient välja kutsub

Peaaegu ükski VPN-klient ei liiguta pakette ise. Windowsis läheb andmetee läbi WFP-filtrite ja Base Filtering Engine'i, macOSis läbi NetworkExtensioni pakkuja, mille kasutaja kinnitab süsteemiseadetes, ja Linuxis läbi tun-seadme pluss marsruutimispinu. Kopeeritud binaarfail on nende komponentide juhtpind, mitte nende asendus. Küsige, millist komponenti klient ootab, ja kinnitage seejärel, et see on paigaldatud, töötab ja on teie kontole kasutatav.

Linux on selle tõestamiseks kõige lihtsam koht, sest kontroll on üks süsteemikõne. /dev/net/tun avamine ja kerneli käest seadme küsimine nõuab CAP_NET_ADMIN, ja kerneli TUN/TAP dokumentatsioon märgib nii omandiõiguse reegli kui ka võimekuse. Käivitage kontroll konto alt, mis kliendi käivitab, mitte root-kontona.

ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest

Lubatuse viga keskmisel real ongi vastus, mida otsisite: see konto ei saa tunneliliidest luua, seega iga kasutajaruumi klient, mis seda vajab, ebaõnnestub ühendamisel, mitte allalaadimisel. Viimane rida eemaldab testseadme ega trüki midagi, kui see töötab. Kui mõlemad read õnnestuvad, ei muutnud host midagi püsivat.

Testige marsruudi ja resolveri muudatusi enne esimest ühendust

Jagatud tunnelimine muudab ühenduse marsruutimisotsuseks, samas kui täistunnel muudab selle vaikemarsruudi asenduseks. Mõlemad on kirjutused hosti võrgustikupinule ja mõlemad ebaõnnestuvad mitteprivilegeeritud konto puhul isegi siis, kui klient ise puhtalt käivitub. Resolver on kolmas kirjutus ja systemd-hostides on see tavaliselt see, mis viimasena katki läheb. See järjekord loeb, kui otsustate, kuhu kulutada kõrgendatud paigaldust.

Marsruuditest vajab sihtmärki, mis teile tõesti korda läheb, seega asendage allolev kohatäide oma profiilist pärit alamvõrguga. Seadme nimi peab olemas olema, et marsruut saaks millegi külge kinnituda.

ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal

Kui esimene rida tagastab RTNETLINK answers: Operation not permitted, tähendab see, et konto ei saa paigaldada privaatset marsruuti, mida profiil nõuab. Teine rida tõestab sama õigust vastupidi, mis loeb, sest klient, mis oskab marsruute lisada, kuid mitte eemaldada, jätab maha katkise tabeli. Seejärel näitab resolveri päring, kas privaatsed nimed lahenevad tunnelist või lekkivad resolverisse, mida host juba usaldab.

Käivitage kõik kolm, kuni testseade veel olemas on, ja kustutage see siis. Marsruut, mis osutab kadunud seadmele, on kõige tavalisem põhjus, miks sülearvuti kaotab pärast ebaõnnestunud ühendust ühenduvuse.

Otsustage, mis peab sessiooni üle elama

Kausta kustutamine ei ole puhastusplaan. Adapterid, marsruudid, resolveri seaded, usaldatud sertifikaadid ja salvestatud volitused võivad igaüks protsessist kauem kesta, ja alglaadimisaegne teenus võib mõned neist küsimata taastada. Kirjutage üles, mida klient võib enda järel alles jätta, enne kui selle käivitate, mitte pärast esimest ebaõnnestunud katkestust.

Praktiline reegel on teha hetktõmmis kolmest pinnast, mida kavatsete muuta, ja neid hiljem võrrelda. Registreerige liidesed, peamine marsruuditabel ja resolveri olek enne esimest ühendust, seejärel korrake samu kolme lugemist, kui klient on väljunud.

ip -brief addr show
ip route show table main
resolvectl status

Kõik, mis on teises salvestuses olemas ja esimeses puudub, vajab omanikku. Kas klient eemaldab selle väljumisel või eemaldate teie selle samade käskudega, mis selle lõid, ja see eemaldamine kuulub juurutamismärkmetesse, mitte kellegi mällu sellest, mis juhtus. Windowsis on samaväärsed lugemised Get-NetAdapter, Get-NetRoute ja Get-DnsClientServerAddress, mis ei vaja kõrgendamist, kuid näitavad samu jäänuseid.

Seotud artiklid