Roedd rhywun wedi creu tun1 ymlaen llaw, mae'r proffil yn dweud dev tun1, ac nid yw'r cysylltiad yn glynu o hyd. Nid yw'r enw sy'n bodoli ar y gwesteiwr yn dweud fawr ddim, oherwydd mae'r glynu yn dibynnu ar y gofod enwau, y math o ddyfais, pwy sy'n berchen ar y ddolen a beth y caniateir i'r daemon ei wneud. Mae ailddefnyddio dyfais hefyd yn gorfodi penderfyniad y mae'r ffurfweddiad diofyn yn ei guddio: pa gydran sy'n ysgrifennu'r cyfeiriadau a'r llwybrau. Mae modd methiant y ddwy drefn yn gwahaniaethu llawer mwy na'r llinellau ffurfweddu, felly penderfynwch cyn golygu proffil.

Nid yw enw yn glynu

dev tun1 yn gofyn i OpenVPN am y rhyngwyneb enwog hwnnw, a bydd adeiladau gofod defnyddiwr traddodiadol yn ceisio ei agor. Os nad yw'r enw'n dilyn y patrwm tun neu tap arferol, mae'r proffil hefyd angen dev-type cyfatebol, oherwydd ni ddiducir y math o linyn byth. Nid yw dyfais TAP yn ddyfais TUN gyda label gwahanol: mae glynu'r un anghywir naill ai'n methu'n llwyr neu'n cynhyrchu dolen sy'n cludo fframiau nad yw neb yn eu disgwyl. Gwiriwch y math cyn unrhyw beth arall, gan fod pob gwiriad diweddarach yn tybio bod y ddwy ochr yn cytuno arno. O'r fan honno, cadarnhewch y gall y broses agor y ddyfais mewn gwirionedd, yn hytrach na'i gweld yn unig.

dev tun1
dev-type tun

Mae'r rhyngwyneb rhwydwaith a /dev/net/tun yn wrthrychau gwahanol: un yw dolen o fewn gofod enwau, a'r llall yw'r ddyfais nodau y mae rhaglen gofod defnyddiwr yn ei defnyddio i lynu. dogfennaeth TUN/TAP Linux yn disgrifio'r llwybr glynu hwnnw a'r rheolau perchnogaeth ar gyfer dyfeisiau parhaus. Mae cragen root a all redeg ip link yn profi'n unig fod gan y gragen fraint, nid fod gan y daemon hwy. Perchnogaeth y nod dyfais, y set galluoedd sy'n perthyn i'r gwasanaeth a'r defnyddiwr y mae'n rhedeg fel i gyd yn gorfod cyd-fynd cyn i'r agoriad lwyddo.

Mae dyfais sy'n bodoli ac na ellir ei hagor yn broblem perchnogaeth, nid yn broblem llwybro. Triniwch hi felly wrth ddadfygu, neu bydd y prynhawn yn mynd i ddarllen tablau llwybro nad oeddent byth yn broblem.

Pwy sy'n ffurfweddu'r ddolen: dau fodel perchnogaeth

Yn y model cyntaf mae OpenVPN yn ffurfweddu cyfeiriadau a llwybrau fel rhan o godi'r cysylltiad. Dyna'r ymddygiad diofyn a'r hawsaf ei resymu, oherwydd un gydran sy'n creu'r cyflwr ac yn ei dynnu'n ôl wedyn. Yn yr ail fodel mae rheolwr allanol yn berchen ar y rhyngwyneb, ac ifconfig-noexec yn atal OpenVPN rhag rhedeg ei orchmynion ffurfweddu cyfeiriadau ac yn rhoi'r paramedrau i sgriptiau yn lle hynny. Yna rhaid i'r rheolwr gymhwyso'r ffurfweddiad lleol a chyfoedol cywir ei hun, sy'n fwy o waith nag y mae enw'r opsiwn yn ei awgrymu. Mae dewis rhwng y ddau yn gwestiwn ynglŷn â phwy a ganiateir newid y ddolen tra mae ar waith.

ifconfig-noexec yn cynnwys cyfeiriadau yn unig: nid oes dim yn effeithio ar y tabl llwybro, ac mae ffurfweddu llwybrau'n perthyn i route-noexec. Triniwch y ddwy gyfarwyddyd fel rheolaethau ar wahân gyda pherchnogion ar wahân, oherwydd gosod un a thybio'r llall yn ffynhonnell gyffredin o ddolenni hanner-ffurfweddedig. Dewiswch un perchennog yn union fesul haen, cyfeiriadau mewn un lle a llwybrau mewn un lle. Mae rheolwr rhwydwaith a chymorthydd VPN yn ysgrifennu cyfeiriadau'r ddau yn golygu bod datgysylltiad yn dileu cyflwr y mae'r ochr arall yn dibynnu arno o hyd.

Archwiliwch y ddyfais o'r gofod enwau sy'n bwysig

Archwiliwch y ddyfais o'r gofod enwau y mae'r broses VPN yn rhedeg ynddo, nid o'r un y mae eich cragen yn digwydd bod ynddo. Mae'r ddau orchymyn isod yn ateb gwahanol gwestiynau, ac mae'r gwahaniaeth yn amlwg pan fydd gwesteiwr yn gweld rhyngwyneb na all cynhwysydd ei weld. Rhedwch nhw yn y drefn a roddir, oherwydd dim ond ar ôl gwybod a yw'r ddolen yn bodoli o gwbl y mae'r ail yn gwneud synnwyr.

