Mae un ochr i'r twnnel yn llofnodi'r sianel reoli â slot allwedd nad yw'r ochr arall byth yn ei wirio, ac mae'r cysylltiad yn marw â gwall dilysu cyn i unrhyw dystysgrif gael ei chyfnewid. Dyna sut mae anghydweddiad cyfeiriad tls-auth yn edrych, ac mae'n bendant: mae'r un dau ffeil yn methu ar bob ymgais, o bob rhwydwaith. Nid oes dim yn y log yn enwi'r opsiwn rydych chi'n chwilio amdano, a dyna pam mae pobl yn ailadeiladu allweddi ac yn ailddyroddi tystysgrifau nad oeddent erioed wedi torri. Yr ateb yw gwneud y ddau ben yn ategol, neu adael y ddau yn ddau-gyfeiriad, yn hytrach na gwanhau'r gwiriad.

Mae'r methiant yn digwydd cyn y tystysgrifau

Gyda tls-auth mae'r ddau gymar yn dal yr un allwedd a rennir ac mae pob un yn defnyddio un o ddau slot sy'n deillio ohoni: mae un slot yn llofnodi pecynnau rheoli allan, mae'r llall yn dilysu'r rhai sy'n dod i mewn. Mae cyfeiriad 0 a chyfeiriad 1 yn neilltuo'r rolau hynny yn y drefn wrthgyferbyniol, felly rhaid i'r pâr fod yn ategol er mwyn i'r gwiriadau HMAC gyd-fynd. Pan fydd y neilltuo wedi'i wrthdroi ar un ochr, mae'r derbynnydd yn chwilio am lofnod yn y slot anghywir ac yn gwrthod y pecyn. Mae'r sesiwn yn dod i ben yno, a dyna pam mae'r gwall yn ymwneud â dilysu pecynnau yn hytrach nag unrhyw beth y byddai'r storfa dystysgrifau yn ei gynhyrchu.

Mae'r penderfyniad yn bwysig ar gyfer diagnosis, oherwydd mae problem amseru neu lwybr yn gadael marc gwahanol: diffygion ysbeidiol, un cyfeiriad yn methu, neu sesiwn sy'n marw dim ond ar rwydwaith benodol. Mae anghydweddiad cyfeiriad yn methu ar yr ysgydwad llaw cyntaf bob tro, ac mae'n methu yn yr un modd ar beiriant arall sy'n dal yr un dau ffeil. Darllenwch y log ar --verb 4 a dewch o hyd i'r pecyn cyntaf a wrthodwyd yn hytrach na'r llinell olaf. Os bydd y gwrthodiad hwnnw'n digwydd cyn unrhyw gyfnewid tystysgrifau, yr allwedd a rennir a'i chyfeiriad yw'r ddau beth sy'n werth eu gwirio.

What you seeWhat it rules outNext check
Authentication error before any certificate is sentThe data channel is irrelevant; the control channel never authenticatedCompare tls-auth and its direction on both ends
Certificate or handshake failure after the control channel authenticatesThe shared key and its direction already agreeCheck the CA, the certificate dates and the hostname
Session completes but throughput or cipher warnings appearDirection was never the problemCompare the data-channel cipher settings
Startup stops on an options errorThe number itself is not the issueRe-read the inline versus external directive syntax

Ble mae'r rhif yn byw

Mae llawlyfr OpenVPN 2.6 yn dogfennu dau le ar gyfer y cyfeiriad: ail ddadl tls-auth pan fydd yr allwedd mewn ffeil ar wahân, a llinell key-direction annibynnol pan fydd yr allwedd wedi'i mewnosod yn y proffil. Mae'r ddau yn gosod yr un gwerth, felly dylai proffil ddefnyddio'r naill ffurf neu'r llall, byth y ddau. Mae hepgor hefyd yn ddewis, ac mae'n rhoi'r ddau gymar mewn trefniant dau-gyfeiriad sy'n gweithio pan nad yw'r naill ochr na'r llall yn enwi cyfeiriad. Nid yw dau gymar sy'n cario'r un rhif yn y trefniant hwnnw: mae pob un yn disgwyl llofnodi mewn un slot a dilysu yn y llall, ac mae'r ddau yn gwneud hynny yr un ffordd.

