Databankquery hinget oer IPsec: UDP-weryndieling of TCP?
In query dy't hinget nei in skjinne handshake wiist nei it binnenste fan it tunnelpaad. Trije betingsten beslisse oft it paad reparearre wurde moat of werom nei TCP op 443.
In query dy't hinget nei de TCP-handshake is gjin routingprobleem. Rutfouten lit de handshake mislearje, dus in sesje dy't ta stân komt en dan stil wurdt, wiist nei it binnenste fan it paad: ynspeksje, MTU of de manier wêrop de UDP-pakketten fan 'e tunnel oankomme. De beslissing foar jo is oft jo dat paad reparearje of de tunnel nei TCP ferpleatse. Trije betingsten beslisse dat, en gjinien giet oer de databank.
Klassifisearje it hingjen foardat jo de tunnel de skuld jouwe
Fjouwer útkomsten lykje foar in brûker itselde en betsjutte foar in yngenieur hiel oare dingen.
| What the client sees | What it rules out |
|---|---|
| Connection refused | Nothing is listening on the address and port the client reached |
| Timeout before the handshake | A filter, a missing route, or the wrong address |
| Handshake completes, query hangs | The session exists, so look at inspection, MTU and packet order |
| Stalls that recover on retry | Often reordering, or a state table entry expiring |
Allinnich de lêste twa rijen rjochtfeardigje tiid op 'e tunnel. In wegere ferbining oer in VPN is meastentiids de databank dy't allinnich op loopback harket, wat in harkerprobleem is, en in tiidsoerflak foar de handshake is in filter of in rûte. Gjin fan beide wurdt better troch de ynkapseling te feroarjen.
Skriuw de klassifikaasje earst yn 'e ticket. It is de goedkeapste stap en it hellet it grutste part fan 'e sykromte fuort.
Trije betingsten dy't tusken UDP en TCP beslisse
Ynkapsulearre IPsec-ferkear rydt oer UDP, en UDP jout it paad de frijheid om te weryndielen en te fallen sûnder immen dat te fertellen. As weryndieling pakketten bûten it anty-replay-finster fan 'e tunnel skoot, wurde se stil fuortsmieten en de ynnere TCP-sesje wachtet gewoan. Dat is it meganisme efter in handshake dy't slagget en in query dy't nea weromkomt.
It paad reparearje of werom nei TCP hinget fan trije dingen ôf. Earst, is der echte pakketferlies op it paad, of allinnich weryndieling? Twadde, kinne jo feroarje wêr't de ynspeksje bart, of dizze tunnel útslute fan 'e komponint dy't weryndielt? Tredde, is de wurklêst gefoelich foar it hingpatroan, bygelyks in protte multypleksearre sesjes dy't ien link diele?
As it earste antwurd ferlies is en it twadde nee,is TCP op 443 it pragmatyske alternatyf. As it twadde antwurd ja is, reparearje it paad en hâld UDP.
Lês it fjoermuorre-record, net de flater fan 'e applikaasje
De applikaasje meldt in tiidsoerflak, wat jo neat oer de oarsaak seit. It eigen log fan 'e fjoermuorre is it plak dêr't it fuortsmieten of blokkearjen ferskynt, dus filterje op 'e adressen fan 'e databank en de applikaasje en sykje sawol fuortsmietingen as akseptaasjes.Bedrigingsprevinsje-blades kinne pakketten fuortsmite sûnder in flater op applikaasjenivo te meitsjen, en dat is krekt de foarm fan in query dy't hinget. Stilte yn it log is ek data: it wiist nei eat dat net logt, lykas weryndieling.
Kontrolearje ek it kluster. In ferkeard konfigurearre kluster kin in sesje yn 'e steatstabel op ien lid hâlde wylst de pakketten it paad fan in oar lid nimme, sadat antwurden oankomme wêr't gjin steat bestiet. Sokke hingjen ûntsteane tafallich en korrelearje net mei lêst.
Fergelykje beide einen foardat jo eat feroarje, en fergelykje de oankomstoarder ynstee fan pakkettallen:
tcpdump -ni any udp port 4500 -w /tmp/encap.pcap
tcpdump -ni any tcp port 5432 -w /tmp/inner.pcapWat TCP op 443 jo wier kostet
It ferpleatsen fan 'e tunnel nei TCP hellet it weryndielingssymptoom fuort, om't de middenbox no in oardere stream sjocht. It makket ek TCP-oer-TCP. De bûtenferbining stjoert opnij wat de binnenferbining al opnij stjoerd hat, en ien ferlies kin alle multypleksearre sesjes tagelyk stopsette. Op in skjin paad is dat ûnsichtber. Op in ferliesryk paad is de kuere slimmer as it symptoom.
De ruil is akseptabel as it alternatyf gjin ferbining is, en it moat as in útsûndering mei in eigner dokumintearre wurde ynstee fan as normaal oannommen.
Skriuw it transport, de poarte, in foarbyldquery en it mjitten resultaat op, plus de datum. Sûnder dat record werhellet de folgjende yngenieur it eksperimint, en de útsûndering wurdt stil de arsjitektuer.
Hâld de beslissing werbesjenber
In paaddiagnoaze wurdt hurd âld. De middenbox wurdt ferfongen, de blade-konfiguraasje feroaret, de link wurdt opwurdearre, en de reden foar TCP op 443 ferdwynt wylst de konfiguraasje bliuwt. Set in besjochdatum op 'e útsûndering en neam de betingst dy't jo werom nei UDP litte soe.
Test beide transports mei in lytse query en mei in grut resultaatsoarch. Weryndieling docht bliken as grutte-ôfhinklike hingjen, wylst in harkerflater beide grutten likefolle stopset.