Bærbar beskriver installationsprogrammet, ikke kernen. En klient kan ankomme som én eksekverbar fil på en USB-nøgle og stadig kræve en tunneleenhed, en post i rutetabellen og en skrivning til resolveren, før den første pakke bevæger sig. Hvilken af de tre målermaskinen vil lade dig røre, afgør, om den build overhovedet virker der. Prøverne nedenfor besvarer spørgsmålet i den rækkefølge, klienten vil ramme dem.

Bærbar dækker tre forskellige løfter, og kun ét er gratis

Ingen installationsprogram betyder, at leverandøren ikke registrerede en tjeneste, ikke sendte et afinstallationsprogram og ikke tilføjede en menupost. Ingen administrator betyder, at en almindelig konto kan starte klienten og fuldføre en forbindelse. Ingen ændring af værten betyder, at maskinen ser identisk ud, efter du afslutter. Downloadsider, der siger bærbar, lover normalt kun det første af disse, og de to andre er der, hvor implementeringer fejler. En build kan også være bærbar i snæver forstand: den kører fra skrivebeskyttet medie uden nogen dotfil-skrivninger overhovedet, hvilket stadig intet siger om netværksstakken.

De dyre løfter er det andet og det tredje. En enkelt eksekverbar fil, der kræver en adapter, en rute eller en skrivning til resolveren, beder operativsystemet om en myndighed, som mærkatet bærbar aldrig dækkede.

Find den privilegerede hjælper, som klienten vil kalde

Næsten ingen VPN-klient flytter pakker af sig selv. På Windows går datastien gennem WFP-filtre og Base Filtering Engine, på macOS gennem en NetworkExtension-udbyder, som brugeren godkender i Systemindstillinger, og på Linux gennem en tun-enhed plus routingstakken. Den binære fil, du kopierede, er en kontrolflade for disse komponenter, ikke en erstatning for dem. Spørg, hvilken komponent klienten forventer, og bekræft derefter, at den er installeret, kører og kan bruges af din konto.

Linux er det letteste sted at bevise pointen, fordi kontrollen er ét systemkald. At åbne /dev/net/tun og bede kernen om en enhed kræver CAP_NET_ADMIN, og kernens TUN/TAP-dokumentation angiver både ejerskabsreglen og evnen. Kør prøven som den konto, der starter klienten, ikke som root.

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

En tilladelsesfejl på den midterste linje er det svar, du ledte efter: denne konto kan ikke oprette en tunnelgrænseflade, så enhver brugerrums-klient, der har brug for en, fejler ved forbindelse i stedet for ved download. Den sidste linje fjerner testenheden og udskriver intet, når den virker. Hvis begge linjer lykkes, har værten ikke ændret noget permanent.

Test rute- og resolverændringer før den første forbindelse

Opdelt tunneling gør en forbindelse til en routingbeslutning, mens en fuld tunnel gør den til en erstatning af standardruten. Begge er skrivninger til værtens netværksstak, og begge fejler for en konto uden privilegier, selv når klienten selv starter rent. Resolveren er den tredje skrivning, og på systemd-værter er det normalt den, der går i stykker sidst. Den rækkefølge betyder noget, når du beslutter, hvor du vil bruge en forhøjet installation.

En ruteprøve kræver en destination, du faktisk bekymrer dig om, så indsæt et subnet fra din egen profil i stedet for pladsholderen nedenfor. Enhedsnavnet skal findes, for at ruten kan hænge fast i noget.

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

Hvis den første linje returnerer RTNETLINK answers: Operation not permitted, betyder det, at kontoen ikke kan installere den private rute, som profilen kræver. Den anden linje beviser den samme ret omvendt, hvilket betyder noget, fordi en klient, der kan tilføje ruter, men ikke fjerne dem, efterlader en ødelagt tabel. Resolverforespørgslen viser derefter, om private navne opløses gennem tunnelen eller lækker til den resolver, værten allerede stoler på.

Kør alle tre, mens testenheden stadig findes, og slet den derefter. En rute, der peger på en enhed, der er væk, er den mest almindelige grund til, at en bærbar computer mister forbindelsen efter en mislykket forbindelse.

Beslut, hvad der skal overleve sessionen

At slette mappen er ikke en oprydningsplan. Adaptere, ruter, resolverindstillinger, betroede certifikater og gemte legitimationsoplysninger kan hver især overleve processen, og en tjeneste ved opstart kan gendanne nogle af dem uden at spørge. Skriv ned, hvad klienten må efterlade sig, før du kører den, ikke efter den første mislykkede afbrydelse.

Den praktiske regel er at tage et øjebliksbillede af de tre flader, du er ved at ændre, og sammenligne dem bagefter. Registrer grænseflader, den primære rutetabel og resolverens tilstand før den første forbindelse, og gentag derefter de samme tre læsninger, når klienten er afsluttet.

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

Alt, der findes i den anden optagelse og mangler i den første, har brug for en ejer. Enten fjerner klienten det ved afslutning, eller du fjerner det med de samme kommandoer, der oprettede det, og den fjernelse hører i implementeringsnoterne, ikke i nogens erindring om, hvad der skete. På Windows er de tilsvarende læsninger Get-NetAdapter, Get-NetRoute og Get-DnsClientServerAddress, som ikke kræver forhøjelse, men viser de samme rester.

Relaterede artikler