Cysylltwch â’r cleient 2.x a bydd y proffil yn gweithio; rhowch yr un ffeil i’r cleient 3.x a bydd yn stopio wrth anogiad cyfrinair. Rhowch --auth-user-pass creds.txt i openvpn3 session-start a’r canlyniad yr un peth, oherwydd nid oes gan y cleient mwy newydd unrhyw gam sy’n darllen y ffeil. Mae’r gwrthodiad yn fwriadol: mae cymwysterau yn perthyn i sesiwn, a gwasanaeth sy’n creu sesiwn, nid y broses yn eich terfynell. Dewiswch rhwng yr anogiad rhyngweithiol a’r cynorthwyydd awto-lwytho, a gwybod beth mae pob un yn ei storio.

Pam nad oes unrhyw le i’r ffeil a gadwyd

Yn y dyluniad mwy newydd, mae rheoli cyfluniad a rheoli sesiynau yn wasanaethau ar wahân sy’n siarad dros fws y system. Y gwahanu hwnnw sy’n gadael i ddefnyddiwr cyffredin ddechrau sesiwn heb i ddaemon breintiedig ddarllen ffeil cyfrinair warchodedig ar ei ran. Nid oes lle i gymwysterau sy’n seiliedig ar ffeiliau yn y model hwnnw, oherwydd nid oes cychwyn ar ochr y daemon a fyddai’n eu darllen. Canlyniad y bensaernïaeth yw’r gwrthodiad, nid nodwedd sydd ar goll.

Mae’n werth enwi’r hen batrwm er mwyn ei anghofio’n haws: mae proffil yn cyfeirio at ffeil gymwysterau, ac mae’r daemon yn ei darllen pan fydd y tiwnel yn cychwyn. Yn y model newydd, mae cymwysterau yn perthyn i sesiwn ac yn cael eu cyflenwi pan fydd y sesiwn honno’n dechrau. Mae openvpn3 session-start --config work.ovpn yn gofyn amdanynt, ac mae --auth-user-pass creds.txt yn cael ei wrthod oherwydd na fyddai unrhyw beth ar y llwybr hwnnw’n agor y ffeil. Mae pob rysáit 2.x a gewch yn tybio cam nad yw’n bod mwyach.

Mae cyfluniad a gosodiadau lleol y safle hefyd ar wahân, sy’n esbonio ail syndod. Gall proffil edrych yn gyflawn tra bo’r cysylltiad a gynhyrchir ganddo yn brin o gyfluniad llwybro a datryswr. Mae’r darnau hynny’n cael eu cymhwyso fel gosodiadau lleol y safle, ar wahân i’r ffeil a fewnforiwyd.

Llwybr yr anogiad a’r sesiwn a adewir ganddo

Cyflenwi’r cyfrinair pan fydd y sesiwn yn dechrau yw’r llif gwaith a fwriedir. Mae’r cleient yn gofyn unwaith, yn rhoi’r cymwysterau i gefn y sesiwn, ac yn parhau:

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

Nid oes unrhyw beth yn cael ei ysgrifennu i’r disg ar y llwybr hwnnw. Mae’r sesiwn yn parhau i redeg ar ôl i’r derfynell gau, sy’n synnu pobl sy’n disgwyl i’r proses farw gyda’u cragen. Dyna’n union yw’r pwynt o symud trin sesiynau i wasanaeth. Mae’r sesiwn yn goroesi’r derfynell a ofynnodd amdani, ac mae’n rhaid ei stopio’n benodol.

Ar gyfer gorsaf waith gyda dyn o’i blaen, dyma’r opsiwn mwyaf diogel hefyd, oherwydd nid oes cyfrinach wedi’i storio i’w gwarchod na’i hanghofio. Nid yw ond yn anaddas lle nad oes neb yn bresennol i deipio.

Awtomeiddio heb berson wrth y bysellfwrdd

Lle bo’n rhaid i beiriant gysylltu heb berson, mae’r prosiect yn danfon openvpn3-autoload. Mae’n darllen cyfeiriadur o broffiliau a desgrifiad sy’n cyfateb i bob proffil, ac mae’r desgrifiad yn cyflenwi’r cymwysterau mewn testun plaen. Mae’r cynorthwyydd yn ffeil ddeuaidd ar wahân, fel arfer yn /usr/sbin/openvpn3-autoload, nid yn fflag ar session-start. Mae ei osod yn golygu creu’r cyfeiriadur, copïo’r proffil o dan yr enw y mae’r desgrifiad yn ei ddisgwyl, ac ysgrifennu’r desgrifiad.

