Журнал паказвае той жа запыт IKE двойчы, хтосьці паказвае на мабільны аплінк, і заяўка закрываецца здагадкай. Гэтая здагадка і ёсць міф: паўтораны пакет — назіранне пра адзін абмен, а не дыягназ канала. Паўторная перадача — нармальныя паводзіны са сваімі правіламі, і яны з'яўляюцца на здаровых шляхах, калі адказ павольны. Прасачыце адказ, перш чым вінаваціць інтэрфейс.

Міф: паўтораны запыт даказвае страту на адным канале

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

Два аплінкі робяць блытаніну горш, а не лепш. Адзін радок журнала называе адзін інтэрфейс, а адказ мог выйсці праз другі, таму інтэрфейс у паведамленні апісвае, дзе пакет быў убачаны, а не форму размовы. Вось чаму першае пытанне — які абмен вы разглядаеце, а не які канал няспраўны.

Што насамрэч кажа паўторная перадача

У IKEv2 паўторная перадача працуе так: запытчык паўтарае запыт, калі адказ не прыйшоў, а рэспандэнт можа паўторна адправіць свой закешаваны адказ замест таго, каб вылічыць новы. Ідэнтыфікатары паведамленняў належаць гэтаму абмену, і менавіта гэта робіць паўтораны запыт з тым жа ідэнтыфікатарам пазнавальным як праца пратакола, а не новая спроба. Пачатковая спроба часта патрабуе большага, чым адрас крыніцы або SPI ініцыятара, для суаднясення, таму ўласны запіс абмену платформы лепш за спіс пакетаў. IKEv1 трымаецца іншых правілаў з іншымі ідэнтыфікатарамі, і папярэджанне пастаўшчыка пра дубль першага пакета не азначае аднаго і таго ж у розных версіях.

Такім чынам, адбітак часу паўторнай перадачы кажа, што таймер скончыўся. Ён не кажа, які скок быў павольным, і ўжо дакладна не кажа, што вінаваты аператар сувязі. Гэта асобныя сцвярджэнні, і толькі другое карыснае ў заяўцы.

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

Чатыры пункты назірання як адзін ланцуг

Уяўляйце абмен як чатыры звёны ланцуга, а не як чатыры асобныя месцы для пошуку. Звяно трымае доказ або застаецца невядомым, і ланцуг інфарматыўны толькі настолькі, наколькі інфарматыўнае яго найслабейшае запісанае звяно. Табліца ніжэй — гэта інвентар: што кожная пазіцыя можа ўстанавіць і што пакідае некранутым.

ПазіцыяДоказ, які яна можа дацьШто застаецца адкрытым
Ініцыятар адпраўляеЗапыт пакінуў гэты хостЦі дасягнуў ён партнёра
Рэспандэнт атрымліваеЗапыт прыбыўЦі быў створаны адказ
Рэспандэнт адпраўляеАдказ пакінуў шлюзЦі ішоў ён па меркаваным шляху
Ініцыятар атрымліваеАбмен завяршыўсяЦі прыняла палітыка вынік

Запаўняйце ланцуг толькі там, дзе ў вас ёсць доступ, а астатняе пазначайце невядомым, а не выводзьце. Хук, які запісвае пакеты на адной машыне, нічога не кажа пра тое, што атрымала далёкая машына, а радок журнала пра ўбачаны запыт не з'яўляецца доказам таго, што адказ калі-небудзь выйшаў. Сумленныя прабелы карыснейшыя за запіс, які выглядае поўным, але пабудаваны на здагадках.

Знайдзіце першы прапушчаны пераход

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

Трымайце партнёра і пратакол нязменнымі, пакуль параўноўваеце, і памятайце, што затрымка, страта, палітыка і стан ствараюць розныя графікі. Мабільная сетка не з'яўляецца прычынай аўтаматычна, а фіксаваная лінія не абавязкова дастаткова надзейная для кожнай патрэбы. Захапіце абодва кірункі, пакуль абмен жывы:

tcpdump -ni any -vv 'udp port 500 or udp port 4500'

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

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

Што кажа карысная справаздача

Справаздача, вартая дзеяння, злучае адзін запыт з яго адказам і называе першы крок, за якім няма доказаў. Гэты сказ вытрымлівае чытанне праз тыдзень інжынерам, якога там не было, і дае наступнаму месца для пачатку, а не падазраванага.

Ніколі не паслабляйце праверкі ідэнтычнасці і не пашырайце дазволены набор пратаколаў толькі дзеля праверкі тэорыі паўторнай перадачы. Захоўвайце зыходныя пакеты і запісы падзей да любога скіду, бо скід знішчае менавіта той матэрыял, які вы збіраліся сабраць, і сцірае хранаметраж, які паказваў, дзе абмен затрымаўся.

Міф у тым, што адзін дубль даказвае віну аператара сувязі. Рэальнасць у тым, што адзін дубль даказвае, што таймер скончыўся, а адказ жыве на шляху адказу.

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