Du koplar til, tunellgrensesnittet dukkar opp, og eitt prefiks du treng er rett og slett ikkje i tabellen. Neste steg er vanlegvis eit søk etter eit skript som legg det til. Det søket endar på svar som limer inn ein OpenVPN-hjelpar i ein profil, og halvparten av desse svara gjer situasjonen verre i staden for betre, fordi ei manglande rute har tre moglege eigarar, og berre éin av dei er eit manglande skript.

Avgjer kva eigar som er ansvarleg før du skriv noko.

Tre eigarar, eitt manglande prefiks

Prefikset kan mangla fordi ingen leverte det, fordi profilen avviste det, eller fordi det vart installert ein stad du ikkje ser. Det er ulike feil, og dei har ulike rettingar.

Det første er lettast å sjekke: tilbaud serveren eller pluginen nokon gong ruta? Ein backend som aldri fekk prefikset, kan ikkje installere det, og eit hjelpeskript kan ikkje finne opp ei tilgjenge som motparten aldri skildra. Det andre er profilpolitikk, som kan undertrykkje ruter som sambandet elles ville ta. Det tredje er ein tabell eller regel, som kan halde ruta på ein stad der standardoppslaget aldri ser.

Ein fjerde eigar er deg, seinare: eit skript som legg til ruta ved tilkopling, men ikkje fjernar ho ved fråkopling. Det gir eit prefiks som overlever tunnelen, peikar på eit dødt grensesnitt og forvirrar den neste som feilsøkjer maskina.

Les profilen før du legg til noko

Start med eigenskapane til den lagra tilkoplinga sjølv. Les dei utan å dumpe løyndomar, og bruk UUID-en om profilnamnet er tvitydig.

nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office

vpn.service-type fortel deg kva backend som eig tilkoplinga, og det er viktig fordi plugin-data er backendspesifikke. Ein nøkkel som éin plugin godtek, er ikkje ein støtta instruksjon for ein annan, så eit utdrag kopiert frå dokumentasjonen til ein annan klient er ikkje bevis for noko.

ipv4.ignore-auto-routes og ipv4.never-default svarar på ulike spørsmål. Det første kan avvise ruter som sambandet elles ville ta automatisk, og det andre styrer om profilen kan bli standardruta. Ein profil som ignorerer automatiske ruter og ikkje stolar på noko anna, koplar til reint og installer nesten ingenting.

ip -4 rule show
ip -4 route show table all

Desse to kommandoane avgjer den tredje moglegheita. Sjå etter prefikset ditt i kvar tabell, ikkje berre main, og sjekk om ein policyregel sender det relevante oppslaget ein annan stad. Om prefikset finst i ein annan tabell og ingenting konsulterer det, har du ikkje ei manglande rute; du har eit oppslag som aldri når ho.

Kva eit skript ikkje kan rette

Å leggje til eit hjelpeskript gir vpn.data i NetworkManager eit program å køyre. Det er ein reell mekanisme, og han er feil for dei fleste av desse tilfella, fordi skriptet får kontroll etter at politikken til profilen alt har bestemt kva som skal godtakast.

script-security i OpenVPN er den andre gjentakande forvirringa. Det er ei OpenVPN-innstilling som styrer kva skript klienten kan køyre og kva han kan leggje i miljøet deira; nivå 3 tillèt å sende legitimasjon gjennom miljøet, noko som er eit val om handsaming av løyndomar og ikkje ei rutingsretting. Å lime det inn i ein profil der backend ikkje er OpenVPN, eller å heve det når ingen skript treng det, gir meir eksponering utan å gi ei rute.

Så er det omstartrefleksen. Å starte NetworkManager-tenesta på nytt riv ned og byggjer opp att kvar administrert lenkje, inkludert den du er kopla gjennom om du jobbar eksternt. Det er ei forstyrrande handling, ikkje ein uskuldig diagnose, og på ein server kan det vere skilnaden mellom ei økt som overlever og ei som ikkje gjer det.

Avgjerda, i rekkjefølgje

Still tre spørsmål etter kvarandre. Leverte motparten prefikset, noko loggen til backenden eller hans eigen statusutskrift vil vise? Om ja, er profilen konfigurert til å godta og installere ruter, eller undertrykkjer han dei? Om ruta finst ein stad, er oppslagsbana rett for trafikken du testar?

Berre når det første svaret er ja, det andre er ja og det tredje er rett, blir eit supplerande skript forsvarleg, og sjølv då bør du spørje om backenden støttar ruta innfødd. VPN-innstillingsreferansen dokumenterer service-type og den pluginspesifikke dataordboka, og det er der ein bør byrje før ein går ut frå at ein nøkkel finst.

Etter ei godkjend retting, kopla til på nytt og test målet etter adresse og deretter etter namn, og kopla så frå og til igjen for å stadfeste at tilstanden er repeterbar. Éin eigar, éin tabell og ei rute som forsvinn med tunnelen er resultatet som er verdt å ha.

Relaterte artiklar