Адказы DPD даказваюць, што сусед IKE жывы, а не што ваш трафік ідзе
Адказы аб жыццядзейнасці, апавяшчэнне аб запаўненні і звужаныя селектары апісваюць тры розныя рэчы. Чытайце іх асобна, перш чым вінаваціць адно з іх у прыпынку.
Журналы IPsec могуць паказваць адказы аб жыццядзейнасці, пакуль праграма перад імі стаіць, і абодва факты могуць быць праўдай адначасова. Адказ DPD сцвярджае, што апрацоўка IKE суседа адказала ў той момант; ён нічога не кажа пра тое, ці нясе дачэрні SA пакет, які вам патрэбны. Стаўленне да кожнага папярэджання каля збою як да яго прычыны — гэта тое, як праблема селектара дыягнастуецца як памылка пратакола. Тры назіранні блытаюць часцей за ўсё, і яны адказваюць на тры розныя пытанні. Чытайце іх па сувязі і прызначэнні, перш чым чытаць па часе.
Што даказвае кожнае назіранне
Табліца аддзяляе тое, што кожнае назіранне сцвярджае, ад таго, што яно проста суправаджае.
| Observation | What it establishes | What it leaves open |
|---|---|---|
| DPD replies arrive | The peer's IKE process answered | The child SA, forwarding path and application reply |
| TFC padding notification | The peer will not accept padding for that child SA | Whether ordinary ESP protection still works, which it does |
| Selectors reported as narrowed | The accepted traffic set is a subset of the offer | Whether the subset includes the flow the user needs |
Ні адно з трох не з'яўляецца памылкай само па сабе. Кожнае робіцца цікавым толькі побач з патокам, які вы адладжваеце, а радок, які нельга прывязаць да пэўнага патоку, — гэта кантэкст, а не доказ.
Жыццядзейнасць — не здароўе даных
DPD працуе як абмен INFORMATIONAL — размова плоскасці кіравання паміж дэманамі IKE. Адказ даказвае, што працэс IKE суседа дасягальны і гатовы адказаць, а тайм-аўт даказвае, што гэта не так. Ні адзін з вынікаў не правярае дачэрні SA, селектары, шлях перасылкі або адказ праграмы, таму здаровы DPD побач з прыпыненай перадачай — гэта ўзгодненая карціна, а не супярэчнасць.
Вось чаму радкі жыццядзейнасці — найменш карысная частка тыкета плоскасці даных, як бы заспакаяльна яны ні выглядалі ўверсе журнала.
Апавяшчэнне аб запаўненні — гэта заява аб запаўненні
Запаўненне TFC — радок, які найбольш перачытваюць у гэтых журналах. Ён кажа, што запаўненне для канфідэнцыйнасці патоку трафіку не будзе прынята для гэтага дачэрняга SA, што з'яўляецца заявай аб неабавязковай функцыі запаўнення, а не адмовай ад абароны ESP. Знаходзіць яго каля збою — звычайна выпадковасць шматслоўнасці, і ўключэнне або выключэнне запаўнення нічога не змяняе ў пакрыцці селектараў.
Спецыфікацыя IKEv2 вызначае і апавяшчэнне, і перамовы аб селектарах, і папярэдні цэтлік рэалізацыі ні ў адным з выпадкаў не замяняе значэнне пратакола.
Звужэнне цішэйшае і часцей мае значэнне
Адказчык можа прыняць падмноства прапанаваных селектараў, і прынятае мноства можа быць надрукавана ў некалькіх запісах: адзін з указаннем порта, другі ахоплівае ўсе порты. Чытанне толькі першага радка з указаннем порта заніжае прынятае; чытанне толькі шырокага радка завышае яго. Параўнайце надрукаваную прапанову з усталяванай палітыкай, бо прапанова — гэта тое, што сказалі суседзі, а палітыка — гэта тое, што будзе супастаўляць ядро. Калі яны разыходзяцца, тунель існуе, а трафік — не, і гэта класічная скарга на перарывістасць. Пераварочвайце мясцовую і аддаленую перспектыву пры параўнанні суседзяў, бо мясцовае кожнага боку — гэта аддаленае іншага.
Запісы, спецыфічныя для хоста, з абмежаваннем порта варта чытаць двойчы, бо менавіта яны выключаюць ICMP або другі порт, пакідаючы ping да шлюза працоўным.
Стварыце адзін запіс для збойнага патоку
Запішыце крыніцу, прызначэнне, сямейства адрасоў, пратакол і порт так, як яны бачныя пры рашэнні аб абароне, уключаючы любы наўмысны пераклад. Гэта значэнні, якія павінны адпавядаць селектару, і гэта таксама значэнні, якія людзі перадрукоўваюць па памяці, калі тыкет трапляе да трэцяй пары рук.
Затым вызначце дачэрні SA і яго паказальнікі па кірунках: swanctl --list-sas дае зводку асацыяцыі на хосце strongSwan, а ip -s xfrm state дае паказальнікі. Чытайце іх пасля свежага дазволенага запыту, а не тады, калі сістэма прастойвае. Адсутнасць росту зыходнага трафіку паказвае на выбар або мясцовы шлях; зыходны без адпаведнага ўваходнага паказвае на суседа, яго перасылку або яго адказы.
Завершаны абмен праграмы важнейшы за любы з паказальнікаў, таму тэст павінен сканчацца на праграме, а не на індыкатары тунеля.
Выберыце выпраўленне пасля гэтага
Толькі пасля таго, як гэты запіс існуе, ёсць выпраўленне, якое можна выбраць: прынятыя селектары, маршрут, фільтраванне, рэалізацыя суседа або мяжа, якую вы цяпер прадэманстравалі. Скід суседа змяняе некалькі станаў адразу і часта аднаўляе трафік, не тлумачачы, які з іх быў няправільны, таму збой вяртаецца. Трымайце дампы стану ядра па-за тыкетамі, бо яны могуць змяшчаць ключы, а вузкай зводкі дастаткова любому, хто хоча дапамагчы.
Калі запіс супярэчыць вашай першай тэорыі, верце запісу і перапішыце тэорыю; гэтая звычка каштоўнейшая за любы адзіны радок журнала, абмеркаваны тут.