ip -details link show dev tun1
ip tuntap show

Mae'r gorchymyn cyntaf yn argraffu'r ddolen fel y mae'r cnewyllyn yn ei gweld, gan gynnwys baneri a math y rhyngwyneb, a dyna sut y cadarnhewch mai dyma'r ddyfais a olygwyd gennych. Mae'r ail yn rhestru cofnodion tun/tap parhaus, sy'n bodoli heb unrhyw broses yn eu dal. Mae rhyngwyneb sy'n aros am ei berchennog bwriadedig yn sefyllfa wahanol i dwnnel byw sydd ynghlwm wrth VPN arall, a dim ond yr ail sy'n esbonio pam mae eich glynu chi'n methu. Darganfyddwch y broses sy'n dal y ddyfais cyn newid unrhyw beth, gan fod gan gofnod parhaus a rhyngwyneb prysur wahanol atebion.

Mae cymorth multiqueue yn drefniant gyrrwr penodol gyda'i ofynion ei hun, nid yn ganiatâd i brosesau anghysylltiedig rannu un rhyngwyneb. Mae sesiwn fyw perchennog arall yn broblem gydlynu, ac nid yw unrhyw olygiad proffil yn ei datrys.

Dau fath gwahanol o barhad

Mae parhad y cnewyllyn a persist-tun yn disgrifio oesau sy'n hawdd eu cymysgu ac yn gostus eu drysu. Mae dyfais barhaus yn bodoli'n annibynnol ar unrhyw broses, felly mae'n goroesi stop ac yn gallu cael ei hailddefnyddio gan y cychwyn nesaf. persist-tun yn cadw adnoddau ar draws ailosodiadau meddal a gefnogir o fewn un broses OpenVPN, gorwel llawer byrrach. Nid yw'r naill na'r llall yn addo bod stopio'r gwasanaeth yn gadael llwybrau a chyfeiriadau yn eu lle, ac nid yw rhyngwyneb sy'n parhau i fod yn weladwy yn dystiolaeth o sesiwn amgryptiedig sy'n gweithio.

Cadarnhewch y backend hefyd, oherwydd nid yw rhyngwyneb a grëwyd ymlaen llaw yn dweud dim am ba weithrediad a fydd yn ei agor. Bydd adeiladau cymunedol sy'n cario'r llwybr data uniongyrchol yn ceisio ei ddefnyddio oni bai bod y dyluniad yn dweud fel arall. Lle mae fersiwn yn cefnogi'r swits, disable-dco yn dewis y llwybr gofod defnyddiwr yn lle hynny; nid oes gan injans hŷn a chleientiaid eraill gyfarwyddyd o'r fath, felly cadwch yr amod fersiwn wrth yr opsiwn yn hytrach na thybio ei fod yn gymwys.

Beth sy'n torri pan brofir cychwyn yn unig

Gall cytundeb perchnogaeth basio'r prawf cyntaf a methu'r olaf, sy'n gwneud cychwyn yn wiriad gwael ar ei ben ei hun. Gwyliwch ddau drawsnewidiad yn lle hynny: ailosodiad meddal, a stop llawn wedi'i ddilyn gan gychwyn.

systemctl status openvpn-client@lab
ip -details link show dev tun1

Cychwyn yw'r achos hawdd: daw'r uned i fyny, ymddengys y ddolen, ac mae allbwn statws yn enwi'r proffil a lwythwyd. Glynu yw'r eiliad y mae'r daemon yn agor y ddyfais, felly rhedwch y gwiriad dolen ar ôl i'r uned adrodd ei bod yn weithredol, nid cyn hynny. Os yw'r ddolen yn bodoli tra bod y statws yn dal i weithredu, rydych yn edrych ar ddyfais barhaus nad oes neb wedi glynu wrthi eto, nid ar dwnnel sy'n gweithio. Gwthiwch draffig go iawn trwy'r ddolen cyn symud ymlaen, oherwydd mae rhyngwyneb sydd wedi'i lynu heb lwybr defnyddiadwy yn dal yn fethiant.

kill -SIGHUP $(pidof openvpn)
journalctl -u openvpn-client@lab -n 40
systemctl stop openvpn-client@lab
ip -details link show dev tun1

Dylai ailosodiad meddal adael y sesiwn yn ddefnyddiadwy a'r adnoddau'n gyfan, sef y gwaith y mae persist-tun yn ei wneud. Stop llawn yw'r man lle mae rheolwr allanol yn datgelu ei hun: os yw'r ddolen neu ei chyfeiriadau yn goroesi'r stop, mae rhywun arall yn berchen arnynt, a dyna naill ai'r cyflwr a gofnodwyd gennych neu'r nam yr ydych newydd ei ddarganfod. Cofnodwch y ddau arsylwad wrth ymyl y proffil, fel bod y newid nesaf yn cychwyn o dystiolaeth yn hytrach nag o ddiagram.

Erthyglau cysylltiedig