Два телефона, један профил и образац који изгледа натприродно док неко не погледа мрежни пролаз. Један уређај држи тунел, други се повезује, а први га губи у року од неколико секунди. Први се поново повезује, други испада. Криве се уштеда батерије, Wi-Fi роаминг и NAT оператера, док стварни узрок седи у текстуалном пољу копираном заједно са свим осталим. IKEv2 идентификује peer по имену, и оба телефона представљају исто име.

Идентитет је кључ под којим те сервер чува

Унутар IKEv2 размене свака страна изјављује ко је: иницијатор шаље локални идентификатор, одговарач одговара својим и такође проверава идентитет који је иницијатор тврдио према политици. Мрежни пролаз чува стање по идентитету, а не по уређају, јер уређај није нешто што може да види. Зато два телефона са једним идентификатором долазе као један peer, и друга размена мора да препише прву. Проблем се појављује само док су оба у употреби, зато тест са једним телефоном то никада не репродукује.

Ништа од овога није грешка у клијенту. Клијент је послао тачно оно што му је профил рекао.

Како судар изгледа са мрежног пролаза

Гледајте листу peer-ова док су оба телефона будна и у употреби. Судар показује један запис чија се адреса мења како се телефони смењују, а бројач активних сесија никада не достиже два. Прекид на захтев изгледа другачије, а њихово разликовање захтева једно посматрање, не теорију.

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

Запишите оба догађаја са временским ознакама док се дешава. Прекид који се поклапа са повезивањем другог уређаја указује на идентификатор, а прекид који стигне један интервал мировања после последњег пакета указује на тајмер.

Одакле долазе дупликати

Извоз једне радне конфигурације и уређивање само адресе сервера ствара други фајл у коме је идентитет првог фајла још унутра. То је уобичајен пут до овог квара, и обично се дешава при брзом укључивању мале групе.

Имена поља олакшавају да се то пропусти. Удаљени идентификатор именује мрежни пролаз који телефон очекује, и копирање је исправно. Локални идентификатор именује овај уређај пред мрежним пролазом, и копирање те вредности је цео проблем.

Издајте вредност за сваки уређај

Користите нешто јединствено за уређај и стабилно током целог његовог живота, као идентификатор уређаја из инвентара или вредност коју ваш систем управљања генерише при свакој регистрацији. Ознака одељења, заједничко име сервисног налога или е-пошта корисника сударају се чим та особа има други уређај.

Генеришите терет за сваки уређај уместо да дистрибуирате један фајл. Забележите која вредност припада ком уређају, да замена не обнови стари профил и не врати нови телефон право у исти судар.

Проверите и страну сервера. Мрежни пролаз који идентитет пресликава на фиксну адресу тунела и даље може да се судари када два различита идентификатора добију исту доделу, зато потврдите да скуп има места и да доделе нису закачене по кориснику.

Проверите са оба телефона будна

Повежите први, дођите до приватног ресурса, затим повежите други и оставите оба у мировању један минут. Обе сесије треба да остану, а листа peer-ова треба да покаже два идентитета. Затим закључајте и откључајте сваки телефон да потврдите да се случај мировања и даље понаша исправно.

Ако једна сесија и даље пада једном дневно без ичега другог што се повезује, идентитет више није осумњичени. Пређите на тајмере мировања и ограничења сесија сервера уместо да поново уређујете профил.

Повезани чланци