Tagiau defnyddio yw'r rheswm arferol dros droi at y nodwedd hon: dylai pob cysylltiad gario rhywbeth fel safle neu rôl, a dylai'r gweinydd ei ddarllen heb ddyfeisio ail fformat credlynnau. Mae OpenVPN cymunedol eisoes yn meddu ar y mecanwaith, ac mae'n fach. Y rhan sy'n brathu yw'r disgwyliadau. Nid yw gosod newidyn cyffredin yn y proffil cleient yn gwneud dim ar y gweinydd, a dim ond profi bod y cleient wedi'i anfon y mae gwerth sy'n cyrraedd o'r diwedd.

Mae hwn yn redegfa ar gyfer y llwybr sy'n gweithio, y cam gwirio sy'n dangos beth a gyrhaeddodd mewn gwirionedd, a'r ail-droi sy'n gadael dim bachyn hanner-gyfluniedig ar ôl. Nid oes angen tystysgrif newydd, ategyn newydd na estyniad protocol ar unrhyw beth yma.

Gosodwch y newidyn a galluogwch y llwybr

Mae dwy linell yn gwneud y gwaith yn y proffil cleient, ac mae'r ddwy yn angenrheidiol. Heb y gyntaf, nid oes dim i'w anfon; heb yr ail, nid yw'r cleient byth yn cynnig gwybodaeth cyfoedyn o gwbl. Nid yw'r drefn yn bwysig, ac mae hynny'n werth ei wybod oherwydd bod y ddwy linell yn aml yn gorffen mewn gwahanol rannau o broffil a gynhyrchir. Y peth sy'n bwysig yw bod y ddwy yn goroesi pa bynnag ailysgrifennu a wneir i'r proffil cyn i'r cleient ei ddarllen.

setenv UV_DEPLOY field-support
push-peer-info

Nid addurn yw'r rhagddodiad UV_. Mae newidyn DEPLOY cyffredin yn aros yn lleol i broses y cleient ac ni chaf ei drosglwyddo byth, tra bod y ffurf â rhagddodiad yn ofod enwau y mae'r protocol yn ei gadw ar gyfer meysydd a ddiffinnir gan y defnyddiwr. Cadwch weddill y proffil cymeradwy yn gyfan a chadarnhewch fod y cleient rydych yn ei ddefnyddio yn cefnogi'r ddau gyfarwyddeb cyn eu rhoi ar waith.

Mae un gwiriad ymarferol yn perthyn yma yn hytrach nag ar y diwedd: gwnewch yn siŵr bod y cyfarwyddeb yn cyrraedd deuaidd y cleient ac nad yw'n cael ei lyncu gan lapio. Gall cleient graffig sy'n cynhyrchu ei linell orchymyn ei hun, neu ryngwyneb rheoli sy'n ail-lwytho proffil a storiwyd, ollwng llinellau nad ydynt yn eu hadnabod. Os nad yw'r gweinydd yn gweld dim, dyma'r lle cyntaf i edrych.

Darllenwch y maes o fachyn y gweinydd

Ar ochr y gweinydd, mae gwybodaeth cyfoedyn a dderbyniwyd yn cael ei dilysu a'i mewnosod yn amgylchedd llif gwaith y cysylltiad, a dyna sy'n ei gwneud yn ddarllenadwy o fachyn heb unrhyw waith protocol gennych chi. Nid oes angen i'r gweinydd ddadansoddi'r sianel reoli na storio unrhyw beth ar eich cyfer; mae'r gwerth yn syml yn bresennol wrth i'r cysylltiad gael ei osod. Mae sgript client-connect leiaf sy'n cofnodi'r label wrth ymyl yr enw dilysedig yn edrych fel hyn.

#!/bin/sh
# /etc/openvpn/server/hooks/label.sh
printf '%s %s\n' "$common_name" "${UV_DEPLOY:-unset}" \
  >> /var/log/openvpn/deploy-labels.log

Darllenwch y newidyn trwy'r amgylchedd yn hytrach na dadansoddi'r log, a rhowch werth diofyn iddo bob tro. Mae ${UV_DEPLOY:-unset} yn cadw'r sgript yn gweithio ar gyfer cleientiaid nad ydynt byth yn anfon y maes, sef y cyflwr arferol yn ystod cyflwyniad fesul cam. Peidiwch â thywallt yr holl amgylchedd i mewn i log i ddod o hyd i'r enw; mae'n cynnwys llawer mwy na'r label, gan gynnwys gwerthoedd nad oeddech yn bwriadu eu cadw.

