Mae proffil sydd wedi gweithio ers blynyddoedd yn gwrthod cychwyn yn sydyn, ac mae’r neges yn enwi cyfarwyddeb nad oes neb yn cofio ei hychwanegu: key-method. Mae’r canlyniad chwilio nesaf yn awgrymu ychwanegu key-method 2 ar gyfer cydweddoldeb, sef cyngor o gyfnod arall. Mae’r parser a wrthododd y llinell yn un cyfredol, ac nid oes ganddo’r opsiwn hwnnw o gwbl. Mae dileu’r llinell yn trwsio’r cychwyn, ac nid yw’n newid dim yn y ffordd y mae’r ddau gyfoed yn diogelu’r sesiwn.

Y bwlch hwnnw rhwng yr hyn sydd mewn proffil a’r hyn y mae’r protocol yn ei wneud mewn gwirionedd yw’r pwnc cyfan yma, ac mae’n egluro sawl golygiad arall y mae pobl yn ei wneud ar yr un pryd. Mae hefyd yn egluro pam mae’r golygiadau hynny’n dueddol o gyrraedd mewn bwndel.

Y symptom yw gwall parsio, nid methiant handshake

Mae opsiynau’n cael eu darllen cyn anfon unrhyw becyn. Mae proffil â chyfarwyddeb anhysbys yn methu yn y cam hwnnw, felly nid yw’r broses byth yn cyrraedd y rhwydwaith ac ni fydd byth yn cynhyrchu gwall handshake. Mae’r geiriad fel arfer yn nodi’r opsiwn a’r ffeil, sy’n gwneud hwn yn un o’r methiannau hawsaf i’w briodoli. Nid oes pecyn, llwybr na thanwal yn rhan ohono.

openvpn --config /etc/openvpn/client/office.ovpn --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log

Os yw’r neges yn enwi’r gyfarwyddeb, mae’r diagnosis wedi gorffen: mae’r ffeil yn cynnwys rhywbeth nad yw’r adeiladwaith hwn yn ei dderbyn. Os yw’r neges yn enwi llwybr ffeil yn lle hynny, y broblem yw cynnwys neu allwedd ar goll, sef adran wahanol o’r un cam cychwyn.

Yr hyn na ddylech ei gasglu yw bod angen modd protocol hŷn ar y cleient neu’r gweinydd. Mae methiant parsio’n broblem geirfa rhwng eich ffeil a’r deuaidd, ac mae’r deuaidd yn yr achos hwn wedi gollwng gair o’i eirfa.

Mae cyfarwyddeb a fformat weiren yn ddau beth gwahanol

Roedd yr opsiwn key-method hŷn yn dewis sut roedd cyfnewid allweddi TLS yn cael ei ffrâmio, a’r cyfnewid modern yw’r dull aml-becyn y byddai’r opsiwn hwnnw’n ei ofyn amdano. Aeth yr opsiwn i ffwrdd oherwydd nad oedd bellach yn dewis dim; daeth y fformat a enwodd yn unig un. Felly mae dileu’r llinell yn gadael y sesiwn yn defnyddio’r un ffrâmio ag o’r blaen. Ni all golygiad testun newid hynny i’r naill gyfeiriad na’r llall.

Dyna pam mae ailgyflwyno deuaidd hŷn i “adfer” dull 2 yn atgyweiriad anghywir. Nid yw’n adfer dim ond parser hŷn â gwerthoedd diofyn hŷn, ac mae’n costio’r cywiriadau a ddaeth ar ei ôl. Mae’r un rhesymeg yn berthnasol i wanhau gwiriad tystysgrif neu restr seiffrau wrth obeithio y daw’r cysylltiad yn ôl.

Gwiriad defnyddiol yw’r fersiwn a’r ffurfweddiad a barswyd, nid presenoldeb y gair yn y ffeil:

openvpn --version | head -n 1
grep -rn 'key-method' /etc/openvpn/ 2>/dev/null

Beth i’w ddileu, ac o ba ffeil

