Trykk på koble til, og tre ting endres på en Linux-maskin: et grensesnitt dukker opp, ruter installeres, og resolveren begynner å svare annerledes. De fleste oppsettfeil kommer av at en av de tre skjer uten de andre, eller av at to programmer er uenige om hvem som eier dem. Å forstå rekkefølgen forklarer feilen raskere enn å lese loggutdata fra en klient.

Et grensesnitt dukker opp før noe virker

En tunnelklient åpner et virtuelt grensesnitt og overlater pakker til det. En TUN-enhet bærer IP-pakker, som er det en rutet VPN trenger; en TAP-enhet bærer Ethernet-rammer, som er det et broet design trenger. Kjernemodulen leverer enheten, og klienten eier den så lenge økten varer.

At grensesnittet kommer opp er ikke det samme som at tunnelen virker. Det kan finnes med en adresse mens motparten er utilgjengelig, og derfor er grensesnittlisten den første kontrollen og ikke den siste. En enhet som melder seg oppe, beskriver kjernens syn på en virtuell forbindelse, ikke motpartens vilje til å svare.

La grensesnittmodusen du fikk utlevert, være. Å endre en TUN-profil til TAP gjør ikke en rutet server broet, og det gir vanligvis en forbindelse som etableres og ikke videresender noe.

Ruter installeres av den som eier tunnelen

Ruter er den andre endringen, og eierskapet deres betyr mer enn innholdet. En NetworkManager-profil, en systemd-enhet og en håndkjørt klient kan alle installere ruter, og når to av dem gjør det samtidig, oppstår en tabell som ingen senere kan forklare.

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

En fulltunnelprofil erstatter standardruten; en splittunnelprofil legger til mer spesifikke ruter og lar standardruten være. Begge er normale, og det andre er grunnen til at sletting av en standardrute er en dårlig første test på en maskin du administrerer eksternt. Å fjerne den er også den raskeste måten å miste økten du bruker for å rette problemet.

Les tabellen i stedet for å anta. En mer spesifikk rute eller en policyregel kan sende trafikk inn i tunnelen mens standardruten fortsatt peker på det fysiske grensesnittet, noe som ser selvmotsigende ut til du leser hele tabellen. Den kombinasjonen er normal for splittunnel og forvirrende for alle som forventer at én linje beskriver designet. Se etter ruten som passer din faktiske destinasjon, ikke den som passer diagrammet.

Resolveren skifter hender

DNS er den tredje endringen og den som mest sannsynlig styres et sted du ikke har sett. På en stasjonær kan NetworkManager skyve resolverinnstillinger per tilkobling. På et system med systemd-resolved brukes innstillingene per lenke, og /etc/resolv.conf kan være en stub eller en symbolsk lenke i stedet for en fil du bør redigere.

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

Hvis en manuell endring av resolverfilen forsvinner etter en gjentilkobling, er det signalet om å finne komponenten som vedlikeholder den og endre profilen i stedet. Å redigere den genererte filen er en endring som en gjentilkobling vil slette.

Private navn trenger vanligvis den interne resolveren og søkedomenene operatøren leverte. Å erstatte med en offentlig resolver kan ødelegge nettopp ressursen VPN-en finnes for å nå, og symptomet ser ut som en rutingfeil og ikke en DNS-feil. Test navnet og adressen hver for seg, fordi at én virker og den andre feiler forteller deg nøyaktig hvor du skal se. Den ene sammenligningen sparer en times rutedebugging.

Én behandler per tilkobling

Profilformatet avgjør hvilket program som kan bruke det. En OpenVPN-profil trenger OpenVPN eller en kompatibel plugin, og en WireGuard-konfigurasjon har sitt eget format med motpartsnøkler og tillatte prefikser. En importdialog oversetter ikke det ene til det andre, uansett hva filendelsen antyder.

Velg én behandler og la den eie tilkoblingen. Å reise den samme tunnelen gjennom to verktøy gjør rutetabellen og gjentilkoblingsatferden tvetydig, og den andre som starter vinner vanligvis på måter som er vanskelige å gjenskape.

Installer pakkene distribusjonen din støtter, og skaff profilen fra operatøren. Behandle den som en legitimasjon, fordi den vanligvis inneholder en privat nøkkel eller tilsvarende materiale, og oppbevar den der resten av hemmelighetene dine bor. En profil som ligger igjen i en nedlastingsmappe, er en nøkkel som ligger igjen på et skrivebord.

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

Med grensesnittet oppe og klienten som rapporterer suksess, arbeid utover: velger rutetabellen tunnelen for destinasjonen, svarer resolveren for det private navnet, og har den andre siden en returvei. Hver har sin egen kommando og sin egen eier.

nmcli connection show --active
nmcli device status
wg show

nmcli-referansen dokumenterer status- og tilkoblingskommandoene hvis du trenger hele settet. Det som betyr noe her, er skillet mellom at en profil er aktiv og at en enhet bærer trafikk, fordi de to kan være uenige.

Koble til på nytt én gang gjennom den samme behandleren før du kaller oppsettet ferdig, og kontroller at DNS fortsatt virker etter en frakobling. En konfigurasjon som bare virker til den første nettverksendringen, er ikke ferdig, den virker bare i øyeblikket.

Relaterte artikler