Mae rhywun yn anfon proffil atoch, rydych yn ei fewnforio, a deg eiliad ar hugain yn ddiweddarach mae cleient yn deialu cyrchfan na wiriwyd gan neb. Darllenwch y ffeil mewn golygydd testun yn gyntaf, oherwydd mae popeth sy'n bwysig yn byw mewn dwrn o gyfarwyddebau: remote, proto, port, ca, cert, tls-crypt ac verify-x509-name. Mae'r gweddill yn ragosodiadau, a dyna lle mae'r syndod yn byw.

Rhestrwch bob pen draw y gall y ffeil ei ddefnyddio

Dechreuwch gyda'r pen draw, oherwydd gall un proffil gynnwys sawl un. Mae grep -nE '^[[:space:]]*(remote|proto|port|remote-random|connection)' profile.ovpn yn argraffu pob ymgeisydd yn nhrefn y ffeil, gan gynnwys y rhai sydd wedi'u nythu y tu mewn i flociau <connection> mewnlin.

Pan fydd cyfarwyddeb yn hepgor porth, mae'r cleient yn disgyn yn ôl i ragosodiad y gwrandawr, felly dim ond remote vpn.example.com sy'n golygu porth 1194 gyda pha bynnag proto sy'n ymddangos yn ddiweddarach yn y ffeil. Mae sawl llinell remote blaen yn ddewisiadau eraill: mae'r cleient yn eu profi mewn trefn oni bai bod remote-random yn eu cymysgu, ac nid yw byth yn rhoi gwesteiwr gweithredwr arall yn ei le yn ddistaw. Dau linell remote ar barthau digyswllt yw'r pwynt lle rydych yn stopio ac yn gofyn pa un a oedd i fod.

Sylwch ar sillafu proto hefyd. Derbynnir tcp fel cyfystyr i tcp-client ochr y cleient, ond mae tcp-server mewn proffil cleient yn wall ffurfweddu sy'n tueddu i hongian yn hytrach na methu'n lân.

Cadarnhewch yr enw, yna'r porth

Mae dig +short vpn.example.com yn dweud wrthych a yw'r enw'n bodoli a pha gyfeiriadau y mae'n eu dychwelyd, a gall pen draw aml-gyfeiriad neu y tu ôl i brocsi ddychwelyd sawl un yn gyfreithlon. Mae datrys yr enw yn ragofyn, nid yn brawf o berchnogaeth; gall unrhyw un bwyntio enw at gyfeiriad, a gall un cyfeiriad ateb dros lawer o enwau.

Yna gwiriwch y gwrandawr ar y porth a gawsoch, gan gyd-fynd â'r cludo. Dros TCP mae openssl s_client -connect vpn.example.com:1194 -servername vpn.example.com yn argraffu'r gadwyn y mae'r gweinydd yn ei chyflwyno. Dros UDP mae angen DTLS: mae openssl s_client -dtls1_2 -connect vpn.example.com:1194 yn cynnal yr un cydlawenhau dros datagramau. Mae cydlawenhau wedi'i gwblhau yn profi bod rhywbeth yn gwrando ac yn dal tystysgrif, sy'n fwy nag y mae ping yn ei ddangos ac yn llai na'r hyn y mae gosodiadau ymddiriedolaeth y proffil ei hun yn ei fynnu.

Pan fydd y cydlawenhau yn methu a'r gwesteiwr yn ateb ping, mae'r porth yn debygol o fod yn anghywir neu wedi'i hidlo. Cymerwch hynny'n rheswm i ofyn am y porth cywir, nid yn wahoddiad i sgrwbio'r rhai cyfagos. Mae nc -vzu hefyd yn adrodd llwyddiant ar rai staciau heb ddim yn gwrando, felly nid yw prawf UDP noeth yn golygu dim heb gydlawenhau y tu ôl iddo.

Darllenwch y pinnau ymddiriedolaeth ar wahân i'r cyfeiriad

Mae'r cyfeiriad yn penderfynu i ble mae'r cleient yn mynd; mae'r bloc ymddiriedolaeth yn penderfynu pwy y mae'n ei gredu ar ôl cyrraedd. Mae verify-x509-name "vpn.example.com" name yn pinio enw cyffredin y pwnc, ac mae remote-cert-tls server yn mynnu'r defnydd allwedd estynedig ar gyfer dilysu'r gweinydd. Dylai proffil a roddir i chi gan weithredwr gario'r ddau.

