Журнал бір IKE сұрауын екі рет көрсетеді, біреу мобильді аплинкіге нұсқайды және тикет болжаммен жабылады. Сол болжам — аңыз: қайталанған пакет бір алмасу туралы бақылау, байланыс диагнозы емес. Қайта жіберу өз ережелері бар қалыпты мінез-құлық және жауап кешіккенде сау жолдарда да көрінеді. Интерфейсті кінәламас бұрын жауапты қадағалаңыз.

Аңыз: қайталанған сұрау бір байланыстағы жоғалтуды дәлелдейді

Екі түрлі нәрсе көшірме жасайды және ешқайсысы кінәліні атамайды. Сұраушы жауап алмағандықтан сұрауды қайталауы мүмкін, немесе ұстау нүктесі стекке қай жерде қосылғанына байланысты бір пакетті екі рет көрсетуі мүмкін. Бір хостта кіру мен шығуды көретін кран бір пакетті екі деп қуана жазады, ал бұл журналды оқыған оператордың алмасу идентификаторларынсыз айырмашылықты айыруға жолы жоқ. Екінің қайсысы қолыңызда екенін айта алғанша көшірмені таймер оқиғасы ретінде қарастырыңыз.

Екі аплинк шатасуды жақсартудың орнына ушықтырады. Бір журнал жолы бір интерфейсті атайды, ал жауап екіншісінен шыққан болуы мүмкін, сондықтан хабарламадағы интерфейс пакеттің қайда көрінгенін сипаттайды, әңгіменің пішінін емес. Сондықтан бірінші сұрақ — қай байланыс ақаулы емес, қай алмасуды қарап отырғаныңыз.

Қайта жіберу шын мәнінде не дейді

IKEv2-де қайта жіберу былай жұмыс істейді: жауап келмегенде сұраушы сұрауды қайталайды, ал жауап беруші жаңасын есептеудің орнына кэштегі жауабын қайта жібере алады. Хабарлама идентификаторлары сол алмасуға тиесілі және дәл сол бірдей идентификаторлы қайталанған сұрауды жаңа әрекет емес, протоколдың жұмысы ретінде танытады. Бастапқы әрекет корреляция үшін көбіне бастапқы адрестен немесе бастаушы SPI-інен көбірек қажет етеді, сондықтан платформаның өз алмасу жазбасы пакеттер тізімінен артық. IKEv1 басқа идентификаторлармен басқа ережелерді ұстанады, ал бірінші пакеттің көшірмесі туралы жеткізуші ескертуі барлық нұсқаларда бірдей мағына бермейді.

Сонымен қайта жіберу уақыт белгісі таймердің біткенін айтады. Ол қай секірістің баяу болғанын айтпайды және оператордың кінәлі екенін мүлде айтпайды. Бұлар бөлек тұжырымдар және тикетте тек екіншісі пайдалы.

Практикалық салдар — қорытынды жасамас бұрын алмасуды жазып алу. Жергілікті қабылдау адресін, саясат таңдаған жауап жолын, жұптың tuple-ын және алмасу идентификаторларын бір жерге жазыңыз, өйткені жазба кейін оқылғанда олардың әрқайсысы басқа сұраққа жауап береді.

Бір тізбек ретінде төрт бақылау нүктесі

Алмасуды төрт бөлек қаралатын орын емес, тізбектің төрт буыны деп ойлаңыз. Буын дәлелді сақтайды немесе белгісіз күйінде қалады, ал тізбек ең әлсіз жазылған буынындай ғана ақпаратты. Төмендегі кесте — түгендеу: әр позиция нені анықтай алады және нені қол тигізбей қалдырады.

ПозицияОл бере алатын дәлелНені ашық қалдырады
Бастаушы жібередіСұрау осы хосттан шықтыОл жұпқа жетті ме
Жауап беруші қабылдайдыСұрау келдіЖауап жасалды ма
Жауап беруші жібередіЖауап қақпадан шықтыОл көзделген жолмен жүрді ме
Бастаушы қабылдайдыАлмасу аяқталдыСаясат нәтижені қабылдады ма