# server.conf, external key
tls-auth ta.key 0

# client.ovpn, external key
tls-auth ta.key 1

# client.ovpn, inline key
key-direction 1

Mae'r ffurf fewnosodedig yn gyfarwyddeb ar linell ei hun, nid yn briodoledd ar dag agoriadol y bloc allwedd, ac mae ychwanegu dadl at y tag hwnnw'n wall yn hytrach na newid cyfeiriad. Mae lleoliad yn bwysig hefyd: mae'r gyfarwyddeb y tu allan i'r bloc y mae'n perthyn iddo, felly mae gwerth a ysgrifennwyd y tu mewn i'r bloc yn cael ei ddarllen fel deunydd allwedd. Copïwch y trefniant yr oedd dosbarthwr y proffil yn bwriadu ei gael yn lle dyfeisio pâr, oherwydd efallai bod proffil sy'n gweithio yn erbyn un gweinydd eisoes wedi'i adlewyrchu ar yr ochr arall.

Beth mae'r opsiwn yn ei adael yn llonydd

Nid yw'n amgryptio traffig cymwysiadau. Mae tls-auth yn rhoi HMAC o amgylch pecynnau'r sianel reoli, tra bod y sianel ddata'n cael ei diogelu gan allweddi sesiwn a drafodwyd yn ystod yr ysgydwad llaw, felly nid oes gan gwestiwn trwybwn neu gipher ddim i'w wneud â rhif y cyfeiriad. Nid yw'r gosodiad ychwaith yn ychwanegu ail haen o amgryptio, a dyna'r rhagdybiaeth sy'n gyrru pobl i chwilio am allwedd hirach.

Nid yw'n berthnasol i tls-crypt, mecanwaith sianel reoli gwahanol â'i opsiynau a'i drin allweddi ei hun, ac nid yw'n dweud dim am hunaniaeth tystysgrif unrhyw gymar. Felly dim ond yn profi y mae cyfatebiaeth gyfeiriad sy'n gweithio fod y ddau ben yn cytuno sut i ddilysu'r sianel reoli, nid bod y gadwyn ymddiriedaeth wedi'i dilysu.

Aliniwch y pâr, yna ailgysylltwch

Cymharwch y ddau ffurfweddiad cyn newid y naill na'r llall, oherwydd mae golygu'r ochr a oedd eisoes yn gywir yn dyblu'r gwaith. Mae'r grep isod yn dangos pa fecanwaith mae pob ffeil yn ei ddewis; mae'r rhediad manwl yn dangos a lofnodwyd y sianel reoli o gwbl. Cadwch y ddau allbwn, fel y gellir cymharu'r newid nesaf â chyflwr hysbys.

grep -n -E 'tls-auth|tls-crypt|key-direction' server.conf client.ovpn
openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'hmac|tls error|control channel'

Ailgychwynnwch y ddau gymar ar ôl unrhyw newid, oherwydd mae'r opsiynau hyn yn cael eu darllen unwaith wrth gychwyn ac mae ail-lwytho un ochr yn gadael y pâr yn anghyson am oes y sesiwn hen. Os yw'r defnydd ar hyn o bryd yn gweithio heb gyfeiriad wedi'i ffurfweddu, mae ychwanegu'r gosodiad ar un cymar yn atgynhyrchu'r methiant y gwnaethoch ddechrau ag ef; naill ai gadewch y ddau neu ffurfweddwch y ddau. Newidiwch un pen ar y tro a chadwch y ffeil flaenorol, fel bod atchweliad yn ddau funud o wrthdroi yn hytrach nag ailadeiladu.

Cofnodwch y mecanwaith, y ffeil allwedd a'r cyfeiriad ar gyfer pob pen yn y nodiadau defnydd, oherwydd fel arall bydd y person nesaf yn darllen dau ffeil debyg ac yn tybio y dylai'r rhifau gytuno â'i gilydd. Mae'r cyfeiriad yn fanylyn cydlynu, nid yn uwchraddiad diogelwch: mae'n gwahanu dau gyfeiriad y sianel reoli ac nid yw'n gwneud dim arall.

Erthyglau cysylltiedig