Ngarkesa shtesë e IPsec: mënyra, NAT-T dhe algoritmet e ndryshojnë
Një shifër e vetme e publikuar e ngarkesës shtesë përshkruan një enkapsulim në një rrugë. Mblidhni titujt që tuneli juaj vërtet negocion, pastaj matni rrugën.
Diku në një udhëzues ka një numër, zakonisht midis gjashtëdhjetë dhe tetëdhjetë bajte, që dikush e zbriti nga 1500 për të marrë një MTU ndërfaqeje. Ai numër përshkruan një enkapsulim të caktuar në një rrugë të caktuar. Ndryshoni mënyrën, familjen e adresave të jashtme, shifrimin ose praninë e NAT, dhe aritmetika nuk vlen më për tunelin tuaj.
Numri erdhi nga një tunel tjetër
Ngarkesa shtesë nuk është veti e IPsec në abstrakt. Është veti e paketës që ndërtohet vërtet: një mënyrë e negociuar, një titull i jashtëm, një titull mbrojtjeje, mbushje, një fushë integriteti dhe ndoshta një mbështjellës UDP shtesë.
Një shifër e cituar për mënyrën transport me IPv4 dhe pa NAT përshkruan një paketë më të vogël sesa mënyra tunel me IPv6 nën kalimin e NAT. Të dyja janë të sakta për rastin e tyre. Kopjimi i njërës prej tyre në një vendosje tjetër është mënyra se si njerëzit përfundojnë me një MTU që thyen transferimet e mëdha. Dështimi është i heshtur, sepse kërkesat e vogla vazhdojnë të punojnë.
Mblidhni shtresat që janë vërtet aty
Filloni nga titulli i jashtëm IP dhe shkoni nga brenda. Në mënyrën tunel paketa origjinale është brenda, kështu që titulli i jashtëm është shtesë dhe jo zëvendësim. RFC 4303 përshkruan titullin ESP, mbushjen dhe të dhënat e integritetit që e ndjekin.
| Layer | What it adds | When it applies |
|---|---|---|
| Outer IP header | 20 bytes for IPv4, 40 for IPv6 | Always, and 40 rather than 20 if the outer path is v6 |
| ESP header | 8 bytes of SPI and sequence number | Always |
| Block cipher IV | 8 to 16 bytes depending on the transform | When the negotiated cipher uses one |
| Padding and trailer | Padding to the block size, plus two trailer bytes | Always, and the amount varies with payload length |
| Integrity data | 12 to 16 bytes for common authenticated ciphers | When integrity protection is negotiated |
| UDP encapsulation | 8 bytes | NAT traversal on port 4500, which is common for clients behind NAT |
Asnjë prej atyre rreshtave nuk është konstant midis vendosjeve, dhe rreshti i mbushjes nuk është konstant as brenda një vendosjeje të vetme. Kjo është e gjithë arsyeja pse një shifër e vetme e publikuar e ngarkesës shtesë zhgënjen.
Dy site mund të nuk bien dakord për të njëjtin tunel
Paketa e mbrojtur duhet ende të kalojë rrugën e jashtme, dhe rruga e jashtme nuk është e njëjtë kudo. Një lidhje aksesi PPPoE mbart më pak se një segment i pastër Ethernet. Një rrjet celular mund të tkurret më tej, dhe një ofrues që tunelon trafikun e vet shton një enkapsulim tjetër që askush nuk e përmendi. Një tunel që punon në një lidhje dhe dështon në një tjetër po përshkruan lidhjen e dytë, jo protokollin.
Edhe dy drejtimet mund të ndryshojnë. Një rrugë asimetrike mund t’ju japë një ngarkim që punon dhe një shkarkim të ngecur, që lexohet si problem i aplikacionit derisa të shikoni madhësitë e paketave në vend të arritshmërisë. Një ping i vogël që ka sukses provon shumë pak për një përgjigje me madhësi të plotë.
Matni në vend që të zbritni
Gjeni datagramin më të madh që i mbijeton rrugës. Pastaj krahasojeni me vlerën që raporton ndërfaqja:
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'
Zvogëloni madhësinë e ping derisa të vijnë përgjigje, dhe trajtoni vlerën më të madhe që punon si buxhetin për atë rrugë. Dalja e xfrm ju tregon cilën mënyrë dhe cilat algoritme u negociuan, dhe ky është hyrja për çdo llogaritje të ndershme. Kapja konfirmon nëse në tel është ESP apo ESP i mbështjellë në UDP, dhe kjo e zgjidh çështjen e NAT pa hamendësuar.
Rezervoni një vlerë edhe për rrafshin e kontrollit. Paketat e shtrëngimit të duarve IKE kanë një strukturë të ndryshme nga paketat e të dhënave, kështu që një madhësi e nxjerrë nga një kapje shtrëngimi duarsh nuk është MTU e rrafshit të të dhënave.
Vendoseni numrin aty ku i takon
Për TCP përmes një tuneli, një kufizim MSS është shpesh kontrolli më pak invaziv, sepse zvogëlon atë që dërgojnë skajet pa ndryshuar vetë tunelin. Për një tunel të bazuar në rrugë, vendosni qëllimisht MTU-në e ndërfaqes së tunelit dhe dokumentoni pse. Të bësh të dyja njëherësh dhe pastaj të matësh nuk ju jep asnjë informacion se cila ndihmoi.
Mbani së bashku në biletë mënyrën e negociuar, familjen e jashtme, gjendjen e NAT dhe simptomën e riprodhueshme. Një grup i regjistruar prej katër faktesh mund një konstante të mbajtur mend, dhe është versioni i vetëm i kësaj që i mbijeton përditësimit të ardhshëm të klientit.