GNOME ezarpenetan Inportatu fitxategitik… aukeratu nuen, hornitzailearen bezeroarekin funtzionatzen duen profila aukeratu nuen, eta elkarrizketa-koadroa itxi egin zen zerrendara ezer gehitu gabe. Bigarren ordenagailu eramangarri batean inportazioa amaitu zen, konexioa profilaren izenarekin agertu zen, eta gero lehen autentifikazio-eskaeran huts egin zuen. NetworkManager-ek ez du inoiz zure .ovpn edo wg-quick fitxategia den bezala exekutatzen. Fitxategia analizatzaile bati ematen dio, analizatzaileak NetworkManager-en beraren konexio-formatura bihurtzen du, eta handik aurrera tunela analizatutako objektu horretatik eraikitzen da — sekretuak, bideak, DNS eta guztia. Beraz, galdera erabilgarria ez da fitxategia zergatik dagoen hondatuta, baizik eta analisia gertatu zen eta zer gorde zuen.

Zer egiten duen inportazioak fitxategiarekin

OpenVPN-(e)rako analizatzailea plugin paketean bizi da, eta sortzen duen konexioak org.freedesktop.NetworkManager.openvpn bezalako D-Bus zerbitzu baterantz egiten du. Pluginik gabe, analizatzailerik ez: mota hori nmcli-rentzat ezezaguna da, eta VPN-a gehitzeko zerrenda grafikoak agian ez du inportazio-sarrerarik erakutsiko. WireGuard puntu garrantzitsu batean desberdintzen da — NetworkManager-ek bere WireGuard ezarpenak ditu 1.30 serieaz geroztik, beraz ez dago plugin pakete bereizirik, baina wg-quick irakurgailua hura dakarren buildetan bakarrik dago.

Edozein modutan, fitxategia behin bakarrik irakurtzen da. Emaitza keyfile gisa idazten da /etc/NetworkManager/system-connections/ pean, konexioaren izenarekin, root-en jabetzakoa eta beste erabiltzaileentzat irakurtezina gako-materiala duelako. Keyfile hori da orain konexioa; jatorrizko .ovpn geroago editatzeak ez du ezer aldatzen.

Hiru sintoma hiru fase desberdinetakoak dira. Inportazio-sarrerarik ez edo mota ezezaguna izateak plugin edo bertsio falta dela esan nahi du. Direktiba bat izendatzen duen inportazio-erroreak analizatzaileak fitxategia irakurri eta zati bat baztertu zuela esan nahi du. Badagoen baina inoiz aktibatzen ez den konexioak analizatutako objektua osatugabea dela edo zerbitzariak baztertzen duela esan nahi du. Erabaki hiru kasuetatik zein duzun ezer editatu aurretik.

Egiaztatu plugina profila araztu aurretik

Falta den plugin bat profil hondatu bat bezalakoa da itxuraz, beraz, egiaztatu paketea lehenik. Debian eta Ubuntu-n OpenVPN euskarria network-manager-openvpn eta mahaigaineko laguntzaile gisa dator; Fedoran paketeak NetworkManager-openvpn eta NetworkManager-openvpn-gnome dira; Arch-en networkmanager-openvpn da.

dpkg -l network-manager-openvpn-gnome | tail -n 2
rpm -q NetworkManager-openvpn
pacman -Q networkmanager-openvpn

Gero inportatu bide absolutu batetik: nmcli connection import type openvpn file /home/you/profile.ovpn. Bide erlatiboek normalean funtzionatzen dute, baina direktorioa aldatu duen shell batek inportazio azkarra bihurgune bihurtzen du. WireGuard-erako egiaztatu nmcli --version eta ziurtatu kernel aldea badagoela modprobe wireguard erabiliz; modulurik gabeko makinan arrakasta duen inportazioak gailua inoiz agertzen ez den konexio bat uzten dizu. nmcli erreferentzia import azpikomandoa eta onartutako mota-izenak dokumentatzen ditu. type wireguard zuzenean baztertzen bada, build hori funtzio hau baino zaharragoa da, eta urrats zuzena banaketa-pakete bat edo backport bat da — ez konfigurazioa direktorio arbitrario batera kopiatu eta zerbait irakurriko duelakoan.

