Oluja ponovnog povezivanja u filijali: strongSwan granice prijema
Cela kancelarija iza jednog NAT-a može premašiti strongSwan granice poluotvorenih IKE sesija. Brojte stanje prijema odvojeno od uspostavljenih sesija pre nego što podignete vrednost.
Gledajte kako se filijala vraća posle prekida veze i gateway vidi nešto što se nikada ne pojavljuje tokom normalnog dana: desetine laptopova dolaze sa jedne javne adrese istovremeno. Svaki je legitiman uređaj i svaki započinje IKE razmenu koja još nije završena. Hoće li taj udar uspeti zavisi od ograničenja koja nemaju nikakve veze sa tim koliko zaposlenih server može nositi. Udar je kratak i upravo je to radno opterećenje za koje je put prijema napravljen.
Pratite jedan laptop nazad na mrežu
Klijent šalje početni zahtev i čeka, a dok se razmena ne završi gateway drži stanje prijema za taj pokušaj. Drugi uređaji iza iste adrese dolaze dok prvi još čeka i redaju se iza ograničenja koje broji adrese, a ne korisnike. Spolja, simptom je šačica korisnika koji se povezuju i veća grupa kojoj istekne vreme.
Ništa u tom sledu nije kvar. To put prijema radi ono za šta je konfigurisan.
Brojte poluotvoreni rad kao sopstveni resurs
strongSwan razdvaja dve populacije: asocijacije koje su potpuno uspostavljene i pokušaje koji se još povezuju ili čekaju obradu. Prag blokiranja primenjuje se na poluotvorene asocijacije pripisane jednoj peer adresi, a pragovi kolačića primenjuju se globalno i po adresi. Ti brojači štite daemon od trošenja neautentifikovanim radom, što je upravo oblik oluje ponovnog povezivanja. Ništa od tog stanja ne pojavljuje se u spisku uspostavljenih tunela.
Čitati ih kao gornju granicu zaposleničkih sesija je greška koja vodi ka podizanju svega odjednom. Server koji nosi četiri stotine uspostavljenih tunela nije automatski u stanju da apsorbuje četiri stotine istovremenih prvih paketa, jer dva troška padaju na različita mesta.
Latencija autentifikacije odlučuje koliko dugo svaki pokušaj ostaje u broju poluotvorenih. Backend koji odgovara sporo pretvara kratak udar u dug red čak i kada je stopa dolaska skromna.
swanctl --stats
swanctl --list-sas | grep -c ESTABLISHED
Pročitajte postavke prijema pre nego što ih promenite
Pronađite vrednosti koje je pokrenuti daemon zaista učitao pre nego što stvorite mišljenje o njima. Konfiguracija je često podeljena između glavne datoteke i direktorijuma isečaka za svaki plugin, pa vrednost koju postavite na jednom mestu može biti nadjačana na drugom. Pretraga ispod prikazuje svaku datoteku koja spominje te postavke.
Zatim odlučite koji je broj premali. Ako jedna adresa legitimno predstavlja celu kancelariju, prag blokiranja po adresi je vrednost koja mora primiti tu koncentraciju. Globalni prag kolačića štiti daemon od šireg pljuska i ne treba ga popuštati zato što se jedno mesto ponovo povezuje. Uporedite tu vrednost po adresi sa najvećim mestom koje zaista imate.
Ostavite mehanizam kolačića uključen. Kolačići teraju klijenta da dokaže da može primati na adresi koju tvrdi pre nego daemon potroši stvarni rad na razmenu, a njihovo isključivanje nije neutralna nadogradnja kapaciteta. Podignite prag samo sa izmerenom stopom dolaska i navedenim budžetom autentifikacije iza njega.
grep -rn -E 'block_threshold|cookie_threshold' /etc/strongswan.conf /etc/strongswan.d/
swanctl --stats | grep -i half
Planirajte povratak, a ne samo stabilno stanje
Cilj dostupnosti koji broji samo uspostavljene sesije opisuje mirno poslepodne, a ne oporavak. Pitajte umesto toga kako se namenjena populacija vraća posle zajedničkog mrežnog događaja i može li put prijema da apsorbuje taj oblik.
Raspoređivanje ponovnog povezivanja po upravljanoj floti često je jeftinije od povećanja ograničenja, jer uklanja veštački udar umesto da za njega trajno plaća. Pratite poluotvoreno stanje i događaje prijema uz uspešna uspostavljanja i tretirajte rastući broj poluotvorenih uz ravne uspehe kao rano upozorenje, a ne kao zanimljivost.
Referenca proizvođača za te postavke je dokumentacija strongswan.conf, koja imenuje brojače i izdanje koje je uvelo prag kolačića po adresi. Čitajte odeljak za svoju instaliranu verziju, a ne najnoviju stranicu, jer se podrazumevane vrednosti menjaju između izdanja.