Chwiliwch am ca, bloc <ca> mewnlin, ac naill ai tls-crypt neu tls-auth. Mae proffil sy'n defnyddio tls-auth angen key-direction 1 ar y cleient pan fo ochr y gweinydd yn defnyddio cyfeiriad 0, ac mae anghytundeb yn methu'r cydlawenhau â gwall TLS sy'n darllen fel nam tystysgrif. Mae CA mewnlin nad yw'n perthyn i'r gweithredwr y gwnaethoch ddatrys ei enw gynnau yn golygu bod y ffeil wedi'i chyfansoddi o ddau ffynhonnell, a dyna'r achos sy'n werth ei wrthod yn llwyr.

Mae verify-x509-name yn derbyn moddau name, name-prefix neu subject, ac mae'r olaf yn disgwyl enw gwahaniaethol llawn yn yr union drefn y mae'r gweinydd yn ei argraffu. Dewiswch fodd sy'n cyd-fynd â siâp y gwerth, oherwydd mae'r cleient yn gwrthod pob cysylltiad yn hytrach na rhybuddio am fethiant agos. Ar gyfer ffeil na wnaethoch ei hysgrifennu, name gyda gwesteiwr enw plaen yw'r dewis lleiaf syndod.

Gwiriwch yr opsiynau sy'n methu'n ddistaw

Mae OpenVPN 2.6 yn trafod seiffrau drwy data-ciphers, a gall proffil sy'n cario dim ond hen linell cipher AES-256-CBC gwblhau'r sianel reoli ac wedyn stopio ar ddata. Mae darllen y gwerth hwnnw'n dweud wrthych a yw'r ffeil yn rhagflaenu'r gweinydd rydych yn ymuno ag ef; mae tudalen llawlyfr 2.6 yn rhestru trefn y trafodaethau os oes angen ei dyfynnu'n ôl i'r gweithredwr.

Mae auth-user-pass heb enw ffeil yn golygu y bydd y cleient yn gofyn, felly mae proffil sy'n edrych yn hunangynhwysol yn dal i fod angen manylion mewngofnodi. Mae auth-user-pass credentials.txt yn golygu ei fod yn disgwyl ffeil na chawsoch hi, mae'n debyg. Mae nobind a resolv-retry infinite yn gyffredin ac yn ddiniwed, tra bo explicit-exit-notify ar gyfer UDP yn unig ac yn ddiwerth dros TCP.

Nid oes yr un o'r rhain yn newid i ble mae'r proffil yn cysylltu, ond mae pob un yn newid a fydd yn cysylltu o gwbl, ac nid oes yr un ohonynt i'w gweld yn nrôr fewnforio'r cleient.

Penderfynwch, yna cofnodwch beth a benderfynwyd

Mae tri chanlyniad ar ôl y darllen hwn, a dim ond un ohonynt yw mewnforio. Pan fydd y pen draw a'r pinnau yn cyfateb i gyfarwyddiadau a gawsoch drwy sianel ar wahân, mewnforiwch ef. Pan fydd y pen draw yn edrych yn iawn ond nad yw'r pinnau neu'r CA yn cyfateb, gofynnwch am ffeil gywiredig. Pan fydd y ffeil yn cymysgu pen draw neu ddeunydd CA o wahanol ffynonellau, dilëwch hi a gofynnwch am gopi newydd.

Cofnodwch y hash a adolygwyd gennych, fel y gall y person nesaf wybod a yw'r ffeil wedi newid: sha256sum profile.ovpn, wedi'i basteio wrth ymyl y pen draw yn eich nodiadau. Mae proffil yn drefniant cyfan, nid yn rhestr o gyfeiriadau, felly peidiwch byth â chyflenwi remote sy'n gweithio i mewn i floc ymddiriedolaeth rhywun arall tra'n cadw eu manylion mewngofnodi.

Cadwch allweddi preifat a chyfrineiriau allan o sgrinluniau ac edafedd sgwrsio tra'n cymharu nodiadau. Mae'r pen draw a'r opsiynau nad ydynt yn gyfrinachol yn ddigon i ofyn cwestiwn manwl, a'r gweddill mae'n perthyn i'r ffeil.

Os byddwch yn ei fewnforio a bod y cynnig cyntaf yn methu, rhedwch y cleient gyda --verb 3 a darllenwch y deg llinell gyntaf: mae'r cyfeiriad remote a ddatryswyd, y proto a drafodwyd a'r gwall TLS yn ymddangos yn y drefn honno, sy'n dweud wrthych pa un o'r gwiriadau uchod a hepgorwyd gennych.

Erthyglau cysylltiedig