IPsec papildu apjoms: režīms, NAT-T un algoritmi to visu maina
Viens publicēts papildu apjoma skaitlis apraksta vienu iekapsulējumu vienā ceļā. Saskaitiet galvenes, par kurām jūsu tunelis patiešām vienojas, un pēc tam izmēriet ceļu.
Kaut kur rokasgrāmatā ir skaitlis, parasti starp sešdesmit un astoņdesmit baitiem, ko kāds atņēma no 1500, lai iegūtu saskarnes MTU. Šis skaitlis apraksta vienu konkrētu iekapsulējumu vienā konkrētā ceļā. Nomainiet režīmu, ārējo adrešu saimi, šifru vai NAT klātbūtni, un aritmētika vairs neattiecas uz jūsu tuneli.
Skaitlis nāca no cita tuneļa
Papildu apjoms nav IPsec īpašība abstrakti. Tā ir tā paketes īpašība, kas patiešām tiek uzbūvēta: saskaņots režīms, ārējā galvene, aizsardzības galvene, polsterējums, integritātes lauks un varbūt papildu UDP apvalks.
Skaitlis, kas minēts transporta režīmam ar IPv4 un bez NAT, apraksta mazāku paketi nekā tuneļa režīms ar IPv6 zem NAT šķērsošanas. Abi ir pareizi savā gadījumā. Viena no tiem kopēšana citā izvietojumā ir veids, kā cilvēki nonāk pie MTU, kas lauž lielus pārraidījumus. Kļūme ir klusa, jo mazie pieprasījumi turpina darboties.
Saskaitiet slāņus, kas patiešām ir
Sāciet ar ārējo IP galveni un virzieties uz iekšu. Tuneļa režīmā sākotnējā paka atrodas iekšpusē, tāpēc ārējā galvene ir papildinājums, nevis aizvietojums. RFC 4303 apraksta ESP galveni, polsterējumu un integritātes datus, kas tam seko.
| 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 |
Neviena no šīm rindām nav nemainīga starp izvietojumiem, un polsterējuma rinda nav nemainīga pat vienā izvietojumā. Tas ir viss iemesls, kāpēc viens publicēts papildu apjoma skaitlis sagādā vilšanos.
Divi objekti var nesaskanēt par vienu un to pašu tuneli
Aizsargātajai pakaitei joprojām jāšķērso ārējais ceļš, un ārējais ceļš nav visur vienāds. PPPoE piekļuves līnija pārvadā mazāk nekā tīrs Ethernet segments. Mobilais tīkls var sarukt vēl vairāk, un pakalpojumu sniedzējs, kas tunelē savu satiksmi, pievieno vēl vienu iekapsulējumu, ko neviens nebija pieminējis. Tunelis, kas darbojas vienā līnijā un neizdodas citā, apraksta otro līniju, nevis protokolu.
Arī abi virzieni var atšķirties. Asimetrisks maršruts var dot strādājošu augšupielādi un iestrēgušu lejupielādi, kas tiek lasīts kā programmas problēma, līdz aplūkojat pakešu izmērus, nevis sasniedzamību. Veiksmīgs mazs ping pierāda ļoti maz par pilna izmēra atbildi.
Mēriet, nevis atņemiet
Atrodiet lielāko datagrammu, kas iztur ceļu. Pēc tam salīdziniet to ar vērtību, ko ziņo saskarne:
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'
Samaziniet ping izmēru, līdz sāk nākt atbildes, un lielāko strādājošo vērtību uzskatiet par šī ceļa budžetu. xfrm izvade pasaka, kurš režīms un kuri algoritmi tika saskaņoti, un tas ir jebkura godīga aprēķina ievade. Uzņēmums apstiprina, vai uz vada ir ESP vai UDP iekapsulēts ESP, un tas atrisina NAT jautājumu bez minējumiem.
Vienu vērtību atvēliet arī vadības plaknei. IKE roku paspiešanas paketēm ir cita struktūra nekā datu paketēm, tāpēc no roku paspiešanas uzņēmuma iegūtais izmērs nav datu plaknes MTU.
Ielieciet skaitli tur, kur tam vieta
TCP caur tuneli gadījumā MSS ierobežojums bieži ir vismazāk invazīvā kontrole, jo tas samazina to, ko sūta gali, nemainot pašu tuneli. Maršrutā balstītam tunelim apzināti iestatiet tuneļa saskarnes MTU un dokumentējiet, kāpēc. Darot abus uzreiz un pēc tam mērot, jūs neuzzināsit, kurš palīdzēja.
Turiet kopā biļetē saskaņoto režīmu, ārējo saimi, NAT stāvokli un atkārtojamo simptomu. Pierakstīts četru faktu kopums pārspēj atcerētu konstanti, un šī ir vienīgā versija, kas pārdzīvo nākamo klienta atjauninājumu.