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

Лік прыйшоў з іншага тунеля

Нагрузка не з'яўляецца ўласцівасцю IPsec у абстракцыі. Гэта ўласцівасць пакета, які фактычна будуецца: узгоджаны рэжым, знешні загаловак, загаловак абароны, дапаўненне, поле цэласнасці і, магчыма, дадатковая абгортка UDP.

Лік, прыведзены для транспартнага рэжыму з IPv4 і без NAT, апісвае драбнейшы пакет, чым тунельны рэжым з IPv6 пры праходжанні NAT. Абодва слушныя для свайго выпадку. Капіраванне любога з іх у іншае разгортванне вядзе да MTU, які ламае буйныя перадачы. Збой ціхі, бо дробныя запыты працягваюць працаваць.

Складзіце слаі, якія сапраўды ёсць

Пачніце са знешняга загалоўка IP і рухайцеся ўнутр. У тунельным рэжыме зыходны пакет знаходзіцца ўнутры, таму знешні загаловак гэта дадатак, а не замена. RFC 4303 апісвае загаловак ESP, дапаўненне і даныя цэласнасці, якія ідуць за ім.

LayerWhat it addsWhen it applies
Outer IP header20 bytes for IPv4, 40 for IPv6Always, and 40 rather than 20 if the outer path is v6
ESP header8 bytes of SPI and sequence numberAlways
Block cipher IV8 to 16 bytes depending on the transformWhen the negotiated cipher uses one
Padding and trailerPadding to the block size, plus two trailer bytesAlways, and the amount varies with payload length
Integrity data12 to 16 bytes for common authenticated ciphersWhen integrity protection is negotiated
UDP encapsulation8 bytesNAT traversal on port 4500, which is common for clients behind NAT

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

Дзве пляцоўкі могуць не пагадзіцца пра адзін і той жа тунель

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

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

Вымерайце замест таго, каб адымаць

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

ip link show eth0 | grep -o 'mtu [0-9]*'
ip xfrm state list
ping -M do -s 1400 198.51.100.7
ping -M do -s 1372 198.51.100.7
tcpdump -ni any -c 20 'esp or udp port 4500'

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

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

Пастаўце лік туды, дзе яму месца

Для TCP праз тунель заціск MSS часта з'яўляецца найменш інвазіўным сродкам кантролю, бо ён памяншае тое, што шлюць канчатковыя пункты, не змяняючы сам тунель. Для маршрутнага тунеля задайце MTU тунельнага інтэрфейса свядома і задакументуйце прычыну. Зрабіць абедзве рэчы адначасова і пасля вымераць не дасць вам ніякай інфармацыі пра тое, што дапамагло.

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

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