Тізбекті тек қолыңыз жететін жерде толтырыңыз, ал қалғанын болжаудың орнына белгісіз деп белгілеңіз. Бір машинада пакеттерді жазатын ілгек алыстағы машинаның не алғаны туралы ештеңе айтпайды, ал сұрау көрілді деген журнал жолы жауаптың бір кезде шыққанына дәлел емес. Адал олқылықтар болжамнан құралған толық көрінетін жазбадан пайдалырақ.

Бірінші жоғалған ауысуды табыңыз

Тізбекті бастаушыдан сыртқа қарай жүріңіз және дәлелсіз бірінші буында тоқтаңыз. Егер қақпа сұрауды ешқашан жазбаса, ақау оның алдындағы жолда. Қақпа бір сұрауды қайта-қайта жазып, ал клиент жауапты ешқашан жазбаса, күдікті — кері бағыт: бастапқы адрес, трансляция және өзіңіз бақылайтын әр шекарадағы сүзгілеу. Жауап келіп, клиент бәрібір ілгерілемесе, сұрақ көліктен шығып, саясат немесе күйге айналды.

Салыстыру кезінде жұп пен протоколды тұрақты ұстаңыз және кідіріс, жоғалту, саясат пен күйдің әрқайсысы басқа уақыт сызығын тудыратынын есте сақтаңыз. Мобильді желі автоматты түрде себеп емес, ал тіркелген желі әр талап үшін автоматты түрде жеткілікті сенімді емес. Алмасу тірі кезінде екі бағытты да жазып алыңыз:

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

Қолжетімділік алыс ұшының алдында үзілсе, жазба қай жерде үзілгенін айтса, бәрібір көмектеседі. Тек бастаушыда жазу сұраудың шығып жатқанын және жауаптың келмейтінін көрсетуі мүмкін, бұл ақауды сол ілгектен кейінгі барлық нәрсеге тарылтады, қай секіріс оны тастағанын білемін деп місе тұтпай. Алыс буындарды белгісіз деп белгілеп, қолжетімділігі бар келесі адамға оларды толтыруға мүмкіндік беріңіз. Осылай жазылған жазба адал және әлі де қысқа болып қалады.

Бірдеңені өзгертер алдында салыстырыңыз. Бір сұрауды бір жұпқа бір протоколмен қайталау айнымалыларды санаулы күйде ұстайды, ал жазулар арасындағы қайта қосу, кілтті жаңарту немесе саясатты өңдеу салыстыруды жояды. Егер өзгеріс сөзсіз болса, одан кейін бірден қайта жазып алыңыз, сонда алдыңғы мен кейінгі әлі де сол алмасуды сипаттайды.

Пайдалы есеп не дейді

Әрекетке тұрарлық есеп бір сұрауды оның жауабымен жұптайды және артында дәлел жоқ бірінші қадамды атайды. Бұл сөйлем бір аптадан кейін сол жерде болмаған инженер оқығанда да төтеп береді және келесі адамға күдіктінің орнына бастау нүктесін береді.

Тек қайта жіберу теориясын тексеру үшін сәйкестік тексерулерін әлсіретпеңіз және рұқсат етілген протоколдар жиынын кеңейтпеңіз. Кез келген қайта қосу алдында бастапқы пакеттер мен оқиға жазбаларын сақтаңыз, өйткені қайта қосу дәл жинағалы отырған материалды жояды және алмасу қайда тұрып қалғанын көрсететін уақытты өшіреді.

Аңыз — бір көшірме оператордың кінәсін дәлелдейді. Шындық — бір көшірме таймердің біткенін дәлелдейді, ал жауап жауап жолында өмір сүреді.

Қатысты мақалалар