Еднаква идентичност IKEv2 на два iPhone? Те се свързват последователно
Един профил, копиран на две устройства, дава на шлюза един peer вместо два. Наблюдавайте как таблицата с peer се пълни и изпразва, после издайте стойност за всяко устройство.
Два телефона, един профил и картина, която изглежда свръхестествена, докато някой не погледне шлюза. Едно устройство държи тунела, второто се свързва и първото го губи за секунди. Първото се свързва отново и второто пада. Обвиняват пестенето на батерия, Wi-Fi роуминга и NAT на оператора, а истинската причина стои в текстово поле, копирано заедно с всичко останало. IKEv2 идентифицира peer по име и двата телефона представят едно и също име.
Идентичността е ключът, под който сървърът те пази
Вътре в IKEv2 разменя всяка страна заявява коя е: инициаторът изпраща локален идентификатор, отговарящият отговаря със своя и също проверява заявената от инициатора идентичност спрямо политиката. Шлюзът пази състоянието си по идентичност, а не по устройство, защото устройството не е нещо, което вижда. Затова два телефона с един идентификатор пристигат като един peer и втората размяна трябва да презапише първата. Проблемът се появява само докато и двата се използват, затова тест с един телефон никога не го възпроизвежда.
Нищо от това не е дефект в клиента. Клиентът е изпратил точно това, което профилът му е казал да изпрати.
Как изглежда сблъсъкът от шлюза
Гледайте списъка с peer, докато и двата телефона са будни и в употреба. Сблъсъкът показва един запис, чийто адрес се мени, докато телефоните се сменят, а броячът на активните сесии никога не стига две. Разкъсването при поискване изглежда различно и различаването им изисква едно наблюдение, а не теория.
| Observation | Shared identity | Idle teardown |
|---|---|---|
| Peer entries while both are awake | One, with a changing address | One per phone, or none |
| What triggers the drop | The other device connecting | Time without traffic |
| What restores it | The other device disconnecting | Any app needing the tunnel |
Запишете двете събития с времеви марки, докато се случва. Прекъсване, което съвпада със свързването на другия апарат, сочи към идентификатора, а прекъсване един интервал на бездействие след последния пакет сочи към таймер.
Откъде идват дубликатите
Експортирането на една работеща конфигурация и редактирането само на адреса на сървъра създава втори файл, в който идентичността на първия файл все още е вътре. Това е обичайният път към тази повреда и обикновено се случва при бързо включване на малка група.
Имената на полетата правят пропускането лесно. Отдалеченият идентификатор именува шлюза, който телефонът очаква, и копирането му е правилно. Локалният идентификатор именува този апарат пред шлюза, и копирането на тази стойност е целият проблем.
Издавайте стойност за всяко устройство
Използвайте нещо уникално за апарата и стабилно за целия му живот, например идентификатора на устройството от инвентара или стойност, която системата ви за управление генерира при всяка регистрация. Етикет на отдел, споделено име на служебен акаунт или имейл адресът на потребителя се сблъскват веднага щом този човек има второ устройство.
Генерирайте полезния товар за всяко устройство, вместо да разпространявате един файл. Записвайте коя стойност на кой апарат принадлежи, така че замяната да не възстанови стария профил и да върне новия телефон направо в същия сблъсък.
Проверете и сървърната страна. Шлюз, който съпоставя идентичността на фиксиран адрес на тунела, може все още да се сблъска, когато два различни идентификатора получат едно и също назначение, затова потвърдете, че пулът има място и че назначенията не са закрепени за потребител.
Проверете с будни два телефона
Свържете първия, достигнете частен ресурс, после свържете втория и оставете и двата в бездействие за минута. И двете сесии трябва да се запазят, а списъкът с peer да показва две идентичности. След това заключете и отключете всеки телефон, за да потвърдите, че случаят на бездействие все още работи.
Ако една сесия все още пада веднъж на ден, без нищо друго да се свързва, идентичността вече не е заподозряната. Преминете към таймери за бездействие и лимити на сесиите на сървъра, вместо да редактирате профила отново.