Formularët e firewall-it kërkojnë një portë TCP, dhe hyrja e dukshme është 50. Kjo hyrje nuk lejon asgjë, sepse ESP është protokolli IP numër 50 dhe numrat e protokollit nuk janë porta. Dy hapësirat e emrave ndajnë vetëm numra të plotë të vegjël dhe asgjë tjetër, dhe gabimi mbetet i padukshëm derisa IKE të përfundojë dhe trafiku i mbrojtur nuk arrin kurrë.

Dy hapësira emrash që ndajnë numra të vegjël

Një kokë IP mbart një fushë protokolli që emërton atë që vjen më pas: 6 për TCP, 17 për UDP, 1 për ICMP, 50 për ESP, 51 për AH. Një kokë TCP ose UDP mbart numra porte, të cilët zgjedhin një proces në hostin e destinacionit. Protokolli 50 dhe porta TCP 50 janë vlera pa lidhje, por një kuti dialogu mund t'i bëjë ato të duken të këmbyeshme.

Kjo është arsyeja pse një rregull për përcjelljen e portave nuk mund të shprehë ESP vendas. Nuk ka portë destinacioni ESP për të përcjellë, dhe një pajisje që kupton vetëm rregulla portash nuk ka fare fjalor për atë paketë. Rregulli i saktë emërton protokollin IP. Çdo dialog portash është mjeti i gabuar për atë paketë.

Konfuzioni ka një gjysmë të dytë. Kur paketa është e kriptuar, gjithçka brenda saj është e errët, përfshirë kokën TCP të lidhjes origjinale. Një firewall që inspekton portat në atë paketë po shikon kokën e jashtme, e cila në rastin vendas nuk ka porta për të inspektuar.

ESP vendas, pastaj alternativa e inkapsuluar

ESP vendas transportohet drejtpërdrejt si protokoll IP, gjë që është njësoj efikase sa e papërshtatshme. Efikase sepse nuk ka kokë shtesë, dhe e papërshtatshme sepse asnjë pajisje që përkthen adresa dhe porta nuk mund ta ndjekë. NAT traversal ekziston pikërisht për këtë: e mbështjell paketën ESP brenda UDP, që përkthyesi të ketë porta për të rishkruar.

Form on the wireHow it is identifiedWhat the firewall must permit
IKE negotiationUDP with a destination portUDP 500, and 4500 once traversal is detected
Native ESPIP protocol 50 in the outer headerThe protocol itself, with no port to name
ESP inside UDPUDP 4500 carrying an ESP payloadThe UDP port pair, which translation devices can track

Të dyja format janë vendosje alternative të të njëjtit kanal të dhënash, jo shtresa të njërit. Lejimi i ESP vendas nuk lejon formën e inkapsuluar, dhe lejimi i UDP 4500 nuk lejon trafikun vendas, prandaj një grup rregullash duhet të përputhet me vendosjen, jo t'i mbulojë të dyja rastësisht.

Edhe zbulimi ka rëndësi këtu. Pikat fundore vendosin midis formave gjatë negociimit, dhe ndërrimi zakonisht ndodh kur zbulohet një NAT midis tyre. Prandaj një rrugë që ndryshon pas vendosjes së tunelit mund ta zhvendosë trafikun në një hapësirë emrash që rregullat tuaja nuk e mbuluan kurrë.

Lexoni cilën formë përdor në të vërtetë lidhja

Pyetni pikën fundore në vend që të hamendësoni nga firewall-i. Në Linux hyrja e gjendjes raporton nëse shoqata përdor inkapsulim UDP dhe cilat porta përfshihen. Kapja e paketave i përgjigjet të njëjtës pyetje nga teli, dhe të dyja janë më të shpejta sesa të lexosh një grup rregullash dhe të shpresosh.

ip xfrm state | grep -A3 encap
tcpdump -ni any 'ip proto 50 or udp port 4500'

Komanda e parë tregon një lloj inkapsulimi kur NAT traversal është në përdorim dhe asgjë kur nuk është. E dyta tregon cila nga të dyja format kalon në të vërtetë ndërfaqen, dhe kjo i mbyll debatet për një konfigurim që duket i saktë në letër.

Kundërdëshmia i përket të njëjtit hap. Një rregull që raporton zero përputhje ju thotë se paketa nuk e arriti kurrë atë, dhe kjo është çështje rrugëtimi ose përzgjedhësi, jo firewall-i.

Më pas konfirmoni kanalin e kontrollit veçmas. IKE ka portat e veta dhe regjistrat e vet, dhe një negociim i përfunduar pa të dhëna është pikërisht ndarja për të cilën flet ky artikull.

Shkruani rregullin në hapësirën e saktë të emrave

Një rregull protokolli dhe një rregull porte janë udhëzime të ndryshme, prandaj mjeti duhet të shprehë atë që keni ndër mend. Në nftables përputhja e protokollit është e qartë, dhe alternativa e inkapsuluar merr rregullin e vet UDP. Mbani dy rregullat pranë njëri-tjetrit, që çifti të jetë i dukshëm gjatë rishikimit.

nft add rule inet filter input ip protocol esp accept
nft add rule inet filter input udp dport { 500, 4500 } accept

Mos i zgjeroni asnjërin prej rregullave për të kompensuar një diagnozë të gabuar. Lejimi i gjithçkaje për protokollin ESP në çdo ndërfaqe, ose lejimi UDP nga kudo në kudo, rregullon një simptomë dhe heq kontrollin që po përpiqeshit të konfiguroni. Rrjedha e ngushtë e mbështetur pothuajse gjithmonë mjafton pasi forma të njihet.

Së fundi, mbajini shtresat drejt kur tuneli funksionon dhe aplikacioni jo. Paketat që mbërrijnë në portë kanë ende nevojë për përcjellje, një rrugë kthimi dhe një politikë që i pranon, dhe asgjë nga këto nuk shprehet nga një rregull ESP. Porta që mungon shpjegon një dështim të caktuar, jo çdo dështim të IPsec. Mbani rregullimin e rregullit dhe kontrollin e rrugëtimit si dy përfundime të veçanta.

Shkruani formën që vëzhguat, rregullin e protokollit që shtuat dhe numëruesin që patë më pas. Tre rreshta, dhe personi tjetër mund të dallojë një gabim hapësire emrash nga një gabim rrugëtimi në një minutë në vend të një pasdite.

Artikuj të ngjashëm