Du klientai už to paties maršrutizatoriaus kalba su vienu IPsec tinklų sietuvu, ir vienas nuolat atsijungia, o kitas išlieka prijungtas. Natyvusis ESP yra IP protokolas 50 be prievadų, todėl vertėjas neturi už ko užkabinti susiejimo, kai keli klientai dalijasi vienu adresu. NAT traversal užpildo šią spragą apvyniodamas ESP UDP 4500 prievade, ir ta antraštė paaiškina daugumą toliau kylančių simptomų. Ji taip pat nurodo įrenginį, kurį reikia pakeisti.

Kodėl duomenų plokštuma persikelia į 4500 prievadą

Konfigūruojant IKEv2 lygina adresus ir prievadus, kuriuos kiekviena pusė mano naudojanti, keisdamasis maišomis savo NAT aptikimo pranešimuose. Kai maišos nesutampa, kažkur kelyje sėdi vertėjas, ir abi pusės perjungia apsaugotą srautą į UDP inkapsuliavimą. Todėl sesija, kuri susidūrė su vertėju, atrodo kitaip nei ta, kuri nesusidūrė.

Įvyniojimas yra vokas, o ne protokolo pakeitimas: ESP išsaugo savo antraštę, vientisumo patikrą ir šifravimą, o UDP teikia tik tuos prievadus, kurių vertėjui reikia. 500 prievadas perneša IKE mainus; 4500 perneša inkapsuliuotus duomenis po aptikimo, ir dažnai vėlesnius IKE pranešimus. Nė vienas prievadas nepaverčia srauto TCP ryšiu, ši prielaida klaidina daugumą žmonių, skaitančių įrašą.

Patikrinkite du etapus iš eilės

Pirmiausia įrodykite valdymo mainus, paskui duomenų kelią, ir laikykite abu atskirai savo užrašuose. Įrašas, kuriame matomas srautas 500 prievade ir niekada 4500, paprastai reiškia, kad duomenų kelias filtruojamas, todėl pataisa priklauso ugniasienės taisyklei, o ne klientui.

Stebėkite abu prievadus naudodami tcpdump -ni any 'udp port 500 or udp port 4500', ir skaitykite maršrutizatoriaus vertimo lentelę, kol sesija aktyvi. Ta lentelė rodo šaltinio prievadą, kurį tinklų sietuvas iš tikrųjų matys, o nešiojamojo kompiuterio įrašas sąmoningai nesutampa: nešiojamasis mano, kad 500, o tinklų sietuvas mato 4500 su išverstu šaltinio prievadu, ir abu teisūs. Tas pats srautas prieš vertimą ir po jo:

client 192.0.2.10:500 -> router 203.0.113.7:62000 -> gateway 198.51.100.9:4500

Simptomai, kuriuos įvyniojimas paaiškina, ir du, kurių ne

Maršrutizatorius, kuris leidžia valdymo mainus ir blokuoja inkapsuliuotus duomenis sukuria pranešimą „tunelis pakeltas, bet niekas neina per jį“. Susiejimo lentelės pasibaigia, todėl neaktyviai sesijai reikia palaikymo srauto, kurį pusės siunčia tyčia, ir tie paketai nėra sveikatos patikros. Kai keli klientai už vieno tinklų sietuvo sugenda kartu, ištirkite to sietuvo vertimą ir bet kokią seną pralaidumo funkciją. Įvyniojimas nepaaiškina programos, kuri sugenda kiekvienam klientui po tunelio pakėlimo, nei sertifikato įspėjimo blokavimo puslapyje; abu yra aukščiau šio sluoksnio.

Skaitykite susiejimo lentelę dviem klientams iš karto: jei abu rodo tą patį išverstą prievadą, įrenginys neskiria jų taip, kaip reikalauja tinklų sietuvas. Pralaidumo režimas, kuris natvųjį ESP atiduoda tik vienam prieglobai, nelygus kelių išverstų klientų aptarnavimui, nors gamintojai abu apibūdina kaip draugiškus IPsec. Dvigubas NAT prideda susiejimo sluoksnį ir dar vieną pasibaigimo tašką, bet automatiškai nenutraukia išeinančių ryšių.

Palaikymo srautas nusipelno atskiros eilutės eksploatavimo vadove, nes būtent jis laiko atsakymo kelią atvirą neveiklumo laikotarpiais. Įjunkite jį ten, kur gamintojas tai dokumentuoja, ir patikrinkite jį pirmiausia, kai sesija miršta po kelių minučių tylos, o ne pirmą kartą naudojant.

Pakeiskite susiejimo savininką, tada išbandykite dar kartą

Laikykitės palaikomų NAT traversal nustatymų abiejose pusėse, o ne spėliokite prievadą. Vietinio šaltinio prievado keitimas viename kliente negali pakeisti paslaugos, kuri klausosi kitame gale, ir paprastai sugriauna jau sukurtą susiejimą. Jei klientas yra už įrenginio, kurio nevaldote, pakeitimas priklauso jo savininkui.

Po bet kokio pakeitimo pakartokite abu etapo patikrinimus ir patvirtinkite, kad duomenų paketas praeina, o ne tik kad būsenos ekranas tapo žalias. Laikykite korteles, susiejimo lentelės išvestį ir taisyklės pakeitimą viename užraše, kad kitas žmogus nepradėtų iš naujo nuo valdymo mainų. strongSwan pastabos apie NAT traversal apima inkapsuliavimo ir palaikymo nustatymus už abiejų etapų.

Susiję straipsniai