Ferbynje mei de 2.x-klient en it profyl wurket; jou itselde bestân oan de 3.x-klient en hy stoppet by in wachtwurdoanfrega. Jou --auth-user-pass creds.txt oan openvpn3 session-start en it resultaat is itselde, want de nijere klient hat gjin stadium dat it bestân lêst. De wegering is bewust: ynloggegevens hearre by in sesje, en in sesje wurdt makke troch in tsjinst, net troch it proses yn jo terminal. Kies tusken de ynteraktive oanfrega en de autoload-help, en wit wat elk fan beide bewarret.

Wêrom't it bewarre bestân nearne hinne kin

Yn it nijere ûntwerp binne konfiguraasjebehear en sesjebehear aparte tsjinsten dy't oer de systeembus prate. Krekt dy skieding lit in gewoane brûker in sesje begjinne sûnder dat in befoarrjochte daemon yn syn namme in beskerme wachtwurdbestân lêst. Bestânsbasearre ynloggegevens hawwe gjin plak yn dat model, want der is gjin start oan de daemonkant dy't se lêze soe. De wegering is in gefolch fan de arsjitektuer, net in ûntbrekkende funksje.

It is de muoite wurdich it âlde patroan te neamen, sadat it makliker is it ôf te learen: in profyl ferwiist nei in bestân mei ynloggegevens, en de daemon lêst it as de tunnel begjint. Yn it nije model hearre ynloggegevens by in sesje en wurde se levere as dy sesje begjint. openvpn3 session-start --config work.ovpn freget derom, en --auth-user-pass creds.txt wurdt wegere om't neat op dat paad it bestân iepenje soe. Elk 2.x-resept dat jo fine, giet út fan in stadium dat net mear bestiet.

Konfiguraasje en site-lokale ynstellings binne ek skieden, wat in twadde ferrassing ferklearret. In profyl kin folslein lykje wylst de ferbining dy't it makket gjin routing- en resolverkonfiguraasje hat. Dy ûnderdielen wurde as site-lokale ynstellings tapast, apart fan it ymportearre bestân.

It paad fan de oanfrega en de sesje dy't it efterlit

It wachtwurd leverje as de sesje begjint is de bedoelde wurkstream. De klient freget ien kear, jout de ynloggegevens oan de sesje-backend en giet troch:

openvpn3 session-start --config work.ovpn
openvpn3 sessions-list

Op dat paad wurdt neat nei de skiif skreaun. De sesje bliuwt ek draaien neidat de terminal sluten is, wat minsken ferrast dy't ferwachtsje dat it proses mei har shell stjerre sil. Krekt dat is it doel fan it ferpleatsen fan sesjebehear nei in tsjinst. De sesje oerlibbet de terminal dy't derom frege hat, en hy moat eksplisyt stoppe wurde.

Foar in wurkstasjon mei in minske derfoar is dit ek de feilichste opsje, want der is gjin bewarre geheim om te beskermjen of te ferjitten. It is allinne ûngeskikt dêr't nimmen oanwêzich is om te typen.

Automatisearring sûnder in minske by it toetseboerd

Dêr't in masine ferbine moat sûnder in minske, leveret it projekt openvpn3-autoload. It lêst in map mei profylen en in byhearrende beskriuwer per profyl, en de beskriuwer leveret de ynloggegevens yn gewoane tekst. De help is in apart binêr bestân, meastentiids by /usr/sbin/openvpn3-autoload, net in flach op session-start. It opsette betsjut de map oanmeitsje, it profyl kopiearje ûnder de namme dy't de beskriuwer ferwachtet, en de beskriuwer skriuwe.

In opset per brûker sjocht der sa út en wurdt draaid as it akkount dat de sesje besitte sil. De mapmodus hâldt oare lokale brûkers bûten:

mkdir -m700 -p ~/.openvpn3/autoload
cp work.ovpn ~/.openvpn3/autoload/client.conf
$EDITOR ~/.openvpn3/autoload/client.autoload

De beskriuwer neamt de ynloggegevens en freget om in automatyske start. Hâld de wachtwurdwearde bûten ferzjekontrôle:

{
  "autostart": true,
  "user-auth": {
    "autologin": true,
    "username": "svc-vpn",
    "password": "change-this-value"
  }
}

Rop dan de help ien kear oan en befêstigje dat de sesje ferskynt. It twadde kommando is de kontrôle, net noch in opsetstap:

/usr/sbin/openvpn3-autoload --directory ~/.openvpn3/autoload
openvpn3 sessions-list

By it opstarten brûkt in ferpakke ienheid mei de namme openvpn3-autoload.service de systeemwide map /etc/openvpn3/autoload, net dy per brûker. Dy lokaasje freget root-eigendom en in strangere modus, en de beskriuwer hâldt it wachtwurd noch altyd yn klar tekst. De ôfweging is dúdlik: it wachtwurd sit no op de skiif, behannelje dy map dus as in geheim, slút it út fan backups bûten de host, en kies it ynteraktive paad as der in minske oanwêzich is.

Busflatings dy't op wachtwurdflatings lykje

Guon flatings dy't oan ynloggegevens taskreaun wurde, binne hielendal net sa. In tastimmingsflater dy't it aktivearjepaat fan 'e tsjinst neamt, betsjut ien fan twa dingen: de backend is net oan, of de oanropper hat gjin tastimming om it te aktivearjen. Gjin profylbewurking sil ien fan beide feroarje. Kontrolearje de steat fan 'e tsjinst en it levere busbelied foardat jo de konfiguraasje oanreitsje.

De kommando's hjirûnder skiede de beide. It earste rapportearret oft de backend draait; it twadde toant resinte busflatings:

systemctl status openvpn3-service-client
journalctl -b -u openvpn3-service-client --no-pager | tail -20

De oare faak foarkommende misfetting is in sesje dy't ferskynt en dan fuortendaliks ferdwynt. Dat patroan betsjut meastentiids dat de site-lokale ynstellings nea tapast binne, sadat de tunnel omheech kaam sûnder de routing- en resolverferoarings dy't him nuttich meitsje. Lês de folchoarder, net de lêste rigel: oft de sesje makke is, oft er in ferbûne steat berikte en oft er oerlibbe hat, binne trije aparte feiten.

As de âldere klient noch brûkt wurdt

De 2.x-klient akseptearret noch in bestân mei ynloggegevens, en in kaai-ring kin op syn oanfrega antwurdzje sûnder dat it geheim ea de skiif berikt. In wrapper lost de yngong op, sadat it bestân it sykjen neamt ynstee fan it wachtwurd. Dizze regeling hinget ôf fan in ûntsletten kaai-ring, wat in kontener sûnder oanmeldsesje of in ienheid dy't start foardat immen oanmeldt, net leverje kin. It sykark helpt dan in kolleksje melde dêr't it net yn skriuwe kin, sadat de flater op in ynloggegevensflater liket wylst it in kaai-ringflater is.

Foardat jo ien fan dizze dingen bouwe, kontrolearje oft in keepalive-ynstelling yn it profyl de needsaak om opnij te starten hielendal weinimt. In sesje dy't oerein bliuwt, berikt nea de oanfrega dy't jo automatisearje wolle.

Relatearre artikelen