Pam mae eich cleient OpenVPN yn aros i lawr ar ôl un terfyn amser
Mae cleient sy'n gadael ar y terfyn amser cyntaf yn gadael gwesteiwr sy'n edrych ar-lein ac yn cario dim. Trwsiwch opsiwn y proffil a'r polisi ailgychwyn ar wahân.
Bore Llun: mae'r twnnel a gododd ddydd Gwener wedi mynd, mae'r rhyngwyneb yn dal i gael ei restru, ac nid oes dim yn y cyfnodolyn yn dweud bod unrhyw un wedi sylwi. Mae'r gwesteiwr ar-lein, mae'r dangosfwrdd yn wyrdd, ac aeth popeth a anfonodd dros y penwythnos allan drwy'r rhyngwyneb ffisegol yn lle hynny. Mae dau benderfyniad annibynnol ar goll yma: un ynghylch a yw proses y cleient yn goroesi methiant dros dro ac un arall ynghylch a yw rhywbeth uwch ei ben yn ailgychwyn y broses ar ôl iddi adael. Mae trwsio'r naill heb y llall yn gadael y bwlch arall yn agored.
Dechreuwch o'r hyn a wnaeth yr uned mewn gwirionedd, nid o'r hyn y mae'r monitro'n honni. Mae systemctl status openvpn-client@office a journalctl -u openvpn-client@office -n 50 yn dangos y rheswm dros adael a'r llinell olaf a ysgrifennodd y cleient cyn gadael.
Gadawodd y broses cyn i unrhyw un sylwi
Cleient sy'n diflannu heb gamgymeriad fel arfer wedi gadael yn fwriadol. Mae'r proffil yn penderfynu ar ymddygiad hwn, nid y rheolwr gwasanaeth: mae ping-exit yn gorffen y broses cyn gynted ag y bydd y cymar yn stopio ateb, tra mae ping-restart yn cadw'r broses ac yn ailgysylltu ynddi. Mae capiau sesiwn ac amseryddion anweithgarwch yn cynhyrchu'r un darlun o'r tu allan: dim twnnel a dim larwm.
Ni all y ddau gyfarwyddyd ping ymddangos gyda'i gilydd mewn un proffil, felly dewiswch un a chofnodwch y dewis. Edrychwch ar y gweinydd hefyd, oherwydd mae ei ping-exit ef ei hun yn cau sesiwn beth bynnag a ofynnodd y cleient, a dim ond cyfnodolyn y gweinydd sy'n cofnodi pwy a wnaeth y penderfyniad hwnnw.
Dewis rhwng ping-exit a ping-restart
Dewiswch ping-restart ar gyfer gliniadur neu safle o bell y dylai wella ei hun, a chadwch ping-exit ar gyfer achosion lle mae'n rhaid i dwnnel marw stopio'r broses fel y gall rhywbeth arall weithredu arni. Mae'r rhifau'n llai pwysig na'r berthynas: mae ping 10 gyda ping-restart 60 yn golygu deg eiliad o dawelwch cyn prawf a thrigain cyn yr ailgychwyn, sy'n ymosodol ar gyswllt symudol â cholled ac yn rhesymol ar un gwifrau. Ysgrifennwch y rheswm wrth ymyl y llinell, neu bydd y darllenydd nesaf yn cymryd yn ganiataol bod y gwerthoedd diofyn yn fwriadol.
Yna cadarnhewch mai'r broses yn wir a adawodd. Mae uned sy'n adrodd ei bod yn weithredol tra mae'r twnnel yn farw yn fethiant gwahanol, a drafodir isod.
Goruchwyliaeth sy'n ailgychwyn yr uned go iawn
Ar westeiwr systemd, y newid parhaol lleiaf yw un ffeil drop-in: Restart=on-failure a RestartSec=10 yn /etc/systemd/system/[email protected]/restart.conf. Dim ond pan fydd systemd yn ail-lwytho ei ddiffiniadau ei hun y darllenir drop-in, felly rhedegwch systemctl daemon-reload wedyn. Gwiriwch gyda systemctl show -p Restart -p ExecMainStatus openvpn-client@office yn lle cymryd yn ganiataol fod y gwerth wedi cyrraedd. Rhaid i'r enghraifft yn enw'r ffeil fod y proffil y mae'r uned yn ei lwytho mewn gwirionedd, felly nid yw ffeil a ysgrifennwyd ar gyfer office yn gwneud dim ar gyfer openvpn-client@home.
Mae on-failure yn anwybyddu un achos: gadael glân â statws sero. Mae rhai llwybrau dadwneud yn gorffen felly, felly darllenwch y statws a gofnodwyd yn lle ymddiried yn ngeiriad tudalen llawlyfr. Os yw eich cleient yn rhoi'r gorau iddi â sero, mae arnoch angen Restart=always, a'r gost yw bod proffil sydd wir yn doredig yn dod yn ôl dro ar ôl tro nes bod y terfyn cyfradd cychwyn yn taro a'r cyfnodolyn yn llenwi.
Mae Restart=always hefyd yn tanio ar ôl stop bwriadol. Defnyddiwch systemctl stop ar gyfer cynnal a chadw, a mygwd yr uned os oes rhaid iddi aros i lawr tra byddwch yn gweithio.
Dal y gollyngiad tra mae'r twnnel i lawr
Mae goruchwyliaeth yn cadw'r twnnel yn dod yn ôl; nid yw'n atal traffig rhag gadael tra mae'r twnnel ar goll. Mae persist-tun yn cadw'r ddyfais a'i llwybrau ar draws ailgysylltiadau, sy'n gyfleus ac yn agor ffenestr. Mae'r ddyfais yn goroesi, mae'r llwybrau'n dal i anelu ati, ac mae pecynnau'n draenio allan heb eu hamddiffyn a heb eu hadrodd. Dewis polisi yw hyn, nid gwerth diofyn niwtral.
Pan na chaiff gwesteiwr allyrru pecynnau heb eu hamddiffyn o gwbl, dim ond y wal dân all warantu hynny. Mae rheol allbwn sy'n caniatáu rhyngwyneb y twnnel ac anwaniad y gweinydd VPN tra'n gollwng popeth arall yn dal i weithredu ar ôl i'r cleient farw, ac ni all dim yng nghyfluniad y cleient ei hun hidlo traffig nad yw'r cleient yn ei gario.
Profwch hyn drwy stopio'r cleient yn fwriadol. Rhedegwch systemctl stop openvpn-client@office, yna curl -m 5 https://example.com, a ddylai fethu yn lle llwyddo dros y cyswllt ffisegol. Mae llwyddiant yn golygu bod y rheol wal dân ar goll neu'n rhy ganiatäol.
Ailgysylltwch, cadarnhewch fod y twnnel yn cario traffig eto, ac yna yn unig ychwanegwch y gwiriad at fonitro. Mae arolygu ip addr o cron am ddyfais tun yn y oruchwyliaeth sy'n methu amlaf, oherwydd gyda persist-tun mae'r ddyfais yn byw'n hirach na'r sesiwn ac mae'r prawf yn adrodd iechyd tra nad oes dim yn cael ei gario.