Cychwynnwch y peiriant, mewngofnodwch, a dysgwch fod y twnnel wedi codi ac wedi marw ychydig eiliadau'n ddiweddarach. Roedd y proffil yn iawn, roedd y dystysgrif yn iawn, a'r unig ôl sy'n weddill yw'r cylchgrawn o'r cychwyn hwnnw. Yr hyn a ddigwyddodd fel arfer yw ras: cychwynnodd yr uned cyn bod gan y peiriant gyfeiriad, ac nid oedd y drefn a gyhoeddodd yn golygu'r hyn y mae'n edrych fel. Mae popeth isod yn ymwneud â phrofi'r ras honno o dystiolaeth a'i chau'n briodol.

Mae'r targed yn fan cyfarfod, nid yn reolwr

Nid oes gan network-online.target unrhyw syniad beth yw rhwydwaith. Pwynt cydlynu ydyw sy'n casglu'r gwasanaeth hwnnw y dylai oedi'r cychwyn nes bod y cyswllt yn ddefnyddiadwy, ac mae'n dirprwyo'r diffiniad i ba bynnag reolwr rhwydwaith sy'n berchen ar y peiriant. Ar y rhan fwyaf o ddesgau a gweinyddion mae hynny'n golygu gwasanaeth aros a gyflenwir gan NetworkManager neu gan systemd-networkd. Peidio â galluogi'r naill na'r llall ac nid oes gan y targed unrhyw beth i'w aros, felly mae'n cwblhau'r eiliad y bydd rhywbeth yn ei dynnu i mewn, a all fod ymhell cyn i DHCP ateb. Roedd y llinell drefn yn eich uned yn onest ac yn ddiwerth o hyd.

Nid y cwestiwn cyntaf felly yw beth mae eich uned yn ei gyhoeddi. Y cwestiwn yw a oes rhywbeth ar y peiriant hwn yn gwneud yr aros mewn gwirionedd.

Darllenwch y cychwyn olaf yn lle'r ffeil uned

Mae ffeiliau uned yn disgrifio bwriad, ac mae'r cylchgrawn yn disgrifio beth ddigwyddodd. Gofynnwch am y cychwyn hwnnw'n unig, gyda stampiau amser monotonaidd fel bod pob neges ar un cloc. Yna dosbarthwch ddwy linell: y funud y dechreuodd uned y twnnel gychwyn, a'r funud y daeth y cyfeiriad i'r golwg neu y gorffennodd y gwasanaeth aros. Trefnwch y ddau rif hynny ac mae'r ras naill ai'n cael ei chadarnhau neu'n cael ei diystyru.

Mae'r olwg ar ddibyniaethau yn cadarnhau hyn. Os nad yw cadwyn critigol ar gyfer uned y twnnel yn cynnwys gwasanaeth aros, ni wnaeth unrhyw beth ar y llwybr hwnnw oedi'r cychwyn, ac ni wnaeth y targed y gwaith y gwnaethoch ei dybio. Dwy olwg, un casgliad.

systemctl list-units --type=service --state=running | grep wait-online
journalctl -b -o short-monotonic -u openvpn-client@office

Ychwanegwch yr aros, yna'r ailgynnig

Defnyddiwch drop-in yn lle golygu uned becynnog, fel nad yw diweddariad pecyn yn taflu'r newid yn dawel. Mae dau gyfarwyddeb yn bwysig: rhaid i'r uned gael ei threfnu ar ôl y targed, a rhaid iddi dynnu'r targed i'r un trafodiad. Nid yw trefn ar ei phen ei hun yn galw'r targed; yr awydd sy'n gwneud hynny.

Mae uned cleient OpenVPN becynnog eisoes yn cario'r ddau. Mae unedau a ysgrifennwyd â llaw fel arfer yn cario un neu ddim, sy'n werth ei wirio cyn i chi ychwanegu unrhyw beth.

[Service]
Restart=on-failure
RestartSec=15

Pam mae cwsg sefydlog yn fagl

Mae cwsg yn ExecStartPre yn teimlo fel trwsio trefn ac yn ymddwyn fel oedi gyda chamau ychwanegol. Mae'n arafu pob cychwyn, gan gynnwys y rhai a oedd yn iach, ac mae'n colli o hyd pan fydd y cyswllt yn cymryd mwy o amser na'r rhif a ddewisoch.

Yn waeth, mae'n cuddio a yw'r gwasanaeth aros yn gweithio, felly mae'r methiant nesaf yn ymddangos fel problem hollol newydd yn hytrach na'r un peth ag amseru gwahanol. Oedi ailgychwyn byr yw'r offeryn gwell: nid yw'n costio dim ar gychwyn iach ac mae'n troi ras a gollwyd yn gynnig arall. Cadwch y cyfwng yn gynnil a gadewch i'r uned lwyddo. Os yw'n ailgychwyn am byth, mae'r proffil wedi torri ac ni fydd unrhyw faint o ailgynnig yn newid hynny, felly darllenwch y log yn lle codi'r cyfwng.

Pan fo'r drefn yn gywir ac mae enwau'n methu o hyd

Mae uned weithredol gyda llwybr twnnel yn golygu bod y drefn wedi gwneud ei gwaith ac mae'r diffyg sy'n weddill un haen yn uwch. Y siâp arferol yw gosodiad datryswr a gymhwysir gan sgript up y twnnel cyn bod y cyswllt neu'r datryswr yn barod i'w gadw. Cymharwch gyflwr y datryswr yn ystod y methiant â'r cyflwr ar ôl ailgychwyn uned y twnnel.

Os yw'r ailgychwyn yn trwsio chwiliadau, mae gennych ddiffyg trefn cychwyn yn hytrach na gweinydd DNS anghywir, ac mae'r ddau hynny angen trwsiadau gwahanol. Yna profwch y cyfan gyda chychwyn oer yn hytrach nag ailgychwyn gwasanaeth, oherwydd mae ailgychwyn yn rhedeg yn erbyn rhwydwaith sydd eisoes i fyny ac yn cuddio'n union y diffyg rydych chi'n ei hela. Ailadroddwch hynny gyda'r cyswllt wedi'i arafu'n fwriadol, a thriniwch uned sy'n gweithio dim ond pan mae'r rhwydwaith yn gyflym fel un sydd wedi torri o hyd.

Erthyglau cysylltiedig