Sjå ein filial kome tilbake etter ein lenkefeil, og gatewayen ser noko som aldri dukkar opp på ein vanleg dag: dusinvis av berbare maskiner kjem samstundes frå éin offentleg adresse. Kvar av dei er ei legitim eining, og kvar av dei startar ein IKE-utveksling som enno ikkje er ferdig. Om den bølgja lykkast, er avhengig av grenser som ikkje har noko å gjere med kor mange tilsette serveren kan bera. Bølgja er kort, og ho er nettopp arbeidslasta opptaksvegen vart bygd for å tole.

Følg éi berbar maskin tilbake på nettverket

Klienten sender ein første førespurnad og ventar, og til utvekslinga er fullført held gatewayen opptakstilstand for det forsøket. Andre einingar bak same adresse kjem medan den første enno ventar, og dei stiller i kø bak ei grense som tel adresser framfor brukarar. Utanfrå er symptomet ei handfull brukarar som koplar til og ei større gruppe som går ut på tid.

Ingenting i den sekvensen er ein feil. Det er opptaksvegen som gjer det han vart konfigurert til.

Tel halvope arbeid som ein eigen ressurs

strongSwan skil to populasjonar: assosiasjonar som er fullt etablerte, og forsøk som enno koplar til eller ventar på handsaming. Blokkgrensa gjeld halvopne assosiasjonar knytte til éi peer-adresse, og cookie-grensene gjeld globalt og per adresse. Desse teljarane vernar daemonen mot å bli brukt opp av uautentisert arbeid, som er nøyaktig forma på ein attilkoplingsstorm. Ingenting av den tilstanden visest i ei liste over etablerte tunnelar.

Å lese dei som eit tak på tilsettsesjonar er feilen som fører til å heve alt på ein gong. Ein server som ber fire hundre etablerte tunnelar er ikkje automatisk i stand til å absorbere fire hundre samstundes første pakkar, fordi dei to kostnadene landar på ulike stader.

Autentiseringsforsinking avgjer kor lenge kvart forsøk blir i talet på halvopne. Ein backend som svarar sakte gjer ei kort bølgje til ein lang kø sjølv når ankomsttakta er beskjeden.

swanctl --stats
swanctl --list-sas | grep -c ESTABLISHED

Les opptaksinnstillingane før du endrar dei

Finn verdiane den køyrande daemonen faktisk lasta før du dannar deg ei meining om dei. Konfigurasjonen er ofte delt mellom ei hovudfil og ei mappe med utdrag per plugin, så ein verdi du set ein stad kan bli overstyrt ein annan stad. Søket nedanfor viser kvar fil som nemner desse innstillingane.

Avgjer deretter kva tal som er for lite. Om éi adresse legitimt representerer eit heilt kontor, er blokkgrensa per adresse den verdien som må romme den konsentrasjonen. Ei global cookie-grense vernar daemonen mot ein breiare flaum og bør ikkje lempast fordi ein stad koplar til på nytt. Samanlikn den verdien per adresse med den største staden du faktisk har.

Hald cookie-mekanismen aktivert. Cookies får ein klient til å prova at han kan ta imot på adressa han hevdar før daemonen brukar ekte arbeid på utvekslinga, og å slå dei av er ikkje ei nøytral kapasitetsauking. Hev ei grense berre med ein målt ankomsttakt og eit erklært autentiseringsbudsjett bak.

grep -rn -E 'block_threshold|cookie_threshold' /etc/strongswan.conf /etc/strongswan.d/
swanctl --stats | grep -i half

Planlegg for tilbakekomsten, ikkje berre den stabile tilstanden

Eit tilgjengelegheitsmål som berre tel etablerte sesjonar skildrar ein roleg ettermiddag, ikkje ein gjenoppretting. Spør i staden korleis den tiltenkte populasjonen kjem tilbake etter ei delt nettverkshending, og om opptaksvegen kan absorbere den forma.

Å spreie attilkoplinga over ein administrert flåte er ofte billegare enn å utvide grensene, fordi det fjernar den kunstige bølgja i staden for å betale for ho permanent. Overvak halvopen tilstand og opptakshendingar ved sida av vellukka etableringar, og handsam eit stigande tal halvopne med flate suksessar som ei tidleg åtvaring snarare enn ein kuriositet.

Leverandøren si tilvising for desse innstillingane er dokumentasjonen for strongswan.conf, som namngjev teljarane og utgåva som innførte cookie-grensa per adresse. Les avsnittet for din installerte versjon framfor den nyaste sida, fordi standardverdiar flyttar seg mellom utgåver.

Relaterte artiklar