Tryk på forbind, og tre ting ændrer sig på en Linux-maskine: et interface dukker op, ruter installeres, og resolvern begynder at svare anderledes. De fleste opsætningsfejl kommer af, at en af de tre sker uden de andre, eller af at to programmer er uenige om, hvem der ejer dem. At forstå rækkefølgen forklarer fejlen hurtigere end at læse en klients logoutput.

Et interface dukker op, før noget virker

En tunnelklient åbner et virtuelt interface og giver pakker videre til det. En TUN-enhed bærer IP-pakker, hvilket er det, en rutet VPN har brug for; en TAP-enhed bærer Ethernet-rammer, hvilket er det, et brodesign har brug for. Kernelmodulet leverer enheden, og klienten ejer den, så længe sessionen varer.

At interfacet kommer op er ikke det samme som, at tunnelen virker. Det kan findes med en adresse, mens peer'en er utilgængelig, og derfor er interfacelisten den første kontrol og ikke den sidste. En enhed, der melder sig oppe, beskriver kernels syn på et virtuelt link, ikke peer'ens villighed til at svare.

Lad den medfølgende interfacetilstand være. At ændre en TUN-profil til TAP gør ikke en rutet server til en broet, og det giver normalt en forbindelse, der etableres og ikke videresender noget.

Ruter installeres af den, der ejer tunnelen

Ruter er den anden ændring, og deres ejerskab betyder mere end deres indhold. En NetworkManager-profil, en systemd-unit og en håndkørt klient kan alle installere ruter, og når to af dem gør det samtidig, opstår en tabel, som ingen senere kan forklare.

ip -br addr show
ip route show
ip -6 route show

En fuldtunnelprofil erstatter standardruten; en split-tunnelprofil tilføjer mere specifikke ruter og lader standardruten være. Begge er normale, og det andet er grunden til, at sletning af en standardrute er en dårlig første test på en maskine, du administrerer eksternt. At fjerne den er også den hurtigste måde at miste den session, du bruger til at rette problemet.

Læs tabellen i stedet for at antage. En mere specifik rute eller en politikregel kan sende trafik ind i tunnelen, mens standardruten stadig peger på det fysiske interface, hvilket ser selvmodsigende ud, indtil du læser hele tabellen. Den kombination er normal for split-tunnel og forvirrende for enhver, der forventer, at én linje beskriver designet. Se efter den rute, der matcher din faktiske destination, ikke den, der matcher diagrammet.

Resolvern skifter hænder

DNS er den tredje ændring og den, der mest sandsynligt styres et sted, du ikke har kigget. På en desktop kan NetworkManager skubbe resolverindstillinger for hver forbindelse. På et system med systemd-resolved anvendes indstillingerne for hvert link, og /etc/resolv.conf kan være en stub eller et symbolsk link i stedet for en fil, du bør redigere.

resolvectl status
readlink -f /etc/resolv.conf
cat /etc/resolv.conf

Hvis en manuel redigering af resolverfilen forsvinder efter en genopkobling, er det signalet til at finde den komponent, der vedligeholder den, og ændre profilen i stedet. At redigere den genererede fil er en ændring, som en genopkobling vil slette.

Private navne kræver normalt den interne resolver og de søgedomæner, som operatøren har leveret. At erstatte med en offentlig resolver kan ødelægge netop den ressource, som VPN'en findes for at nå, og symptomet ligner en routingfejl snarere end en DNS-fejl. Test navnet og adressen hver for sig, fordi det ene, der virker, og det andet, der fejler, fortæller dig præcis, hvor du skal kigge. Den ene sammenligning sparer en times rutedebugging.

Én manager for hver forbindelse

Profilformatet afgør, hvilket program der kan bruge det. En OpenVPN-profil kræver OpenVPN eller et kompatibelt plugin, og en WireGuard-konfiguration har sit eget format med peer-nøgler og tilladte præfikser. En importdialog oversætter ikke det ene til det andet, hvad filendelsen så end antyder.

Vælg én manager, og lad den eje forbindelsen. At rejse den samme tunnel gennem to værktøjer gør rutetabellen og genopkoblingsadfærden tvetydig, og den anden, der starter, vinder normalt på måder, der er svære at genskabe.

Installer de pakker, din distribution understøtter, og skaf profilen fra operatøren. Behandl den som en legitimationsoplysning, fordi den normalt indeholder en privat nøgle eller tilsvarende materiale, og opbevar den, hvor resten af dine hemmeligheder bor. En profil efterladt i en downloadmappe er en nøgle efterladt på et skrivebord.

Hvad du skal kontrollere, når den er oppe, men ikke virker

Med interfacet oppe og klienten, der rapporterer succes, arbejd udad: vælger rutetabellen tunnelen for destinationen, svarer resolvern på det private navn, og har den anden side en returvej. Hver har sin egen kommando og sin egen ejer.

nmcli connection show --active
nmcli device status
wg show

nmcli-referencen dokumenterer status- og forbindelseskommandoerne, hvis du har brug for det fulde sæt. Det vigtige her er forskellen mellem, at en profil er aktiv, og at en enhed bærer trafik, fordi de to kan være uenige.

Genopkobl én gang gennem den samme manager, før du kalder opsætningen færdig, og kontroller, at DNS stadig virker efter en afbrydelse. En konfiguration, der kun virker indtil den første netværksændring, er ikke færdig, den virker blot i øjeblikket.

Relaterede artikler