UDP 500 atvēršana ugunsmūrī ļauj tunelim vienoties, un pēc tam savienojums pārstāj laist cauri datplūsmu. Ostu saraksts bija nepilnīgs, nevis nepareizs. IKEv2 sākas vienā ligzdā un daudzos reālos izvietojumos turpinās citā, kamēr lietderīgā krava var nemaz nebūt osta. Posmu lasīšana secībā izskaidro, kura noteikuma trūkst.

Divas ostas, divi darbi

IKEv2 sākas ar atslēgu apmaiņu UDP 500, kur puses autentificējas un izveido drošības asociāciju tunelim. Turpmākais datu ceļš ir atsevišķs jautājums: tas var būt vietējais ESP, kas ir IP protokola numurs, nevis osta, vai datplūsma, kas iekapsulēta UDP 4500 ostā. Šo divu nošķiršana ugunsmūra pārskatā ir atšķirība starp tuneli, kas vienojas, un tuneli, kas darbojas. Viena ligzda pārnēsā vadību, otra — lietderīgo kravu.

Tāpēc noteikums, kas atļauj tikai 500, rada mulsinošāko simptomu visā protokolu saimē: vienošanās izdodas, un nekas lietderīgs neseko. Stāvoklis rāda partneri, žurnāls rāda izveidotu IKE SA, un lietojumprogramma tomēr nokavējas. Trūkstošā atļauja pieder citai plūsmai nekā tai, kas tikko izdevās.

Kāpēc 4500 vispār pastāv

Daudzas NAT ierīces nevar pārsūtīt citu protokolu kā TCP vai UDP, un dažas pārraksta adreses tā, ka tas salauž ESP integritātes pārbaudi. ESP iekapsulēšana UDP atrisina abas problēmas, par cenu papildu galvene un otra osta, kas jāatļauj. Tieši šī iekapsulēšana ir iemesls, kāpēc otrā osta vispār pastāv.

Kad NAT tiek atklāts, arī IKE pats pāriet uz 4500, lai visa datplūsma koplietotu vienu ceļu caur tulkotāju. Četru baitu marķieris, kas nav ESP, šajā ligzdā atšķir vadības ziņojumus no datiem. Šī pāreja ir protokola lēmums, nevis administratora izvēle.

Kur mainās avota osta

Tulkotājs var pārrakstīt klienta avota ostu, tāpēc servera redzamais kortežs nesakrīt ar kortežu klientā. Pirms secināt, ka noteikums tiek ignorēts, apskatiet abas katra NAT lēciena puses. Problēmu risināšana tikai klientā var dot noteikumu, kas izskatās pareizs un tomēr neizdodas.

MOBIKE atbalstošas implementācijas var arī pāriet uz 4500 bez atklāta NAT, un daži izvietojumi šo ceļu apzināti uzspiež. Tāpēc 4500 redzēšana ir lēmuma pierādījums, nevis mājas maršrutētāja pierādījums.

Pārbaudiet abas plūsmas katrā robežā

Izejiet cauri trim robežām: klienta tīklam, jebkuram starpposma ugunsmūrim un serverim. Katrai vajadzīgas plūsmas, ko dokumentē izvietojums, nevis plūsmas no raksta par citu gadījumu.

sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
sudo iptables -S | grep -E '500|4500|esp'
ip xfrm state

ESP rinda ugunsmūra sarakstā ir protokola atbilstība, tāpēc ostas noteikums to nekad neaptver. Ja operators izmanto pielāgotu ostu, ievērojiet dokumentēto konfigurāciju abos galos, jo klients nevar izveidot klausītāju serverī, izvēloties pazīstamu numuru.

Pierakstiet, kur vienošanās apstājās un vai tika instalēta bērna drošības asociācija, jo šis pāris atdala bloķētu ceļu no autentifikācijas vai politikas kļūdas. Pēc tam atkārtojiet testu ar iespējotu servera pārbaudi, jo sasniedzamība nav autentifikācija. Šis pēdējais solis atdala atļauto ostu no uzticama partnera.

Saistītie raksti