Palaikymo bilietai dažnai ateina tada, kai ugniasienės pakeitimas jau patvirtintas, o tunelis vis dar atsisako kilti. Tai laukiamas rezultatas, kai funkcija yra tik viename gale: TCP inkapsuliavimą pagal RFC 9329 reikia įdiegti ir sukonfigūruoti abiejuose galuose, o susitarimas įvyksta jungties viduje, prieš pajudant bet kokiam apsaugotam srautui. Prievado atidarymas skelbia klausytoją, kurio gali ir nebūti, o klausytojas be atitinkamos konfigūracijos kitoje pusėje priima jungtį ir tada nutyla. Toliau pateikta seka pigias patikras iškelia į priekį.

Žinokite, ką parinktis iš tikrųjų prideda

Vietinis IPsec perduoda šifruotus naudingus krovinius kaip IP protokolas 50, be prievado numerio, kurį reikėtų leisti. NAT traversal apvynioja tuos paketus UDP ir siunčia į 4500 prievadą, todėl tiek daug ugniasienės taisyklių mini tą prievadą. RFC 9329 prideda srauto vaizdavimą: IKE ir IPsec paketai abu keliauja vienoje TCP jungtyje, paprastai į 4500 prievadą.

Srautas nėra žiniatinklio paslauga. TCP jungtis į 4500 nieko nesako apie HTTP, TLS ar draugiškumą tarpiniam serveriui, o HTTP tarpinis serveris kelyje paprastai sulaužys kadravimą, o ne perduos jį.

Išankstinė patikra prieš liesdami ugniasienę

Standartas TCP numato kaip atsarginį variantą tinklams, kurie atmeta UDP kelią, o ne kaip jo pakaitalą. Gaukite du faktus iš kiekvieno tiekėjo: tikslų funkcijos pavadinimą ir versiją, kuri įgyvendina RFC 9329, o ne nuosavą variantą. Žymos kaip IPsec over TCP buvo naudojamos nesusijusiems sprendimams, todėl prašykite dokumento nuorodos ir konfigūracijos rakto, kuris ją įjungia. Be abiejų atsakymų nieko nepakartokite apie laidų suderinamumą.

Įrodykite tai laboratorijoje, kur abu galai jūsų. Šliuzas, kuris atsako į TCP 4500, bet niekada neužbaigia IKE, yra klausytojo be atitinkamo inkapsuliavimo kitoje pusėje požymis, ir tai atrasti ten yra daug pigiau nei keitimo lango metu.

Atsakovo pusėje: ar kas nors klausosi

Pradėkite nuo lizdo. ss -ltnp | grep 4500 parodo, ar yra TCP klausytojas ir kuris procesas jį valdo. Eilutės nebuvimas baigia tyrimą šliuzo konfigūracijoje, o ne tinkle.

Jei lizdas yra, stebėkite rankos paspaudimą, o ne spėliokite iš kliento pusės: tcpdump -ni any 'tcp port 4500'. Užbaigtas trijų krypčių rankos paspaudimas ir po jo tyla reiškia, kad srautas buvo priimtas, o IKE mainai jo viduje nepavyko, tuo tarpu SYN be atsakymo rodo filtravimą arba neteisingą adresą.

Palyginkite su UDP keliu tame pačiame įrašymo lange, kad du nesumaišytumėte: tcpdump -ni any 'udp port 4500 or proto 50'. Srautas 50 protokolu arba UDP 4500 prievadu, kai manote, kad naudojamas TCP, reiškia, kad galai niekada nesusitarė dėl atsarginio varianto. Įrašykite ir šliuze, jei galite, nes įrašymas kliento pusėje negali parodyti, ką atsiuntė tolimas galas.

Priimkite keturiais atskirais etapais

Traktuokite kėlimąsi kaip keturis rezultatus. Kiekvienas gali nepavykti dėl kitos priežasties, o vienas praėjo arba nepavyko paslepia, kuris tai buvo, todėl sustokite ties pirmu nepavykusiu etapu ir pradėkite iš naujo.

StageWhat you checkWhat it proves
1TCP connection established to 4500A listener exists and the path permits it
2IKE_SA authenticated in the gateway logBoth peers agreed on the encapsulation
3CHILD_SA installed, visible with ip xfrm stateKeys exist for the protected traffic
4A new application exchange succeedsThe data path works, not just the control path

Ketvirtas etapas yra tas, kuris praleidžiamas. Esama sesija gali toliau veikti podėlyje laikyta būsena, todėl atidarykite naują jungtį į už šliuzo esantį mazgą prieš uždarydami pakeitimą. Jei antras etapas nepavyksta, o pirmas praeina, nesutarimas yra pasiūlyme arba inkapsuliavimo nuostatoje, o ne ugniasienėje.

Atšaukimas ir kaina paliekant tai įjungta

Suplanuokite atšaukimą prieš pakeitimą: išjunkite inkapsuliavimo parinktį abiejuose galuose ir patvirtinkite, kad tunelis grįžta per UDP. Palikite TCP taisyklę vienam peržiūros ciklui, jei atsarginio varianto vėl prireiks, tada pašalinkite ją. Nenaudojamas klausytojas 4500 prievade yra paviršius be jokios operacinės vertės.

Stebėkite našumo požymį, kai jis pradės nešti tikrą darbą. TCP TCP viduje prideda patvirtinimo sluoksnius, kurie sustoja ties vienu praradimu, o srautus, besidalijančius viena jungtimi, gali blokuoti vienas kitą, todėl matuokite programą, kuri naudosis tuneliu, o ne ping.

Priėmimo sąrašas

Patvirtinkite funkcijos pavadinimą ir versiją abiejuose galuose, klausytoją atsakovo pusėje, įrašymą, rodantį užbaigtą rankos paspaudimą, ir keturis etapus, užfiksuotus su laiko žymomis. Pridėkite atsarginio varianto priežastį į pakeitimo įrašą, kad kitas inžinierius žinotų, kodėl TCP yra ten. Pasipraktikuokite atšaukimą, kol jo nereikia.

Jei kuris nors etapas nepavyksta, taisykite tik tą etapą. Šifravimo rinkinio ar tapatybės nuostatų keitimas siekiant transporto problemos paprastai prideda antrą, nesusijusią gedimą ant pirmo.

Susiję straipsniai