Cum Linux conntrack non est amicus tuus

Cum Linux conntrack non est amicus tuus

Connexio semita (“conntrack”) est nucleus notae nuclei nuclei Linux nuclei networking. Acinum sinit tenere vestigia omnium retis logicae nexus vel fluxus, et inde identidem omnes fasciculos, qui unumquemque fluxum constituunt, ita ut in unum gradatim discursum esse possint.

Conntrack est pluma nuclei magni momenti, qui in aliquibus casibus fundamentalibus adhibetur;

  • NAT in notitia ex conntrack nititur, ut ex eodem flumine aequaliter omnes sarcinas tractare possit. Exempli gratia, cum vasculum quoddam Kubernetes servitium accesserit, kube-procurator onus librarius NAT ad negotiationem ad certum vasculum intra botrum dirigendum. Conntrack scribit pro data connexione, omnes fasciculos ad IP servicium eidem vasculo mitti debere, et quod per dorsum vasculum redigere debet, ad vasculum unde petitio venit.
  • Firewalls statos ut Calico notitias ex connecttrack nituntur ad album "responsum" negotiationis. Hoc permittit tibi scribere consilium retis quod dicit "permitte vasculum meum coniungere cuilibet IP inscriptioni remotae" sine consilio scribere ut explicite respondeas negotiationem permittas. (Sine hoc, multo minus securum "facias meae vasculi ab omni IP regula addere).

Accedit, conntrack typice melioris systematis perficiendi (reducendo CPU consumptionem et fasciculum latency) cum primum fasciculum solum in rivo
debet ire per totum retis acervum determinare quid faciendum est. Vide post "Comparatio modi kube-procuratoris" ad exemplum quomodo hoc operatur.

Sed contrack limitationes suas habet...

Sic ubi omnes errabis?

Mensa contracta magnitudinem maximam configurabilem habet et, si plenam accipit, nexus reiciendi vel omittendi solent. Satis spatium liberum in mensa est ad negotiationem maxime applicationum tractandam, quod numquam quaestio fiet. Attamen pauci sunt missiones in quibus considerare velis utendo mensae contracta:

  • Causa manifestissima est si servo tuo perquam magnum numerum coniunctionum activarum simul agentium tractat. Exempli gratia, si mensa conntracka tua pro 128k entries configuratur, sed >128k nexus concurrentes habes, profecto in problema incurres!
  • Paulo minus manifestus casus est: si ministrator tuus amplissimus nexuum per alterum processit. Etiamsi nexus breves sunt, a Linux per aliquod temporis spatium (120s defalta) monitores esse pergunt. Exempli gratia, si mensa conntracka tua pro viscus 128k configuratur et per alterum 1100 nexus tractare conaris, magnitudinem tabulae conntrackae superabunt, etiam si nexus valde breves sunt (128k/120s = 1092 nexus/ s).

Plura sunt genera angulus apporum quae in haec genera incidunt. Accedit, si actores mali multum habes, mensam conntrack servi implens cum iunctis dimidiatis coniunctionibus ut pars negationis oppugnationis servitii (DOS) adhiberi potuit. In utroque casu, conntrack potest fieri in ratiocinatione tua bottleneck limitans. In nonnullis casibus aptando mensae conntractae parametros satis esse ad tuas necessitates occurrendas - augendo magnitudinem vel minuendo temporis angustias (sed si male feceris, in multam molestiam incurres). Aliis in casibus necessarium erit controverti ad negotiationem infestantibus praeterire.

Verus exemplum

Speciem peculiarem demus: unum magnum provisorem SaaS laboravimus cum aliquot servientibus memcachedis in exercitibus (non machinis virtualibus), quarum singulae 50K+ breve tempus nexus per alterum processit.

Experta sunt conntrackae figurae, mensae crescentes moles et tempus sequi minuendi, sed figura incerta erat, consumptio RAM significanter aucta, quae quaestio erat (ex ordine GBytes), et nexus tam breves erant ut conntrack non. creare solitum perficientur beneficium (reduced consummatio CPU vel fasciculum latency).

Verterunt ad Calicon jocus. Calico initis retis permittit te non uti certis generibus negotiationis (utendo optione consiliorum doNotTrack). Hoc illis dedit gradum perficiendi quod indigebant, plus addito gradu securitatis a Calico proviso.

Quas tandem tibi conntrack ut praeterire debeas?

  • Do-not-track-retis rationes plerumque symmetricas esse debent. In casu provisoris Saas: eorum applicationes intra zonam munitam currebant et ideo, utentes consilio retis, negotiationem album facere poterant ex aliis applicationibus specificis quae ad memcached accessum dabantur.
  • Consilium do-non-track non attendit directionem nexus. Ita, si servo memcached detruncatur, theoretice studeas coniungere cuilibet clientium memcachedorum, dummodo portu recto fonte utatur. Attamen si consilium retis recte definisti pro clientibus tuis memcached, tunc haec connexio conatus in latere clientis adhuc reicietur.
  • Consilium non-tragulum ad omnem fasciculum applicatur, quae normalibus rationibus opponitur, quae solum primo fasciculo in fluxu applicantur. Haec consummatio CPU per fasciculum augere potest quia consilium pro singulis fasciculis applicandum est. Sed propter breves necessitudines, haec impensa libratur per reductionem instrumenti ope- rarum ad processum conntracti. Exempli gratia, in casu provisoris Saas, numerus fasciculorum pro unaquaque connexione valde exiguus erat, ita consummatio CPU addita, cum ad singulas fasciculi rationes applicandas iustificabatur.

Sit scriptor satus temptationis

Experimentum in unum vasculum cucurrimus cum servo memcached et siliquae memcached multiplici cliente in remotis nodis currentem ut maximos nexus per alterum currere possemus. Servus cum vasculo memcachedo habebat 8 ​​coros et 512k viscus in mensa conntrack (vexillum tabulae magnitudinis pro hospitio figuratum).
Discrimen perficientur nos metiri inter: nullum retis consilium; iusto calico consilio; et Calico non-exsequor consilium.

Ad primum experimentum posuimus numerum coniunctionum ad 4.000 per secundam, ut differentiam in CPU consumptionis intendere possemus. Nullae notabiles differentiae erant inter nullum consilium et consilium regulare, sed non-track augebatur CPU consummatio per circiter 20%;

Cum Linux conntrack non est amicus tuus

In secundo experimento tot nexus inmisimus quot clientes nostri maximum numerum nexuum per alterum generare et metiri potuerunt, ut servitor noster memchached tractare posset. Ut expectatur, "nullum consilium" et "consilium ordinarium" casus utrumque contraxi limitem pervenerunt super 4,000 nexus per alterum (512k / 120s = 4,369 nexus/s). Cum consilio non-track, clientes nostri 60,000 hospites per alterum sine ullis quaestionibus miserunt. Certi sumus nos hunc numerum augere pluribus clientibus addendo, sed hos numeros iam satis sentimus ad punctum huius articuli illustrandum!

Cum Linux conntrack non est amicus tuus

conclusio,

Conntrack est pluma nuclei magni momenti. Suum officium perfecte facit. Saepe usus est systematis clavibus componentibus. Sed in quibusdam missionibus specificis, obstructio ob conntrationem praeponderat normalia beneficia quae praebet. In hoc missione, consilia retia Calico adhiberi possunt ut selective disable usum conntracti dum securitatem retis augent. Ad omnia alia negotiatio, conntrack pergit amicus tuus!

Legunt etiam alia capitula in nostro diario:

Source: www.habr.com

Add a comment