Vaicājums, kas karājas pēc TCP handshake, nav maršrutēšanas problēma. Maršruta kļūdas izgāž handshake, tāpēc sesija, kas izveidojas un pēc tam apklust, norāda uz ceļa iekšpusi: inspekcija, MTU vai veids, kā pienāk tuneļa UDP paketes. Lēmums jūsu priekšā ir labot šo ceļu vai pārcelt tuneli uz TCP. Trīs nosacījumi to izlemj, un neviens no tiem nav par datu bāzi.

Klasificējiet apstāšanos, pirms vainojat tuneli

Četri iznākumi lietotājam izskatās vienādi un inženierim nozīmē pilnīgi atšķirīgas lietas.

What the client seesWhat it rules out
Connection refusedNothing is listening on the address and port the client reached
Timeout before the handshakeA filter, a missing route, or the wrong address
Handshake completes, query hangsThe session exists, so look at inspection, MTU and packet order
Stalls that recover on retryOften reordering, or a state table entry expiring

Tikai pēdējās divas rindas attaisno laiku tunelī. Atteikts savienojums pāri VPN parasti ir datu bāze, kas klausās tikai uz loopback, un tā ir klausītāja problēma, bet taimauts pirms handshake ir filtrs vai maršruts. Neviens no tiem neuzlabojas, mainot iekapsulējumu.

Vispirms ierakstiet klasifikāciju biļetē. Tas ir lētākais solis, un tas noņem lielāko daļu meklēšanas telpas.

Trīs nosacījumi, kas izlemj starp UDP un TCP

Iekapsulētā IPsec plūsma ceļo pa UDP, un UDP dod ceļam brīvību pārkārtot un nomest, nevienam to nesakot. Kad pārkārtošana izspiež paketes ārpus tuneļa atkārtošanās aizsardzības loga, tās tiek klusi izmestas, un iekšējā TCP sesija vienkārši gaida. Tas ir mehānisms aiz veiksmīgas handshake un vaicājuma, kas nekad neatgriežas.

Ceļa labošana vai atgriešanās pie TCP ir atkarīga no trim lietām. Pirmkārt, vai ceļā ir reāls pakešu zudums, vai tikai pārkārtošana? Otrkārt, vai jūs varat mainīt, kur notiek inspekcija, vai izslēgt šo tuneli no komponentes, kas pārkārto? Treškārt, vai slodze ir jutīga pret apstāšanās modeli, piemēram, daudzas multipleksētas sesijas, kas dala vienu saiti?

Ja pirmā atbilde ir zudums un otrā ir nē,TCP uz 443 ir pragmatiskā alternatīva. Ja otrā atbilde ir jā, labojiet ceļu un paturiet UDP.

Lasiet ugunsmūra ierakstu, nevis lietotnes kļūdu

Lietotne ziņo par taimautu, kas neko nepasaka par cēloni. Paša ugunsmūra žurnāls ir vieta, kur parādās nomešana vai bloķēšana, tāpēc filtrējiet pēc datu bāzes un lietotnes adresēm un meklējiet gan nomešanas, gan pieņemšanas.Draudu novēršanas moduļi var nomest paketes, neizraisot kļūdu lietotnes līmenī, un tā ir tieši karājošā vaicājuma forma. Klusums žurnālā arī ir dati: tas norāda uz kaut ko, kas neveic žurnalēšanu, piemēram, pārkārtošanu.

Pārbaudiet arī klasteri. Nepareizi konfigurēts klasteris var turēt sesiju viena dalībnieka stāvokļu tabulā, kamēr paketes iet cita dalībnieka ceļu, tāpēc atbildes nonāk tur, kur stāvokļa nav. Šādas apstāšanās izskatās nejaušas un nekorelē ar slodzi.

Salīdziniet abus galus, pirms kaut ko maināt, un salīdziniet pienākšanas secību, nevis pakešu skaitu:

tcpdump -ni any udp port 4500 -w /tmp/encap.pcap
tcpdump -ni any tcp port 5432 -w /tmp/inner.pcap

Cik jums patiešām izmaksā TCP uz 443

Tuneļa pārcelšana uz TCP novērš pārkārtošanas simptomu, jo starpniekserviss tagad redz sakārtotu plūsmu. Tas arī rada TCP pāri TCP. Ārējais savienojums pārsūta to, ko iekšējais jau pārsūtīja, un viens zudums var apturēt visas multipleksētās sesijas uzreiz. Uz tīra ceļa tas ir neredzams. Uz ceļa ar zudumiem ārstēšana ir sliktāka par simptomu.

Apmaiņa ir pieņemama, ja alternatīva ir pilnīgs savienojuma trūkums, un tā jādokumentē kā izņēmums ar atbildīgo personu, nevis jāpieņem kā norma.

Pierakstiet transportu, portu, parauga vaicājumu un izmērīto rezultātu, kā arī datumu. Bez šī ieraksta nākamais inženieris atkārto eksperimentu, un izņēmums klusi kļūst par arhitektūru.

Saglabājiet lēmumu pārskatāmu

Ceļa diagnostika ātri noveco. Starpniekserviss tiek nomainīts, moduļa konfigurācija mainās, saite tiek uzlabota, un iemesls TCP uz 443 pazūd, kamēr konfigurācija paliek. Uzlieciet izņēmumam pārskatīšanas datumu un nosauciet nosacījumu, kas ļautu atgriezties pie UDP.

Pārbaudiet abus transportus ar mazu vaicājumu un ar lielu rezultātu kopu. Pārkārtošana izpaužas kā no izmēra atkarīgas apstāšanās, kamēr klausītāja kļūme aptur abus izmērus vienādi.

Saistītie raksti