Irakurri OpenVPN konexioa, ez .ovpn fitxategia

Konexioa sortu ondoren, irakurri analizatutako ezarpenak fitxategia berriro irakurtzen duzun beharrean: nmcli connection show "Work VPN" | grep -E '^vpn\.'. Remote eta ataka, garraioa, identitate-materiala — ca, cert, key, tls-auth edo tls-crypt — eta autentifikazio-metodoa behar dituzu. Gako pribatuaren pasahitza duen profilean, gehitu sudo nmcli --show-secrets connection show "Work VPN" eta begiratu secret flagak: 0 none da, beraz sekretua keyfilean dago; 1 agent-owned da; 2 not-saved da, hau da, ez da inoiz keyfilera idazten; 4 not-required da, hau da, ez da sekreturik behar. Bitzak dira, ez eskala, beraz 3 agent-owned gehi not-saved da. Saioan behin eskatzen den sekretua agent-owned (1) da, agenteak eskatuta; horretarako ez dago flag-zenbaki berezirik. Flagen desadostasuna ohiko arrazoia da profila mahaigaineko apletetik konektatzeko eta script batetik edo abioan huts egiteko.

Analizatzaileak zer bota duen ikusteko modurik azkarrena plugina fitxategia berriro idaztera eskatu eta gero alderatzea da: nmcli connection export "Work VPN" /tmp/roundtrip.ovpn. Diff horretan desagertzen diren direktibak ez dira egongo konexio unean. Hookak susmagarri ohikoak dira — script-security, up, down eta route-up script bat baimen altuekin exekutatzen dela espero dute eta nahita ez dira eramaten. Ez jaitsi egiaztapena eta ez eman pribilegio gehigarririk inportazioa lortzeko; onartzen ez den aukera batek pluginaren funtzio-multzoa islatzen du normalean, ez zerbitzari eskuraezina. Mugitu jokabide hori NetworkManager-en dispatcher script batera edo zerbitzari aldeko politikara.

Egiaztatu identitate-eremuak bizirik atera direla ere: CA erreferentzia, remote-cert-tls eta profilean oinarritzen zen edozein izen-egiaztapen. Hauek gabe igotzen den konexioak agian helbide horretan erantzuten duen edozerrekin hitz egiten ari da.

Irakurri WireGuard konexioa, ez wg-quick fitxategia

wg-quick fitxategia shell semantika duen formatua da; inportatutako konexioa ezarpen multzo bat da. PrivateKey interfazearen gako pribatua bihurtzen da, Address IPv4 eta IPv6 helbide bat edo gehiago bihurtzen dira, DNS NetworkManager-en resolver propietateetara mapatzen da, MTU wireguard.mtu-ra mapatzen da (wg-quick-en berezko balio lehenetsia 1420 da), eta peer bloke bakoitza peer sarrera bihurtzen da gako publikoarekin, endpointekin, baimendutako IPekin eta persistent keepalive-arekin. Inprimatu zer gorde zen nmcli --show-secrets connection show wg0 erabiliz; peer zerrenda irteera horretan agertzen ez bada, irakurri keyfilea:

sudo sed -n '/^\[wireguard\]/,/^\[/p' /etc/NetworkManager/system-connections/wg0.nmconnection

