ESP дешифрира без грешка, а вътрешният пакет все още не отива никъде
Броячите на ESP растат, а приложението не вижда нищо. Следващият заглавен ред в трейлъра трябва да съответства на вътрешния пакет, което е различна повреда от пропуснат селектор.
Броячът за приемане на ESP се увеличава, тунелът остава вдигнат, а приложението така и не вижда пакета. Дешифрирането е минало, проверката за цялост е успешна и след това приемникът трябваше да реши какво всъщност представлява защитеният полезен товар. Именно на тази последна стъпка се появява несъответствие във формата и отвън това изобщо не изглежда като проблем със защитна стена.
Какво виждате, когато етикетът лъже
Нищо в клиентския журнал не различава това от черна дупка в маршрутизацията. И двете дават изчакване в приложението до здрав тунел, затова първо обвиняват броячите.
Растящият брояч на приемане е наистина добра новина: пакетите пристигат и преминават удостоверяване. Това не е доказателство, че вътрешният пакет е имал смисъл за нещо над криптографския слой.
Типът живее в трейлъра
В обикновения тунелен режим на IPsec защитеният от ESP полезен товар съдържа пълен вътрешен IP пакет. Полето за следващ заглавен ред в трейлъра указва какъв е този товар и то не е TCP порт, не е номер на протокол във външния заглавен ред и не е част от началното поле SPI и номера на последователността. RFC 4303 раздел 2.6 го определя като поле за тип на полезния товар, което е точно име за точна задача.
Стойностите, които ще срещнете, са малки и си струва да ги запомните: IPv4 е 4 (0x04), а IPv6 е 41 (0x29).
Тези числа идват от разпределенията на номерата на протоколи на IANA, а не от местна конвенция. Подател, който обявява IPv4, но опакова IPv6 пакет, е създал несъответствие във формата и нито едно правило на защитна стена не поправя байтове, които противоречат на собствения си етикет.
Как да го различим от обичайните заподозрени
Повечето липсващи пакети не са дефекти в кодирането. Проверете първо селекторите, защото селектор на трафик, който изключва префикса IPv6, изхвърля трафика, преди нещо да бъде инкапсулирано. След това проверете маршрутизацията, после локалната филтрация на приемащия хост. Едва след като тези са изключени, несъответствието във формата на товара става правдоподобно обяснение.
Криптиран запис няма да реши въпроса, защото защитеният следващ заглавен ред се намира вътре в криптирания товар. Нужна ви е диагностика на реализацията или поддържана точка за наблюдение след дешифриране и двете изискват разрешение преди употреба.
Ако никой не може да представи тези доказателства, нямате дефект във формата. Имате теория, а селекторите остават по-добрият залог.
Какво не е поправката
Не изключвайте проверките за цялост, за да преминава трафикът. Не преписвайте криптирани пакети на междинен маршрутизатор, защото това не може да работи и ще повреди потока, докато изглежда полезно в запис. Не отваряйте по-широко правило на защитна стена за приложението на теорията, че порт е блокиран. Никое от тези не докосва несъответствието на етикета.
Ако потвърдено несъответствие идва от партньорска реализация, запазете минимално обезопасено възпроизвеждане и го отнесете до поддържания канал на тази реализация.
Проверете потока, не брояча
След корекцията тествайте реалния поток IPv6 от край до край: заявка от приложението през тунела, отговорът ѝ и двойката адреси, която всяка страна наблюдава. Растящият брояч на ESP доказва само, че пакетите се приемат и удостоверяват. Той не казва нищо за това дали вътрешният пакет е бил използваем.
Запишете и двата резултата в билета. Движение на брояча плюс работещ поток е поправка; движението на брояча само по себе си е точно това, което сте имали, преди да започнете.