strongSwan beheratuta geratzen da peer-a berrabiarazi ondoren: tunel bat berreskuratu
Utzi daemonaren berrabiaraztea. Jarri hastea eta DPD itzuli behar duen konexioan, eta gero egiaztatu izenez eta frogatu zerbitzua, ez daemona.
Urrutiko atebidea berrabiarazten da, minutu batean itzultzen da, eta tokiko strongSwan daemona martxan jarraitzen du tunela oraindik behera dagoela. ESTABLISHED bilatzen duen eta daemona berrabiarazten duen cron lan batek hori estaliko du azkenean, eta makina horretako loturarik gabeko tunel guztiak etengo ditu, agian huts egin zuen tunela galduz. Berreskurapena itzuli behar duen konexioari dagokio, reload bat gainditzen duten ezarpenetan adierazita. Runbook honek hori konexio bakar baterako prestatzen du eta emaitza izenez frogatzen du.
Erretira ezazu berrabiarazte globala, gorde haren frogak
Daemonaren berrabiarazteak bi akats zehatz ditu: konexio bakoitzaren egoera suntsitzen du, eta ez dizu esaten zein gertaerak huts egin zuen benetan. Bilatu zenuen egoera-testua beste konexio batetik etor zitekeen, beharrezko child-a alferrik zegoen bitartean, ezerk ez zuelako martxan jarri.
Irakurri kargatutako konexioak eta asoziazio aktiboak ezer aldatu aurretik, peer-a itzultzean alderatzeko aurreko irudi bat izan dezazun.
swanctl --list-conns
swanctl --list-sas
Jarri hastea eta berriz saiatzeak itzultzen den konexioan
swanctl.conf inplementazio batean ezarpen hauek konexio eta child mailan bizi dira, ez politika globalean. Beheko zatia hasieratzailearen aldeko adibide bat da, proposamenak, autentifikazioa eta hautatzaileak jadanik zuzenak direla suposatzen duena.
connections {
branch {
keyingtries = 0
dpd_delay = 30s
children {
private-lan {
start_action = trap|start
dpd_action = restart
}
}
}
}
start_action-ek erabakitzen du zer gertatzen den child-a kargatzean: start-ek berehala abiarazten du, eta trap-ek, berriz, bat datozen trafikoa agertzean hastea abiarazten duen politika instalatzen du. trap|start idazteko strongSwan 5.9.6 edo berriagoa behar da, beraz egiaztatu bertsioa lerroa kopiatu aurretik. dpd_action=restart-ek negoziazio berria eskatzen du peer-a hildakotzat jo ondoren, eta konexio mailako keyingtries=0-k saiakera gehiago baimentzen ditu arrakasta edo errore iraunkorra arte. IKEv2 pean dpd_timeout-ek ez du inolako eraginik, berbidalketa arruntak erabakitzen baitu peer-a noiz ez den erantzuten.
Adibide horretako atzerapena abiapuntua da, ez eperaldi unibertsala. Aukeratu peer-aren berrabiarazteak zenbat irauten duen eta zenbat berbidalketa jasateko prest zauden kontuan hartuta.
Jakin zein gertaeratatik berreskuratzen zaren
Hiru hutsegite berdinak dirudite panelean eta ezarpen desberdinak behar dituzte. Inoiz igo ez zen hasierako konexioa konfigurazio edo irisgarritasun arazoa da. Erantzuteari utzi zion peer-a DPD kasua da. Peer-ak berariaz itxi zuen child-a politika-gertaera bat da, bere close_action propioarekin, eta DPD-k ez du inoiz antzematen. Etenduraren inguruko loga irakurtzeak hiruretako zein duzun esaten dizu, eta erantzunak konponketa aldatzen du.
Ez gehitu berrabiarazte oldarkorra operadoreek mantentze-lanetarako nahita ixten duten konexio bati, bestela tunela leihoaren erdian agertuko da berriro. Eskaripeko diseinuetarako gordetako trap bat nahikoa da, bat datozen trafikoak child-a berrezartzen baitu timerrik gabe.
Egiaztatu izenez, ez daemonaren egoeraz
Irakurri konexioa eta bere child-a izenez peer-a oraindik behera dagoela, eta gero berriro itzultzen denean; bi irteera horien arteko aldea da froga.
swanctl --initiate --child private-lan
swanctl --terminate --ike branch
Gero berretsi zerbitzua, ez asoziazioa. Child segurtasun-asoziazio berri bat eta haren atzeko helmuga pribatuari egindako eskaera arrakastatsu bat dira axola duen bi datuak, eta martxan dagoen daemon batek loturarik gabeko tunel osasuntsu batekin ez du bietako batere frogatzen.
Child-a inoiz abiarazten ez bada, egiaztatu proba-trafikoak konfiguratutako hautatzaileekin zehazki bat egiten duela, protokoloa eta portua barne. Abiarazi eta huts egiten badu, irakurri autentifikazio edo proposamen errorea, begizta amaigabe baten atzean ezkutatu ordez, keyingtries=0-k baztertze iraunkorra betiko errepikatuko baitu.
Kargatu aldaketa leiho batean eta probatu berriro
Reload egitea daemona berrabiaraztea baino seguruagoa da, eta hala ere ez da doakoa: child bat ordezkatzeak edo deskargatzeak hasitako asoziazio bat itxi edo haren trap-a bota dezake.
Kargatu mantentze-leiho batean, gorde aurreko fitxategia eta egiaztatu konexioa nahi zenuen ezarpenekin agertzen dela, eta ez lehenetsiekin.
swanctl --load-conns
swanctl --list-conns
Itzuli atzera aurreko fitxategia leheneratuz eta berriro kargatuz, eta gero errepikatu bi komando berak. Daemonaren berrabiaraztearen ondoren bakarrik itzultzen den tunela ez da konpondu, berrezarri egin da.