Mae gosodiad fesul defnyddiwr yn edrych fel hyn, wedi’i redeg fel y cyfrif a fydd yn berchen ar y sesiwn. Mae modd y cyfeiriadur yn cadw defnyddwyr lleol eraill allan:

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

Mae’r desgrifiad yn enwi’r cymwysterau ac yn gofyn am gychwyn awtomatig. Cadwch werth y cyfrinair allan o reolaeth fersiwn:

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

Yna galwch y cynorthwyydd unwaith a chadarnhau bod y sesiwn yn ymddangos. Yr ail orchymyn yw’r gwiriad, nid cam gosod arall:

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

Wrth gychwyn, mae uned becyniedig o’r enw openvpn3-autoload.service yn defnyddio’r cyfeiriadur system-gyfan /etc/openvpn3/autoload, nid yr un fesul defnyddiwr. Mae angen perchnogaeth root a modd mwy llym ar y lleoliad hwnnw, ac mae’r desgrifiad yn dal y cyfrinair mewn testun clir. Mae’r cyfaddawd yn amlwg: mae’r cyfrinair bellach ar y disg, felly triniwch y cyfeiriadur hwnnw fel cyfrinach, eithriwch ef o gopïau wrth gefn oddi ar y gwesteiwr, a dewiswch y llwybr rhyngweithiol pryd bynnag y bo person yn bresennol.

Methiannau bws sy’n edrych fel methiannau cyfrinair

Nid yw rhai methiannau a briodolir i gymwysterau yn ddim o’r fath. Mae gwall caniatâd sy’n enwi llwybr actifadu’r gwasanaeth yn golygu un o ddau beth: nid yw’r cefn yn rhedeg, neu nid oes gan y galwr ganiatâd i’w actifadu. Ni fydd unrhyw olygu proffil yn newid y naill na’r llall. Gwiriwch gyflwr y gwasanaeth a’r polisi bws a ddanfonwyd cyn cyffwrdd â’r cyfluniad.

Mae’r gorchmynion isod yn gwahanu’r ddau. Mae’r cyntaf yn adrodd a yw’r cefn yn rhedeg; mae’r ail yn dangos gwallau bws diweddar:

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

Y camddarllen cyffredin arall yw sesiwn sy’n ymddangos ac yna’n diflannu ar unwaith. Mae’r patrwm hwnnw fel arfer yn golygu na chafodd gosodiadau lleol y safle eu cymhwyso erioed, felly cododd y tiwnel heb y newidiadau llwybro a datryswr sy’n ei wneud yn ddefnyddiol. Darllenwch y dilyniant yn hytrach na’r llinell olaf: a grëwyd y sesiwn, a gyrhaeddodd gyflwr cysylltiedig, ac a oroesodd hi yw tri ffaith ar wahân.

Pan fydd yr hen gleient yn dal i gael ei ddefnyddio

Mae’r cleient 2.x yn dal i dderbyn ffeil gymwysterau, a gall cylch allweddi ateb ei anogiad heb i’r gyfrinach gyrraedd y disg o gwbl. Mae troellwr yn datrys y cofnod, felly mae’r ffeil yn enwi’r chwiliad yn hytrach na’r cyfrinair. Mae’r trefniant hwn yn dibynnu ar gylch allweddi heb ei gloi, na all cynhwysydd heb sesiwn mewngofnodi na uned sy’n cychwyn cyn i unrhyw un fewngofnodi ei ddarparu. Yna mae’r teclyn chwilio yn adrodd casgliad na all ysgrifennu iddo, felly mae’r gwall yn edrych fel nam cymwysterau pan mai nam cylch allweddi ydyw.

Cyn adeiladu unrhyw beth o hynny, gwiriwch a yw gosodiad keepalive yn y proffil yn tynnu’r angen i ailgychwyn yn gyfan gwbl. Nid yw sesiwn sy’n aros i fyny byth yn cyrraedd yr anogiad rydych yn ceisio ei hawtomeiddio.

Erthyglau cysylltiedig