A ddylech chi ollwng y chroot neu gopïo iproute2 i'r carchar?
Mae carchar anghyflawn yn methu ar ôl cychwyn, nid wrth y boot. Dewiswch rhwng llacio'r caledu a chopïo binaries ynghyd â llyfrgelloedd i'r gwraidd newydd.
Mae'r gwasanaeth yn cychwyn, mae cleient yn cysylltu, ac nid yw llwybr byth yn ymddangos ar ochr y gweinydd. Neu mae'r daemon yn gwrthod cychwyn ac yn enwi gorchymyn na allai ei weithredu. Mae'r ddau ganlyniad yn dilyn yr un tair llinell, sy'n cael eu copïo gyda'i gilydd o ganllaw caledu fel arfer: newid i gyfrif heb fraint, gollwng y grŵp, a newid gwraidd y system ffeiliau. Dim ond un o'r tair sy'n cuddio ffeiliau, a dim ond un ohonynt sy'n tynnu'r fraint i newid y tabl llwybro. Eu gwahanu yw'r ffordd i ddysgu pa linell rydych chi ei heisiau mewn gwirionedd.
Yr hyn y mae'r carchar yn ei dynnu y mae'r daemon ei angen o hyd
Mae'r newid gwraidd yn digwydd ar ôl cychwyn, felly mae'r daemon yn cadw popeth y mae eisoes wedi'i agor ac yn colli popeth y byddai'n ei agor yn ddiweddarach. Rhaid i unrhyw gynorthwyydd y mae'r cysylltiad yn ei redeg ar ôl y pwynt hwnnw fodoli y tu mewn i'r gwraidd newydd, ynghyd â'r llyfrgelloedd a rennir y mae'n eu llwytho. Nid oes gan garchar a adeiladwyd o ffeil ffurfweddu a thystysgrif y naill na'r llall.
Mae newid i gyfrif heb fraint yn gyfyngiad ar wahân. Efallai na fydd proses sydd wedi rhoi'r gorau i root yn gallu newid llwybrau na chodi rhyngwyneb hyd yn oed pan fo'r binary yn union yno, felly rhaid diagnostigio'r ddau fethiant ar wahân.
Mae tair amod yn penderfynu pa atgyweiriad sydd ei angen arnoch
Yr amod gyntaf yw sut mae eich build yn gosod llwybrau. Mae fersiynau diweddar o OpenVPN yn ffurfweddu'r rhyngwyneb a'r tabl llwybro yn y broses, tra bod pecynnau hŷn a gosodiadau personol yn dibynnu ar offer allanol neu ar sgriptiau up a down. Os yw'r log yn enwi gorchymyn, mae offeryn allanol yn y llun ac mae'r carchar yn ei guddio. Os yw'r log yn dangos gwall caniatâd yn lle hynny, y cyfrif yw'r broblem.
Yr ail yw cynnal a chadw. Rhaid adnewyddu carchar sydd â binaries wedi'u copïo pryd bynnag y caiff y pecyn sy'n eu darparu ei uwchraddio, neu mae'r uwchraddio cyntaf yn gadael twnnel wedi torri ar ei ôl. Y drydedd yw a oes angen chroot mewn gwirionedd ar reolaeth benodol; os yw'r gofyniad mewn gwirionedd yn ymwneud â gwahanu fraint, gall y newid cyfrif fod yn ddigon ar ei ben ei hun.
| Signal in the log | Other side of the boundary | Repair direction |
|---|---|---|
| Command not found after startup | Binary and its libraries absent inside the new root | Populate the jail, or drop the chroot line |
| Operation not permitted | Account lost the privilege to edit routes | Keep the account privileged, or pre-create routes elsewhere |
| No such device | Jail lacks the tun device node | Create the node inside, or open it before the root change |
Beth sydd raid i garchar sy'n gweithio ei gynnwys
Mae carchar sy'n rhedeg gorchmynion angen y binary, pob llyfrgell y mae'n cysylltu â hi, ac unrhyw nod dyfais y mae'r daemon yn ei agor yn hwyr. Copïwch y darnau a'u profi heb y VPN yn y llun:
ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up
Mae'r gorchymyn cyntaf yn rhestru'r dibyniaethau, a dyna'r un y mae pobl yn ei hepgor. Mae binary copïedig sy'n methu dod o hyd i lyfrgell yn methu â neges wahanol i binary ar goll, ac mae'r ddau yn edrych fel nam OpenVPN o ochr y cleient. Mae rhedeg y gorchymyn yn y carchar â llaw yn atgynhyrchu'r methiant heb ailgychwyn y gwasanaeth.
Copïwch y ffurfweddiad, y tystysgrifau ac unrhyw CRL i'r carchar hefyd, oherwydd ni fydd ffeil y mae'r daemon yn disgwyl ei hail-ddarllen ar ôl cychwyn yn cael ei chanfod unwaith y bydd y gwraidd wedi newid. Nodwch yr hyn a gopïoch, gan fod yr uwchraddio nesaf o'r pecyn rhwydwaith yn disodli'r gwreiddiol ac yn gadael y carchar ar yr hen gopi.
Lleihau'r caledu yn lle hynny
Os yw'r carchar yn bodoli dim ond oherwydd bod canllaw wedi dweud hynny, mae tynnu'r un llinell honno a chadw'r cyfyngiadau cyfrif yn ganlyniad amddiffynadwy. Mae'r daemon yn cadw ei olygfa o'r system ffeiliau ac yn colli'r broblem, ac mae'r gostyngiad braint yn tynnu root o'r broses hirhoedlog o hyd.
Nodwch yr hyn sy'n weddill, a pham. Mae ffurfweddiad a gollodd reolaeth yn dawel heb nodyn yn ffordd o wyro caledu, a bydd y prawf nesaf yn gofyn pam y diflannodd y llinell.
Bisecrwch y tair llinell cyn dewis
Copïwch y ffurfweddiad, analluogwch y tair gorchymyn a chadarnhewch fod cleient yn cysylltu ac bod y llwybrau disgwyliedig yn ymddangos. Yna ail-alluogwch y llinellau cyfrif yn unig, ac wedyn y chroot ar ei ben ei hun. Mae'r cam lle mae'r twnnel yn torri yn nodi'r ffin, ac rydych yn osgoi ailadeiladu carchar nad oedd fyth yn achos.
Unwaith y bydd yn llwybro eto, rhedwch un sesiwn cleient gyda mwy o ferbosity a darllenwch y llinell sy'n enwi'r gorchymyn neu'r ganiatâd a fethodd. Mae'r llinell honno'n werth mwy na'r time-out y mae'r cleient yn ei riportio yn y diwedd.