Bizirik irauten ez duena wg-quick-en shell erdia da. PreUp, PostUp, PreDown, PostDown eta Table tresna horren jokabidea dira, ez WireGuard interfaze baten atributuak, beraz ezerk ez ditu exekutatzen inportazioaren ondoren. Jatorrizkoak Table = off erabili bazuen bide lehenetsia bakean uzteko, NetworkManager-en bertsio berriek ip4-auto-default-route eta ip6-auto-default-route eskaintzen dituzte helburu bererako; ezarri horiek modu esplizituan konexioak scripta bezala jokatuko duela suposatu beharrean. Bide pertsonalizatu bat bultzatzen zuen hook batek bide hori behar du konexioaren bideratze-ezarpenetan, bestela faltan egongo da.

Eman konexioari jabide bakarra

Hurrengo hutsegite klasikoa hurrengo abiora arte funtzionatzen duen eta gero begiztan sartzen den konexioa da. Normalean [email protected] oraindik gaituta zegoen aurreko esperimentu batetik, edo hornitzailearen bezeroak bere daemona abiarazten zuen, eta bi jabeek bide eta DNS berberak idazten zituzten helmuga bererako. NetworkManager-ek resolverra bere bideaz ezartzen du, wg-quick-ek resolvconf bidez idazten du, eta azken idazleak irabazten du — beraz izen-ebazpena funtzionatzen du, gero gelditzen da, gero berriro funtzionatzen du. Egiaztatu systemctl status wg-quick@wg0, nmcli connection show --active eta ip link show type wireguard, gero desgaitu bigarren jabea bere metric-a doitu beharrean.

Benetan biak behar badituzu, eman interfaze bereiziak eta baimendutako IP elkarren gainagintzarik gabeak, eta utzi bide lehenetsia zehazki batek instalatzen. Metric ezberdineko bi bide lehenetsi ez dira split tunnel; bigarren abiarazten den zerbitzuak erabakitako lasterketa da. Eta berriz konektatu ondoren, ikuskatu berriro aplikatutako egoera — resolverraren eskuzko aldaketa puntual batek gauzak funtzionarazteak ez du inportazioa osoa denik frogatzen.

Egiaztatu trafikoarekin eta iraun berrabiarazte bat

Igo konexioa nmcli connection up "Work VPN" erabiliz, eta gero irakurri egoera, helbidea eta bideak ikonoan fidatu beharrean: nmcli device show wg0 | grep -E 'GENERAL.STATE|IP4.ADDRESS|IP4.ROUTE', ip route show default eta tunelean barruan bakarrik ebazten den izen baten benetako kontsulta. Handshake edo ping arrakastatsuak kriptografia funtzionatzen duela baino ez du frogatzen; ez du ezer esaten birbidaltzeaz, split tunnel aurrizkiez edo DNS pribatuaz, eta horiek izaten dira hausten diren zatiak.

Gero berrabiarazi eta errepikatu. Autoconnect jokabidea, izenez aldatutako interfazea eta gailuaren ondoren kargatzen den plugina abio garbi batean bakarrik ikusten diren hutsegiteak dira. journalctl -u NetworkManager -b --no-pager | tail -n 40— honek erakusten du zer egin zuen daemonak konexio honekin abio honetan. Bigarren ordenagailu baterako, kopiatu keyfilea eta mantendu root-en jabetzan 600 moduarekin, edo erabili nmcli connection export OpenVPN-rako eta inportatu berriro sortutako .ovpn — esportazio-bideak ez du WireGuard baliokiderik, beraz norabide hori fitxategi-kopia edo jatorrizko babestutik egindako inportazio berria da.

Bertsio laburra, hurrenez hurren: egiaztatu plugina edo NetworkManager bertsioa, inportatu bide absolututik, irakurri analizatutako ezarpenak secret flagekin, alderatu OpenVPN esportazioa jatorrizkoarekin, egiaztatu hookak eta bideak WireGuard aldean, desgaitu edozein bigarren jabe, eta gero berrabiarazi ondoren egiaztatu izen-ebazpena eta bide-taula. Konexio batek hori guztia gainditzen duenean, hasi zuen profil fitxategia biltegiratze babestura itzul daiteke.

Erlazionatutako artikuluak