strongSwan yn aros i lawr ar ôl ailgychwyn peer: adfer un tiwnel
Rhowch y gorau i ailgychwyn y daemon. Gosodwch gychwyn a DPD ar y cysylltiad sy'n rhaid iddo ddychwelyd, yna gwiriwch wrth enw a phrofwch y gwasanaeth, nid y daemon.
Mae'r porth anghysbell yn ailgychwyn, yn dychwelyd o fewn munud, ac mae daemon strongSwan lleol yn parhau i redeg gyda'r tiwnel yn dal i lawr. Bydd tasg cron sy'n chwilio am ESTABLISHED ac yn ailgychwyn y daemon yn gorchuddio hynny yn y pen draw, ac fe fydd hefyd yn torri ar bob tiwnel di-gysylltiad ar y peiriant tra'n colli efallai yr un a fethodd. Mae adferiad yn perthyn i'r cysylltiad sy'n rhaid iddo ddychwelyd, wedi'i fynegi mewn gosodiadau sy'n goroesi ail-lwytho. Mae'r runbook hwn yn gosod hynny ar gyfer un cysylltiad ac yn profi'r canlyniad wrth enw.
Rhoi'r gorau i'r ailgychwyn byd-eang, cadw ei dystiolaeth
Mae ailgychwyn daemon yn cario dau ddiffyg penodol: mae'n dinistrio cyflwr pob cysylltiad, ac nid yw'n dweud dim wrthych am ba ddigwyddiad a fethodd mewn gwirionedd. Efallai bod y testun statws y gwnaethoch chwilio amdano wedi dod o gysylltiad arall, tra bod y child gofynnol yn segur oherwydd na chychwynnodd dim byd ef.
Darllenwch y cysylltiadau a lwythwyd a'r cymdeithasau gweithredol cyn newid unrhyw beth, fel bod gennych lun cyn y newid i'w gymharu ag ef ar ôl i'r peer ddychwelyd.
swanctl --list-conns
swanctl --list-sas
Gosod cychwyn ac ailgeisiau ar y cysylltiad sy'n dychwelyd
Mewn gosodiad swanctl.conf mae'r gosodiadau hyn yn byw ar lefel cysylltiad a child yn hytrach nag mewn polisi byd-eang. Mae'r darn isod yn enghraifft o ochr y dechreuwr sy'n tybio bod cynigion, dilysu a dewiswyr eisoes yn gywir.
connections {
branch {
keyingtries = 0
dpd_delay = 30s
children {
private-lan {
start_action = trap|start
dpd_action = restart
}
}
}
}
Mae start_action yn penderfynu beth sy'n digwydd pan lwythir y child: mae start yn cychwyn ar unwaith, tra bod trap yn gosod polisi sy'n sbarduno cychwyn pan fo traffig cyfatebol yn ymddangos. Mae ysgrifennu trap|start angen strongSwan 5.9.6 neu hwyrach, felly gwiriwch y fersiwn cyn copïo'r llinell. Mae dpd_action=restart yn gofyn am drafodaeth newydd unwaith y datgenir bod y peer wedi marw, ac mae keyingtries=0 ar lefel cysylltiad yn caniatáu ymgeisiau pellach hyd at lwyddiant neu gamgymeriad parhaol. O dan IKEv2 nid oes gan dpd_timeout unrhyw effaith o gwbl, oherwydd ail-drosglwyddo cyffredin sy'n penderfynu pryd nad yw'r peer yn ymateb.
Mae'r oedi yn yr enghraifft honno yn fan cychwyn yn hytrach na therfyn amser cyffredinol. Dewiswch ef o faint y mae ailgychwyn y peer yn ei gymryd a faint o ail-drosglwyddo yr ydych yn fodlon ei oddef.
Gwybod pa ddigwyddiad yr ydych yn adfer ohono
Mae tri methiant yn edrych yr un fath ar ddangosfwrdd ac angen gosodiadau gwahanol. Cysylltiad cychwynnol na chododd byth yw problem ffurfweddiad neu gyrhaeddiad. Peer a stopiodd ateb yw achos DPD. Child y gwnaeth y peer ei gau'n fwriadol yw digwyddiad polisi gyda'i close_action ei hun, nad yw DPD byth yn ei weld. Mae darllen y log o amgylch y toriad yn dweud wrthych pa un o'r tri sydd gennych, ac mae'r ateb yn newid y trwsio.
Peidiwch ag ychwanegu ailgychwyn ymosodol at gysylltiad y mae gweithredwyr yn ei gau'n fwriadol ar gyfer cynnal a chadw, neu bydd y tiwnel yn ymddangos eto yng nghanol y ffenestr. Ar gyfer dyluniadau ar alw mae trap a gedwir yn ddigon, oherwydd mae traffig cyfatebol yn ailsefydlu'r child heb unrhyw amserydd.
Gwiriwch wrth enw, nid wrth statws y daemon
Darllenwch y cysylltiad a'i child wrth enw tra bod y peer yn dal i lawr, yna eto unwaith y dychwela; y gwahaniaeth rhwng y ddau allbwn hynny yw'r dystiolaeth.
swanctl --initiate --child private-lan
swanctl --terminate --ike branch
Yna cadarnhewch y gwasanaeth yn hytrach na'r gymdeithas. Mae cymdeithas ddiogelwch child newydd ynghyd â chais llwyddiannus i'r cyrchfan breifat y tu ôl iddi yw'r pâr o ffeithiau sy'n cyfrif, ac nid yw daemon sy'n rhedeg gyda thiwnel di-gysylltiad iach yn profi'r naill na'r llall.
Os na fydd y child byth yn cychwyn, gwiriwch fod y traffig prawf yn cyfateb yn union i'r dewiswyr a ffurfweddwyd, gan gynnwys protocol a phorth. Os yw'n cychwyn ac yn methu, darllenwch y gwall dilysu neu gynnig yn lle ei guddio y tu ôl i ddolen ddiddiwedd, oherwydd bydd keyingtries=0 yn ailadrodd gwrthodiad parhaol am byth.
Llwythwch y newid mewn ffenestr a phrofwch eto
Mae ail-lwytho yn fwy diogel nag ailgychwyn y daemon, ac eto nid yw am ddim: gall disodli neu ddadlwytho child gau cymdeithas a gychwynnwyd neu ollwng ei trap.
Llwythwch yn ystod ffenestr gynnal a chadw, cadwch y ffeil flaenorol, a chadarnhewch fod y cysylltiad yn ymddangos gyda'r gosodiadau y bwriadwyd hwy yn hytrach na rhai diofyn.
swanctl --load-conns
swanctl --list-conns
Rholiwch yn ôl drwy adfer y ffeil flaenorol a'i llwytho eto, yna ailadroddwch yr un dau orchymyn. Nid yw tiwnel sy'n dychwelyd yn unig ar ôl ailgychwyn daemon wedi'i atgyweirio, mae wedi'i ailosod.