Rhedwch y sgript â llaw a bydd yn adrodd unset am bopeth, oherwydd nid yw cragen â llaw yn cario amgylchedd y cysylltiad. Nid yw hynny'n nam yn y sgript ac nid yw'n dystiolaeth bod y maes ar goll. Profwch ef trwy gysylltiad go iawn, sef yr unig gyd-destun lle mae'r newidyn yn bodoli.

Gwirio beth a gyrhaeddodd mewn gwirionedd

Cysylltwch un cleient â'r label ac un hebddi, yna darllenwch y ffeil. Y pâr yw'r prawf: dylai un linell gario'r gwerth a'r llall gario'r gwerth diofyn, a dylai'r ddwy enwi'r un hunaniaeth ddilysedig rydych yn ei disgwyl.

tail -n 5 /var/log/openvpn/deploy-labels.log
# field-support deployed-client-07
# unset         legacy-laptop-02

Siap yr allbwn yw'r llinellau sylw hynny, nid trawsgrifiad o'ch gweinydd; darllenwch eich ffeil eich hun. Os yw'r ail gleient hefyd yn dangos gwerth, mae'r newidyn wedi'i osod yn rhywle arall yn yr amgylchedd, ac rydych yn darllen gosodiad hen ffasiwn yn hytrach na maes y cyfoedyn.

Gwiriwch log y gweinydd ar gyfer y cysylltiad hefyd. Gall gwybodaeth cyfoedyn ymddangos yno, sy'n gyfleus ar gyfer dadfygio ac yn rheswm dros gadw'r gwerthoedd yn ddiflas: dim enwau pobl, dim rhifau tocynnau, dim byd y byddech yn teimlo'n anghyfforddus petai darllenydd log yn ei weld.

Triniwch y label fel haeriad, nid hunaniaeth

Gall unrhyw un sy'n gallu golygu proffil y cleient newid y tag, ac nid yw'r twnnel yn cael ei ddilysu yn gwneud y tag yn awdurdodol. Mae'r cludiant yn diogelu'r gwerth ar eu taith; nid yw'n ardystio'r haeriad. Mae awdurdodiad yn dal i berthyn i'r hunaniaeth ddilysedig ac i gofnod cofrestru sy'n eiddo i'r gweinydd, gyda'r label yn cael ei chymharu â'r cofnod hwnnw pan fydd yn bwysig.

Mae'r gwahaniaeth hwnnw'n penderfynu lle y gellir defnyddio'r label. Defnydd da yw cyfeirio sesiwn i'r ffeil log gywir, dewis grŵp arddangos mewn dangosfwrdd, neu dagio sesiwn cymorth fel y gall rhywun ddod o hyd iddi yn nes ymlaen. Defnydd gwael yw derbyn dyfais i isrwydwaith, dewis polisi mur tân, neu benderfynu pa ddata cwsmer y caiff y sesiwn ei ddarllen.

Dilyswch y gwerth cyn iddo gyrraedd llwybr, ymholiad neu orchymyn cragen. Mae rhestr caniatáu o linynnau disgwyliedig yn ddigon ar gyfer tag defnyddio, ac nid yw'n costio dim. Peidiwch byth â mewnosod llinyn a ddarperir gan gyfoedyn i mewn i linell orchymyn cragen, a chwmpaswch unrhyw sylw a storiwyd i'r sesiwn yn hytrach nag i gyfeiriad twnnel y bydd y cleient nesaf yn ei ailddefnyddio.

case "${UV_DEPLOY:-}" in
  field-support|field-qa|lab) : ;;
  *) UV_DEPLOY=unknown ;;
esac

Aildrowch ef yn lân

Mae tynnu'r nodwedd yn ddau ddilead ac un gwiriad. Tynnwch y llinellau setenv a push-peer-info o broffil y cleient, yna tynnwch neu analluogwch y bachyn a'i darged log ar y gweinydd.

grep -rn 'UV_DEPLOY\|push-peer-info' /etc/openvpn/
tail -n 3 /var/log/openvpn/deploy-labels.log

Ailgysylltwch un cleient wedyn a chadarnhewch fod y llinell log yn stopio ymddangos. Mae bachyn sy'n parhau i danio ar ôl y newid proffil fel arfer yn ail broffil sydd o hyd yn cael ei ddefnyddio ar ddyfais prawf, ac mae dod o hyd iddo nawr yn rhatach na dod o hyd iddo yn ystod archwiliad.

Yr hyn sy'n aros ar y diwedd yw darn bach, cyfyngedig o fetadata sesiwn y mae ei darddiad wedi'i gofnodi: mae'r cleient yn ei haeru, mae'r gweinydd yn ei gofnodi, ac nid oes dim am fynediad yn dibynnu arno. Dyma fersiwn ddefnyddiol y nodwedd, ac nid oes angen credlyn newydd i gyrraedd yno.

Erthyglau cysylltiedig