Golygwch y ffeil y mae’r broses sy’n rhedeg yn ei darllen mewn gwirionedd, a’r ffeil honno yn unig. Ar systemau sydd wedi’u pecynnu, hwnnw fel arfer yw’r proffil o dan gyfeiriadur y cleient neu’r gweinydd a enwir gan yr uned, nid copi yn eich cyfeiriadur cartref rydych yn ei gadw er gwybodaeth. Gall proffil a gynhyrchwyd gael ei ailadeiladu o dempled hefyd, felly bydd newid a wnaed dim ond i’r copi a ddefnyddiwyd yn dychwelyd ar ôl y rhediad darparu nesaf.

Dileuwch y llinell darfodedig a gadewch y pen draw, tystysgrifau, polisi seiffrau a gosodiadau’r sianel reoli yn llonydd. Mae’r rhain yn opsiynau a gefnogir y mae’r broses eu hangen, ac nid ydynt yn ymwneud â’r gwall parsio. Os yw’r un proffil yn cynnwys cyfarwyddebau eraill nad ydych yn eu hadnabod, gwiriwch bob un yn erbyn y fersiwn rydych yn ei rhedeg yn hytrach na dileu grŵp ohonynt nes i’r broses gychwyn.

Yna cychwynnwch yr achos a fwriadwyd a darllenwch ei allbwn cychwyn. Cychwyn glân gyda’r gwrandäwr yn bresennol yw’r cadarnhad bod y cam hwn wedi gorffen; mae prawf cleient wedyn yn ateb cwestiwn gwahanol.

Mae proffil a wrthodwyd a chleient a wrthodwyd yn edrych yr un fath

Mae dau fethiant yn cynhyrchu edafedd cymorth tebyg ac angen tystiolaeth wahanol. Nid yw gweinydd sy’n gwrthod ei ffurfweddiad ei hun byth yn cychwyn, felly ni all unrhyw gleient gysylltu ag ef. Mae gweinydd sy’n cychwyn yn iawn ac yn gwrthod un cleient yn rhedeg, ac mae ei gofnod yn cynnwys y rheswm: problem tystysgrif, opsiwn a wthiwyd nad yw’r cleient yn ei dderbyn, anghysondeb seiffr.

Nid yw’r opsiwn a ddilëwyd yn ddiagnosis ar gyfer yr ail achos, ac mae cyrraedd amdano’n gwastraffu’r un awr ddwywaith. Os yw cofnod y cleient yn dangos gwrthodiad y gweinydd, darllenwch y gwrthodiad hwnnw; os yw’n dangos gwall lleol, y proffil cleient yw’r ffeil i’w harchwilio. Mae cyrraedd am gyfarwyddeb nad yw’n bodoli mwyach yn oedi’r ddau ymchwiliad yr un faint.

Cwestiynau cydweddoldeb na atebodd y llinell byth

Mae proffiliau sy’n cylchredeg gyda’r gyfarwyddeb hon fel arfer yn cario stori am lwyfan penodol, ac mae’r stori’n goroesi’r rheswm technegol. Mae cleient symudol neu fwrdd gwaith yn dal i fod angen proffil cyflawn a gefnogir: cadwyn dystysgrifau y gellir ymddiried ynddi, seiffr data y mae’r ddau ben yn ei derbyn, modd sianel reoli y mae’r ddau ben yn ei weithredu, a dim cyfarwyddebau y mae adeiladwaith y cleient yn eu gwrthod. Nid oes yr un o’r rhain yn cael ei benderfynu gan bresenoldeb neu absenoldeb yr hen linell key-method.

Mae cywasgu’n gwestiwn polisi ar wahân â’r un siâp. Nid yw dileu llinell key-method yn dweud dim am ba un a yw cyfarwyddeb cywasgu’n cael ei chefnogi neu’n dderbyniol yn eich defnyddiad, a dylid gwneud y ddau benderfyniad yn annibynnol. Dileu sawl gosodiad sy’n berthnasol i ddiogelwch ar unwaith nes bod rhywbeth yn cysylltu yw’r ffordd y mae proffil sy’n gweithio yn troi’n un heb esboniad.

Cadwch gofnod byr o’r hyn a ddilëwyd gennych a pham: yr opsiwn, y fersiwn a’i gwrthododd, a’r gorchymyn a ddangosodd y gwall. Bydd angen yn union y tri ffaith hynny ar y person nesaf sy’n etifeddu’r proffil, ac maent yn rhatach i’w hysgrifennu nawr nag i’w hailadeiladu yn ddiweddarach.

Erthyglau cysylltiedig