Dva telefony, jeden profil a vzorec, který vypadá nadpřirozeně, dokud se někdo nepodívá na bránu. Jedno zařízení drží tunel, druhé se připojí a první ho během sekund ztratí. První se znovu připojí a druhé vypadne. Viní se úspora baterie, Wi-Fi roaming i NAT operátora, zatímco skutečná příčina sedí v textovém poli, které se zkopírovalo spolu se vším ostatním. IKEv2 identifikuje peera jménem a oba telefony předkládají stejné jméno.

Identita je klíč, pod kterým tě server ukládá

Uvnitř výměny IKEv2 každá strana uvádí, kdo je: iniciátor posílá lokální identifikátor, respondent odpovídá svým a také ověřuje identitu, kterou iniciátor tvrdí, proti zásadám. Brána si uchovává stav podle identity, nikoli podle zařízení, protože zařízení není něco, co vidí. Dva telefony s jedním identifikátorem proto dorazí jako jeden peer a druhá výměna musí přepsat první. Problém se objeví jen tehdy, když jsou oba v použití, a proto ho test s jedním telefonem nikdy nezopakuje.

Nic z toho není chyba v klientovi. Klient poslal přesně to, co mu profil řekl, aby poslal.

Jak kolize vypadá z brány

Sledujte seznam peerů, dokud jsou oba telefony bdělé a v použití. Kolize ukazuje jeden záznam, jehož adresa se mění, jak se telefony střídají, a počítač aktivních relací nikdy nedosáhne dvou. Ukončení na vyžádání vypadá jinak a jejich rozlišení vyžaduje jedno pozorování, ne teorii.

ObservationShared identityIdle teardown
Peer entries while both are awakeOne, with a changing addressOne per phone, or none
What triggers the dropThe other device connectingTime without traffic
What restores itThe other device disconnectingAny app needing the tunnel

Zapište obě události s časovými razítky, zatímco se to děje. Výpadek, který se kryje s připojením druhého přístroje, ukazuje na identifikátor, a výpadek, který přijde jeden interval nečinnosti po posledním paketu, ukazuje na časovač.

Odkud se duplikáty berou

Export jedné funkční konfigurace a úprava pouze adresy serveru vytvoří druhý soubor, v němž je identita prvního souboru stále uvnitř. To je obvyklá cesta k této závadě a obvykle se stane při rychlém zavádění malé skupiny.

Názvy polí usnadňují, aby se to přehlédlo. Vzdálený identifikátor pojmenovává bránu, kterou telefon očekává, a jeho kopírování je správné. Lokální identifikátor pojmenovává tento přístroj vůči bráně, a kopírování této hodnoty je celý problém.

Přidělte hodnotu pro každé zařízení

Použijte něco jedinečného pro přístroj a stabilního po celou dobu jeho životnosti, například identifikátor zařízení z inventáře nebo hodnotu, kterou váš systém správy generuje pro každou registraci. Označení oddělení, sdílený název servisního účtu nebo e-mailová adresa uživatele kolidují, jakmile má daná osoba druhé zařízení.

Generujte payload pro každé zařízení místo distribuce jednoho souboru. Zaznamenejte, která hodnota patří kterému přístroji, aby výměna neobnovila starý profil a nevrátila nový telefon rovnou do stejné kolize.

Zkontrolujte i stranu serveru. Brána, která mapuje identitu na pevnou adresu tunelu, může stále kolidovat, když dva různé identifikátory dostanou stejné přiřazení, proto ověřte, že fond má místo a že přiřazení nejsou přibitá na uživatele.

Ověřte s oběma telefony bdělými

Připojte první, dosáhněte soukromého prostředku, potom připojte druhý a nechte oba minutu nečinné. Obě relace by měly přetrvat a seznam peerů by měl ukazovat dvě identity. Potom každý telefon zamkněte a odemkněte, abyste potvrdili, že případ nečinnosti stále funguje.

Pokud jedna relace stále padá jednou denně, aniž by se připojovalo něco jiného, identita už není podezřelá. Přejděte k časovačům nečinnosti a limitům relací serveru, místo abyste profil znovu upravovali.

Související články