Na nadziranom iPhoneu s upravljanim Always On profilom telefon drži tunel za svaki aktivni IP interfejs, pa mobilna mreža i Wi-Fi dobijaju svaki svoj. Server zatim navodi dvije IKE sigurnosne asocijacije za jedan uređaj, često dijeleći jednu virtualnu adresu, a prva pomisao je nazvati to petljom obnavljanja ključa i početi mijenjati tajmere. Ta pomisao je obično pogrešna. Prođite kroz korake ispod redoslijedom kojim se dokazi pojavljuju na serveru i ostavite postavke telefona na miru dok vam server ne kaže koji slučaj imate.

Počnite s dva reda koja server već ima

Navedite asocijacije pomoću swanctl --list-sas i pročitajte četiri polja kroz oba unosa: udaljena adresa, autentifikovani identitet, dodijeljena virtualna IP adresa i vrijeme kreiranja. Dvije različite vanjske adrese s jednim identitetom i jednom virtualnom IP adresom oblik je koji je pokrenuo ovo pitanje i vrijedi ga zapisati prije bilo kakve promjene. Zatim provjerite podređene asocijacije vezane za svaku, jer selektori saobraćaja odlučuju može li pretraga odredišta ikada razlikovati dva tunela. Par koji se pojavi i nestane u sekundama drugačija je zvijer od para koji oba žive satima.

Sortirajte listu po vremenu kreiranja prije nego donesete zaključak. Susjedstvo u izlazu ne znači ništa, a tabelarni prikaz upravo poziva na tu grešku.

Odredite na koje preklapanje gledate

IKEv2 obnavljanje ključa i make-before-break reautentifikacija namjerno stvaraju kratko preklapanje, uspostavljajući novu asocijaciju prije brisanja stare. Vremenske oznake rješavaju slučaj, jer stara SA koja nestane sekundu ili dvije nakon što se nova pojavi jeste obnavljanje koje radi svoj posao. Nezavisni tuneli po interfejsu nikada ne izgledaju tako, jer svaki traje dok je njegov interfejs gore, a brisanje jednog ne slijedi iz stvaranja drugog.

Appleovo upravljano Always On ponašanje je po interfejsu, zbog čega nadzirani uređaj može legitimno izgledati zaposlenije od ručno podešenog profila. Prekidač za automatsko povezivanje u aplikaciji provajdera ne podrazumijeva isto, a ni obično pravilo na zahtjev. Appleov pregled implementacije opisuje model po interfejsu; uporedite svoja dva reda s njim prije nego pretpostavite petlju. Oba oblika također crpe iz istog servera, pa je preklapanje vaš jedini rani signal.

Vidite zašto jedna virtualna adresa za dva tunela kvari odgovore

Odgovor telefonu adresiran je na unutrašnju adresu, a kernel bira odlazni tunel prema odredištu i politici, ne prema interfejsu koji je telefon koristio. Dvije istovremene asocijacije koje drže istu virtualnu IP adresu s podudarnim politikama ostavljaju odluku o rutiranju bez načina da kaže kojoj sesiji odgovor pripada. Neki odgovori idu pogrešnim tunelom, a telefon pokazuje vezu koja radi u jednom smjeru ili umire kad se Wi-Fi pojavi. Dva izlaza komandi dokazuju stanje: swanctl --list-sas pokazuje istu virtualnu IP adresu na obje SA, a ip xfrm policy pokazuje dva identična selektora.

Taj par izlaza je i ono što zalijepite u zapis o promjeni. Nijedan sam nije uvjerljiv, jer svaki može izgledati uvjerljivo zasebno.

Ovo je adresiranje i politika na strani servera, ne ponašanje telefona, i nijedna postavka klijenta ne razdvaja dvije identične unutrašnje adrese. Bazen je istu vrijednost izdao dvaput i instalater politike ju je prihvatio. Pročitajte rezultat sa strane servera prije nego okrivite klijenta.

Promijenite bazen ili model paralelnosti, ne tajmer obnavljanja ključa

U swanctl konfiguraciji jedinstvenost je eksplicitna politika na vezi: unique = replace uklanja stariju vezu kad se nova uspostavi, a unique = keep odbija novopridošlu. Obje vrijednosti djeluju kad se veza postavlja, ne na podređene SA unutar nje.

connections {
  ios-alwayson {
    unique = replace
  }
}

Nijedna vrijednost nije neutralna za klijenta po interfejsu. keep vraća uredan statusni ekran odbijajući drugi tunel i kvari upravljani dizajn, dok replace ruši stariji tunel i isto je kompromis u drugom smjeru. Ako su oba tunela zaista potrebna, pozadina bazena mora izdavati različite zakupnine za jedan identitet, a njen ključ zakupa mora razlikovati zahtjeve. Statička tabela identitet-adresa rado će vratiti istu adresu dvaput i reproducirati izvorni problem s više konfiguracije. Provjerite kako pozadina ključa zakupnine prije dodavanja drugog statičkog mapiranja.

Testirajte prelaze koje zaista isporučujete

Iziđite iz dometa Wi-Fi mreže s aktivnom sesijom, pa se vratite i provjerite da odgovori stižu u oba smjera. Uradite to dvaput, jer se na drugom prelazu obično pojavi zastarjela politika. Testirajte uslugom koja odgovara na vezi koju ste otvorili i ponovite izlazak dok tunel nosi saobraćaj umjesto da stoji besposlen. Telefon koji može slati ali ne primati izgleda zdravo u zapisu rukovanja, a pokvareno u pregledniku.

Statusni ekran sveden na jedan red nije dokaz radnog dizajna, samo dokaz da je jedan tunel otišao. Oba smjera moraju raditi prije nego prelaz prođe. Zapišite šta ste primijetili, zajedno s dva izlaza provjere preklapanja, da sljedeći inženjer može uporediti umjesto da ponavlja šetnju.

Povezani članci