U statusnom izlazu se ne pojavljuje CHILD SA, tunel izgleda mrtav, a zatim ping prema udaljenoj podmreži podiže ga. U IPsec postavci na zahtjev taj slijed je dizajn, a ne kvar. Trap politika instalira selektor i čeka, a prvi paket koji joj odgovara pokreće IKE i pregovore o CHILD SA.

Dio zabune je u rječniku: “up” se koristi za dva različita stanja. Konfiguracija je učitana i kernel politika postoji, ali asocijacija podataka ne. Monitor koji broji samo aktivne SA prijavljivat će zdravu lokaciju kao neispravnu sve dok niko ne šalje saobraćaj prema njoj.

Neaktivan tunel na zahtjev nema CHILD SA za prikaz

Trap unos sam po sebi ništa ne autentificira. On traži od kernela da drži politiku za odabrani saobraćaj i da podigne acquisition kada paketu treba ta politika. Demon prima acquisition, uparuje ga s definicijom child i odatle pregovara. Do tog trenutka nema ni IKE SA za prikaz, zato oba popisa mogu biti prazna istovremeno.

Taj redoslijed čini logove čitljivim. Prvo dolazi acquisition, zatim IKE_SA_INIT i IKE_AUTH, pa CHILD SA. Ako se log završava odmah nakon acquisition, okidač je radio. Pregovori nisu uspjeli, a sljedeće pitanje je o vjerodajnicama, prijedlozima ili dostupnosti, a ne o trap-u.

S Linux kernel backendom možete vidjeti politiku prije nego postoji ikakav SA. Pokrenite ip xfrm policy i potražite selektor sa smjerom out i šablonom koji pokazuje na vezu. Taj unos je stanje na zahtjev, a njegovo prisustvo je prvo što treba potvrditi.

start_action odlučuje hoće li išta uopće čekati

Svaki child u swanctl.conf nosi start_action. start pokreće se pri učitavanju konfiguracije, trap instalira politiku i čeka, a none ostavlja pokretanje nečem drugom. Samo trap proizvodi ponašanje “ping i podigne se” opisano gore.

children {
    office-lan {
        local_ts = 192.168.50.0/24
        remote_ts = 192.168.70.0/24
        start_action = trap
    }
}

Dva selektora saobraćaja određuju šta se smatra zanimljivim, a paket s hosta izvan tih prefiksa ne aktivira trap; on se rutira kao i obično. Proširenje selektora da okidač bude revniji proširuje i obim koji tunel tvrdi da štiti, zato ih izvedite iz saobraćaja koji zaista namjeravate šifrirati.

swanctl.conf referenca navodi prihvaćene vrijednosti, zajedno s odvojenim close i DPD akcijama koje određuju šta se dešava kada SA postoji.

Saznajte je li se okidač uopće aktivirao

Počnite s swanctl --list-conns i potvrdite da je child učitan s radnjom koju ste namjeravali. Zatim pošaljite jedan paket s hosta unutar local_ts na adresu unutar remote_ts i promatrajte swanctl --list-sas. Ako se izlaz ne promijeni, nijedan acquisition nije stigao do demona.

Dva uobičajena razloga za tihi trap: paket je bio source-NAT-ovan prije nego je pogodio politiku i više ne odgovara local_ts, ili se veza nikada nije učitala zbog sintaksne ili greške u vjerodajnicama. Ponovo pokrenite swanctl --load-all i pročitajte njegov izlaz prije nego dirnete selektore. Veza koja se nije učitala ne instalira politiku, pa nema šta saobraćaj da aktivira.

Smjer je također važan: trap instaliran za odlazni saobraćaj ne pokreće se na dolazni paket. Ako udaljena strana treba podići tunel, potreban joj je vlastiti trap, ili ovoj strani treba start.

Čekanje prvog paketa nije uvijek prava razmjena

Interaktivne sesije osjete trošak postavljanja. Prvi zahtjev plaća IKE razmjenu i CHILD pregovore, a klijent s kratkim rokom može odustati prije nego SA postoji. Proaktivni start uklanja to kašnjenje prvog paketa. Ali drži tunel podignut za saobraćaj koji možda nikada neće stići.

Tri činjenice odlučuju izbor: koliko se često put koristi, ima li prvi zahtjev tijesan rok i je li peer dostupan pri podizanju. Povremeni batch saobraćaj i peer koji može biti offline pri podizanju oboje favorizuju trap. Klijent osjetljiv na latenciju i peer koji je uvijek dostupan favorizuju start. Ako obje strane mogu inicirati, dogovorite ko posjeduje okidač da ne dobijete duple pregovore.

Instalirana politika također nije garancija protiv curenja. Ako je zahtjev fail-closed, firewall mora odbaciti saobraćaj bez SA, a to pravilo živi izvan definicije child.

Zapišite tri reda koji završavaju sljedeću raspravu

Zapišite selektore, radnju pri pokretanju i izlaz komande koji pokazuje da politika postoji bez SA. Ta tri reda razdvajaju “na zahtjev i neaktivan” od “ne učitava se” sljedeći put kada neko prijavi tunel kao neispravan. Potrebna je minuta da ih zabilježite. Bez njih ista istraga počinje od nule.

Testirajte s hosta koji je zaista unutar selektora. Ping s rutera često ide drugim putem i ne dokazuje ništa o politici koja štiti podmrežu iza njega.

Povezani članci