strongSwan hubaki chini baada ya peer kuwasha upya: rejesha handaki moja
Acha kuwasha upya daemon. Weka uanzishaji na DPD kwenye muunganisho ambao lazima urudi, kisha thibitisha kwa jina na uthibitishe huduma, si daemon.
Lango la mbali linawasha upya, linarejea ndani ya dakika moja, na daemon ya strongSwan ya ndani inaendelea kufanya kazi huku handaki likiwa bado chini. Kazi ya cron inayotafuta ESTABLISHED na kuwasha upya daemon hatimaye itafunika hilo, na pia itakatiza kila handaki lisilohusiana kwenye mashine huku ikiweza kukosa lile lililoshindwa. Urejeshaji ni wa muunganisho ambao lazima urudi, ukionyeshwa katika mipangilio inayostahimili reload. Runbook hii inaandaa hilo kwa muunganisho mmoja na inathibitisha matokeo kwa jina.
Acha kuwasha upya kwa jumla, hifadhi ushahidi wake
Kuwasha upya daemon kuna kasoro mbili mahususi: huharibu hali ya kila muunganisho, na hakukuambii ni tukio gani kwa kweli lilishindwa. Maandishi ya hali uliyotafuta yanaweza kuwa yalitoka kwenye muunganisho mwingine, huku child iliyohitajika ikikaa bila kazi kwa sababu hakuna kilichoianzisha.
Soma muunganisho uliopakiwa na miungano hai kabla ya kubadilisha chochote, ili uwe na picha ya awali ya kulinganisha nayo baada ya peer kurudi.
swanctl --list-conns
swanctl --list-sas
Weka uanzishaji na majaribio upya kwenye muunganisho unaorudi
Katika usanidi wa swanctl.conf mipangilio hii inakaa katika ngazi ya muunganisho na child badala ya sera ya jumla. Kipande kilicho hapa chini ni mfano kutoka upande wa mwanzilishi unaodhani mapendekezo, uthibitishaji na vichaguzi tayari ni sahihi.
connections {
branch {
keyingtries = 0
dpd_delay = 30s
children {
private-lan {
start_action = trap|start
dpd_action = restart
}
}
}
}
start_action huamua kinachotokea child inapopakiwa: start huanza mara moja, wakati trap huweka sera inayoanzisha uanzishaji trafiki inayofaa inapotokea. Kuandika trap|start kunahitaji strongSwan 5.9.6 au mpya zaidi, kwa hiyo angalia toleo kabla ya kunakili mstari. dpd_action=restart huomba majadiliano mapya mara peer inapotangazwa kuwa imekufa, na keyingtries=0 katika ngazi ya muunganisho huruhusu majaribio zaidi hadi mafanikio au hitilafu ya kudumu. Chini ya IKEv2 dpd_timeout haina athari yoyote, kwa sababu utumaji upya wa kawaida huamua lini peer haijibu.
Ucheleweshaji katika mfano huo ni mahali pa kuanzia na si tarehe ya mwisho ya jumla. Ichague kulingana na muda ambao kuwasha upya kwa peer huchukua na kiasi cha utumaji upya ambao uko tayari kuvumilia.
Jua ni tukio gani unalirejesha
Hitilafu tatu zinaonekana sawa kwenye dashibodi na zinahitaji mipangilio tofauti. Muunganisho wa awali ambao haukuinuka kamwe ni tatizo la usanidi au ufikivu. Peer iliyoacha kujibu ni kisa cha DPD. Child ambayo peer ilifunga waziwazi ni tukio la sera lenye close_action yake mwenyewe, ambalo DPD huwa hailioni. Kusoma kumbukumbu karibu na kukatika kunakuambia ni ipi kati ya tatu uliyonayo, na jibu hubadilisha suluhisho.
Usiongeze uanzishaji mkali kwenye muunganisho ambao waendeshaji huufunga kwa makusudi kwa matengenezo, vinginevyo handaki litaonekana tena katikati ya dirisha. Kwa miundo ya mahitaji trap iliyohifadhiwa inatosha, kwa sababu trafiki inayofaa huweka upya child bila kipima muda chochote.
Thibitisha kwa jina, si kwa hali ya daemon
Soma muunganisho na child yake kwa jina huku peer ikiwa bado chini, kisha tena ikiwa imerudi; tofauti kati ya matokeo hayo mawili ndiyo ushahidi.
swanctl --initiate --child private-lan
swanctl --terminate --ike branch
Kisha thibitisha huduma badala ya muungano. Muungano mpya wa usalama wa child pamoja na ombi lililofanikiwa kwa lengo la faragha nyuma yake ni jozi ya ukweli inayojalisha, na daemon inayoendesha ikiwa na handaki zuri lisilohusiana haithibitishi yoyote.
Ikiwa child haianzishi kamwe, angalia kama trafiki ya majaribio inalingana kwa usahihi na vichaguzi vilivyosanidiwa, ikiwemo itifaki na bandari. Ikianza na kushindwa, soma hitilafu ya uthibitishaji au pendekezo badala ya kuificha nyuma ya mzunguko usio na mwisho, kwa sababu keyingtries=0 itarudia kukataliwa kwa kudumu milele.
Pakia mabadiliko katika dirisha na ujaribu tena
Reload ni salama zaidi kuliko kuwasha upya daemon, na bado si bure: kubadilisha au kupakua child kunaweza kufunga muungano ulioanzishwa au kuangusha trap yake.
Pakia wakati wa dirisha la matengenezo, hifadhi faili ya awali, na uthibitishe kuwa muunganisho unaonekana na mipangilio uliyokusudia na si chaguo-msingi.
swanctl --load-conns
swanctl --list-conns
Rudi nyuma kwa kurejesha faili ya awali na kuipakia tena, kisha rudia amri hizo mbili. Handaki linalorudi tu baada ya kuwasha upya daemon halijatengenezwa, limesimbuliwa.