IPsec-berne-SA is oan, mar de pakketstellers bliuwe op nul
Tellers op nul op in ynstallearre berne-SA betsjutte meastentiids dat neat der by past hat. Folgje ien fêstsette stream troch tellers, rûte, selektors en oarsprong.
Jo hawwe de tunnel oan makke, de rekey-timer telt ôf, en beide rjochtingen lêze noch altyd nul pakketten. Dat pear nûmers seit net dat de oare kant jo tunnel wegere hat: in ynstallearre CHILD SA mei stilsteande tellers is de normale tastân fan in assosjaasje dêr't noch neat by past hat. It wurk is om te bewizen dat in pakket der by passe moatten hie, en dan it punt te finen dêr't it it paad ferliet dat de selektors beskriuwe. Doch it ien kear, yn oarder, en hâld it fersyk identyk tusken de rinnen.
Wat in nulteller eins bewizet
In CHILD SA is in pear selektors plus de kaaien en SPI's dy't ferkear binnen dy berikken fersiferje. It ynstallearjen betsjut allinnich dat beide kanten it oer dy berikken en de ôflate kaaien iens wurden binne; de kernel hâldt it oeren lang sûnder dat ien pakket oankomt. De fraach is dus nea oft de tunnel bestiet, mar oft ien pakket fan jo test binnen de berikken foel dy't de beide kanten ûnderhannele hawwe. Wie dat net sa, dan bliuwe de tellers op nul en ferrint de assosjaasje ûnbrûkt oan 'e ein fan syn libbensdoer.
Dat ûnderskied feroaret wat jo earst besjen. In wegere foarstel, in mislearre autentikaasje of in stjerrende IKE SA komme allegear yn it loch of yn 'e SA-list foar 't ljocht, net as in stil nul. In tunnel dy't skjin ûnderhannelt en dêrnei stil bliuwt, wiist ynstee op it byinoar passen, de rûte of de oarsprong fan it testferkear.
Stjoer in stream dy't jo beskreau kinne foardat jo him stjoere
Kies in bestimming binnen it beskerme subnet en iepenje in nije ferbining dêrhinne; in side dy't jo in oere lyn laden hawwe, kin út 'e cache tsjinne wurde, en in bewarre antwurd rekket de tunnel nea oan. Skriuw dan fjouwer wearden op wylst it fersyk noch hypotetysk is: it boarne-adres dat de applikaasje bine sil, de bestimming, de adresfamylje en de namme of it selektorpear fan it bern dat jo besjogge. Dat ferslach is wat in platte teller yn in toetsbere bewearing feroaret.
It boarne-adres is de wearde dy't minsken oerslaan, en dat is dejinge dy't de test it meast bruts. In laptop mei in fêst tried-adres, in Wi-Fi-adres en in tunneladres kin elk fan dy bine litte ôfhinklik fan 'e rûtesykjefraach, en mar ien kin binnen it ûnderhannele berik lizze. Brûk in ark dat jo de boarne fêstsette lit, lykas ping -I 10.1.0.5 10.2.0.9 of curl --interface 10.1.0.5, sadat it pakket net stil in oar adres kieze kin. As de fêstsette rin de tellers beweecht en de net-fêstsette net, dan hawwe jo in rûteprobleem fûn en gjin IPsec-probleem.
Hokker nûmers te lêzen, en wêr't se wenje
Op Linux printsje ip -s xfrm state elke assosjaasje mei in rigel lifetime current: wêrfan't it byte- en pakketotatal allinnich by dy SA heart, folge troch in rigel stats: foar werhellings- en flertellers. By in strongSwan-oare kant lit swanctl --list-sas ien rigel in en ien rigel out sjen per ynstallearre bern, elk einiget mei in byte- en in paktetal; de âldere stroke-ark neame itselde pear bytes_i en bytes_o. Lês de beide rjochtingen apart, want de rjochting dy't plat bleau is de befinning. Se byinoar optelle ferberget krekt de asymmetry dy't jo sykje.
Beide bylden binne per assosjaasje, dus in rekey ynstallearret in farsk SPI-pear en jo basisline giet werom nei nul sûnder dat der eat stikken is. Skriuw de SPI op dy't jo besjogge foardat de rekey-timer ôfgiet, oars fergelykje jo in nije SA mei in âld nûmer. As útgjend stiigt wylst ynkommend plat bliuwt, hat de selektor past en it antwurd kaam nea werom, wat it ûndersyk ferpleatst nei it trochstjoeren fan 'e oare kant en syn eigen belied. De IKEv2-konfiguraasjedokumintaasje fan strongSwan behannelet de libbenssyklus fan 'e berne-SA en de rekey-tiid efter dy sifers.
It waarnimmingspunt is in aparte fariabele fan 'e oarsprong fan it pakket. In hardware-offload kin de tellers fan 'e assosjaasje ferheegje wylst in software-opname op 'e ynterface neat sjen lit, om't offloade pakketten de hook oerslaan dêr't de opname op sit, en ynkommend kin itselde ôfwike. As de beide it net iens binne, brûk dan de tellers om te antwurdzjen oft der wat past hat en de opname om te antwurdzjen hoe't it pakket derút seach.
Rûte, selektors en wêr't it pakket berne waard
Fergelykje trije dingen njonkeninoar: de rûte dy't de kernel foar jo bestimming kiest, it belied dat ferkear de tunnel yn stjoert en it selektorpear dat it bern ûnderhannele hat. ip route get 10.2.0.9 from 10.1.0.5 neamt de ynterface en boarne dy't de kernel brûke soe, en dat is faak net it pear dat jo oannommen hiene. ip xfrm policy lit de lokaal ynstallearre mallen en selektors sjen, wylst swanctl --list-sas lit sjen wêr't de oare kant it oer iens wie. In sykjen dat it pakket de fysike ynterface út stjoert, berikt it belied hielendal net, dus de tellers kinne net bewege.
Mismatches komme yn ferskate foarmen dy't fan in teller ôf identyk lykje. In IPv6-bestimming bûten in IPv4-selektor, in boarne-adres út it ferkearde subnet en in belied dat smeller is as it bern leverje allegear itselde nul. Meitsje earst de smelste oarsaak yn oarder, want in selektor ferbreedzje om in nûmer te ferskowen feroaret wat de tunnel beskermet.
Dan is der de oarsprong fan it pakket, de falstrik dy't in gateway foar syn eigen operator set. Ferkear dat de gateway sels generearret, wurdt tsjin it útgongsbelied past, wylst in pakket dat er foar in klant trochstjoert tsjin it trochstjoerbelied past wurdt, dus in ping fan 'e doaze kin slagje op in paad dat gjin inkelde klant ea nimt.
Ien weromdraaie kinne feroaring en in ferslach dat de beoardieling oerlibbet
Feroarje ien elemint, werhelje it identike fersyk en lês deselde tellers. Alle firewallregels wiskje of alle selektors tagelyk ferfange sil in nûmer ferskowe en it bewiis ferneatigje dat jo fertelde wêrom. As de twadde rin noch altyd nul sjen lit, hawwe jo ien hypoteze útsletten ynstee fan 'e middei te fergriemen.
Skriuw de befinning op in wize dy't in oar reprodusearje kin: namme fan it bern, akseptearre berikken, de boarne dy't jo fêstset hawwe, de bestimming dy't jo testen, de rjochting dy't op nul bleau en de SPI dy't jo liesden. Dy sin skiedt in assosjaasje dy't nimmen brûkte fan in op ôfstân lizzende applikaasje dy't it ferkear krige en it wegere. Draai de feroaring werom as er de tellers net beweecht hat, en hâld it ferslach; de folgjende persoan begjint dêr't jo opholden binne. Neat yn 'e tunnel hoegde dêrfoar werboud te wurden, en dat is it punt fan it passen kontrolearje foardat jo de konfiguraasje oanreitsje.