Jedno hore, nula pripojených: čo tá čiara strongSwan počíta
Starý titulok počíta IKE asociácie, nie podsiete ani podradené SA, preto najprv čítajte načítané definície a nainštalované deti.
Prečítajte si stavový riadok, ktorý hovorí Security Associations (1 up, 0 connecting), a vyzerá ako správa o jednom funkčnom tuneli. Dve podsiete cez neho súčasne posielajú prevádzku, takže číslo vyzerá, akoby klamalo. Neklame; počíta IKE asociácie a jedna z nich môže hostiť viac detí. Prečítajte si inventáre, skôr než sa dotknete návrhu alebo trasy.
Prečo sa titulok a prevádzka nezhodujú
Starý výstup stroke nazýva svoj súčet bezpečnostnými asociáciami a odvodzuje ho zo správcu IKE asociácií. Každá nadviazaná IKE asociácia prispieva jednou, bez ohľadu na to, koľko CHILD SA je pod ňou. Jeden rodič IKEv2 zvyčajne nesie viac detí, po jednom na dvojicu selektorov prevádzky, a vyjednané selektory dieťaťa môžu pokryť viac ako jednu adresu alebo prefix. Počet adries vo vašej konfigurácii preto nemá pevný vzťah k číslu v titulku.
Moderný výstup niekedy ukazuje súčet namiesto starého slova “up” a démon spravovaný swanctl sa starými nastaveniami stroke vôbec neriadi. Nepredpokladajte ani formuláciu, ani pravidlo počítania naprieč verziami.
Porovnajte tri inventáre, skôr než čokoľvek zmeníte
Začnite tým, čo je načítané, potom tým, čo je vyjednané, potom tým, čo skutočne prenáša pakety. To sú tri rôzne otázky a každá má svoj príkaz.
swanctl --list-conns
swanctl --list-sas
Prvý vypisuje definície spojenia, ktoré démon prijal. Druhý vypisuje nadviazané IKE asociácie s ich deťmi, a práve tam sa objavuje skutočná hierarchia. Definícia, ktorá je v súbore, ale v prvom zozname chýba, nebola nikdy načítaná, a žiadny počet opakovaní iniciátora to nenapraví. Ak namiesto toho používate staré rozhranie, ekvivalentná dvojica je ipsec statusall a rovnaký zoznam swanctl, podľa toho, ktorý doplnok vlastní konfiguráciu. Nemiešajte nástroje medzi dvoma démonmi na jednom hostiteľovi a nečakajte jednu súvislú odpoveď.
swanctl --list-sas --raw | head -40
ip -s xfrm state
Surová podoba drží identifikátory a selektory viditeľné na porovnanie a zoznam stavu jadra ukazuje, čo si zásobník myslí, že nainštaloval. Keď sa démon a jadro rozchádzajú, buď démon reštartoval okolo existujúceho dieťaťa, alebo bol objekt jadra pod ním odstránený.
Čítajte hierarchiu, nie súčet
Ilustratívny nadviazaný rodič s dvoma deťmi vyzerá ako jeden uzol s dvoma deťmi pod sebou, každé označené svojím stavom a režimom. Vypíšte skutočný výstup a spočítajte deti sami, namiesto čítania zhrnutia, ktoré niekto vložil z panela.
swanctl --list-sas
swanctl --list-conns --raw | grep -A4 'accounting'
Jeden rodič s dvoma nainštalovanými deťmi je zdravý tunel pre dve podsiete. Jeden rodič s jedným nainštalovaným a jedným chýbajúcim dieťaťom je iná situácia a selektory chýbajúceho dieťaťa sú to, čo treba porovnať s návrhom vzdialenej strany. Počas obnovy kľúčov sa staré dieťa a jeho náhrada môžu na krátky čas objaviť spolu. Uložte časovú pečiatku so snímkou, pretože počet zistený uprostred obnovy vyzerá ako duplikácia a počet po nej ako strata.
Načítané, nainštalované a prevádzka, ktorá prechádza
Dieťa v nainštalovanom stave má vyjednané parametre a záznam v jadre. Ale nemuselo preniesť ani paket: selektory môžu byť užšie než očakávaná prevádzka a trasa môže tú prevádzku poslať inam, skôr než ju tunel vôbec uvidí. Pošlite tok zodpovedajúci vyjednaným selektorom z oprávneného hostiteľa a potom čítajte počítadlá dieťaťa, nie titulok. Počítadlo, ktoré zostane na nule, keď generujete zodpovedajúcu prevádzku, ukazuje na smerovanie alebo politiku, nie na IKE.
swanctl --initiate --child accounting
swanctl --list-sas --raw | grep -E 'bytes|packets'
Spustenie pomenovaného dieťaťa je zámerná akcia s viditeľným výsledkom a oddeľuje “spojenie je nečinné, pretože nikto nepožiadal” od “spojenie nemôže vstať”. Politika pasce na požiadanie sa správa presne ako prvý prípad, preto si prečítajte nastavenie spustenia spojenia, skôr než to nazvete poruchou.
Keď je počet naozaj nesprávny
Ak definícia chýba v načítanom inventári, pozrite sa na načítanie konfigurácie a na to, ktorá inštancia démona beží. Ak je načítaná, ale nikdy nevyjednáva, porovnajte návrhy, kontext overovania a selektory s partnerom, po jednom dieťati. Meňte jeden prvok na pokus a zaznamenajte identifikátor, ktorý ste zmenili. Vrátiť návrh je triviálne, keď viete ktorý; je to hádanie po troch úpravách, ktoré nikdy neboli oddelené.
Najprv opravte nesprávne čítanie. Väčšina správ o “chýbajúcom” druhom tuneli končí dvoma nainštalovanými deťmi pod jedným rodičom a jediné, čo bolo kedy pokazené, bol riadok so zhrnutím, ktorému ľudia verili namiesto hierarchie.