Два тэлефоны, адзін профіль і карціна, якая выглядае звышнатуральнай, пакуль хтосьці не паглядзіць на шлюз. Адна прылада трымае тунель, другая падключаецца, і першая губляе яго за секунды. Першая перападключаецца, другая адвальваецца. Эканомію батарэі, 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 — паказваць дзве асобы. Потым заблакуйце і разблакуйце кожны тэлефон, каб пацвердзіць, што выпадак прастою па-ранейшаму працуе.

Калі адна сесія ўсё яшчэ разрываецца раз на дзень, а іншае нічога не падключаецца, асоба больш не падазроная. Пераходзьце да таймераў прастою і лімітаў сесій сервера замест чарговай праўкі профілю.

Падобныя артыкулы