ProHoster > Блог > Isakoso > Ṣọra fun awọn ailagbara ti o mu awọn iyipo iṣẹ wa. Apá 1: FragmentSmack/SegmentSmack
Ṣọra fun awọn ailagbara ti o mu awọn iyipo iṣẹ wa. Apá 1: FragmentSmack/SegmentSmack
Bawo ni gbogbo eniyan! Orukọ mi ni Dmitry Samsonov, Mo ṣiṣẹ bi oludari eto eto ni Odnoklassniki. A ni diẹ sii ju 7 ẹgbẹrun awọn olupin ti ara, 11 ẹgbẹrun awọn apoti ninu awọsanma wa ati awọn ohun elo 200, eyiti o wa ni awọn atunto pupọ ṣe awọn akojọpọ oriṣiriṣi 700. Pupọ julọ ti awọn olupin nṣiṣẹ CentOS 7.
Ni Oṣu Kẹjọ Ọjọ 14, Ọdun 2018, alaye nipa ailagbara FragmentSmack ni a tẹjade
(CVE-2018-5391) ati SegmentSmack (CVE-2018-5390). Iwọnyi jẹ awọn ailagbara pẹlu fekito ikọlu nẹtiwọọki ati Dimegilio ti o ga julọ (7.5), eyiti o halẹ kiko iṣẹ (DoS) nitori ailagbara awọn orisun (CPU). Atunṣe ekuro fun FragmentSmack ko dabaa ni akoko yẹn; pẹlupẹlu, o jade pupọ nigbamii ju titẹjade alaye nipa ailagbara naa. Lati yọ SegmentSmack kuro, o daba lati ṣe imudojuiwọn ekuro naa. Apo imudojuiwọn funrararẹ ni idasilẹ ni ọjọ kanna, gbogbo ohun ti o ku ni lati fi sii.
Rara, a ko lodi si mimu dojuiwọn kernel rara! Sibẹsibẹ, awọn nuances wa ...
Bii a ṣe ṣe imudojuiwọn ekuro lori iṣelọpọ
Ni gbogbogbo, ko si ohun idiju:
Ṣe igbasilẹ awọn akopọ;
Fi wọn sori nọmba awọn olupin (pẹlu awọn olupin ti n gbalejo awọsanma wa);
Rii daju pe ko si nkan ti o fọ;
Rii daju pe gbogbo awọn eto ekuro boṣewa lo laisi awọn aṣiṣe;
Duro kan diẹ ọjọ;
Ṣayẹwo iṣẹ olupin;
Yipada imuṣiṣẹ ti awọn olupin titun si ekuro tuntun;
Ṣe imudojuiwọn gbogbo awọn olupin nipasẹ ile-iṣẹ data (ile-iṣẹ data kan ni akoko kan lati dinku ipa lori awọn olumulo ni ọran awọn iṣoro);
Atunbere gbogbo awọn olupin.
Tun fun gbogbo awọn ẹka ti awọn kernels ti a ni. Ni akoko o jẹ:
Iṣura CentOS 7 3.10 - fun ọpọlọpọ awọn olupin deede;
Fanila 4.19 - fun tiwa ọkan-awọsanma, nitori a nilo BFQ, BBR, ati bẹbẹ lọ;
Elrepo ekuro-ml 5.2 - fun gíga kojọpọ awọn alaba pin, nitori 4.19 lo lati huwa riru, ṣugbọn awọn ẹya kanna ni a nilo.
Bi o ṣe le ti gboju, atunbere ẹgbẹẹgbẹrun awọn olupin n gba akoko to gunjulo. Niwọn bi kii ṣe gbogbo awọn ailagbara ṣe pataki fun gbogbo awọn olupin, a tun bẹrẹ awọn ti o wa taara lati Intanẹẹti. Ninu awọsanma, ni ibere ki o ma ṣe idinwo irọrun, a ko di awọn apoti ti o wa ni ita si awọn olupin kọọkan pẹlu ekuro tuntun, ṣugbọn tun atunbere gbogbo awọn ọmọ-ogun laisi iyatọ. O da, ilana ti o wa nibẹ rọrun ju pẹlu awọn olupin deede. Fun apẹẹrẹ, awọn apoti ti ko ni ipinlẹ le lọ si olupin miiran nirọrun lakoko atunbere.
Sibẹsibẹ, ọpọlọpọ iṣẹ tun wa, ati pe o le gba awọn ọsẹ pupọ, ati pe ti awọn iṣoro eyikeyi ba wa pẹlu ẹya tuntun, to awọn oṣu pupọ. Awọn ikọlu loye eyi daradara, nitorinaa wọn nilo ero B.
FragmentSmack/SegmentSmack. Ṣiṣẹda
O da, fun diẹ ninu awọn ailagbara iru ero B wa, ati pe o pe ni Workaround. Ni ọpọlọpọ igba, eyi jẹ iyipada ninu ekuro/awọn eto ohun elo ti o le dinku ipa ti o ṣeeṣe tabi yọkuro ilokulo awọn ailagbara patapata.
Ninu ọran ti FragmentSmack/SegmentSmack ti a dabaa Ṣiṣẹ bi eleyi:
«O le yi awọn iye aiyipada ti 4MB ati 3MB pada ni net.ipv4.ipfrag_high_thresh ati net.ipv4.ipfrag_low_thresh (ati awọn ẹlẹgbẹ wọn fun ipv6 net.ipv6.ipfrag_high_thresh ati net.ipv6.ipfrag_low_thresh) si 256 kB tabi 192 kB. isalẹ. Awọn idanwo fihan kekere si awọn isunmi pataki ni lilo Sipiyu lakoko ikọlu ti o da lori ohun elo, eto, ati awọn ipo. Bibẹẹkọ, ipa iṣẹ diẹ le wa nitori ipfrag_high_thresh=262144 awọn baiti, niwọn igba ti awọn ajẹkù 64K meji nikan le wọ inu isinyi atunto ni akoko kan. Fun apẹẹrẹ, ewu kan wa pe awọn ohun elo ti o ṣiṣẹ pẹlu awọn apo-iwe UDP nla yoo fọ».
ipfrag_high_thresh - LONG INTEGER
Maximum memory used to reassemble IP fragments.
ipfrag_low_thresh - LONG INTEGER
Maximum memory used to reassemble IP fragments before the kernel
begins to remove incomplete fragment queues to free up resources.
The kernel still accepts new fragments for defragmentation.
A ko ni awọn UDP nla lori awọn iṣẹ iṣelọpọ. Ko si ijabọ pipin lori LAN; ijabọ pipin wa lori WAN, ṣugbọn kii ṣe pataki. Ko si awọn ami - o le yipo Workaround!
FragmentSmack/SegmentSmack. Ẹjẹ akọkọ
Iṣoro akọkọ ti a ba pade ni pe awọn apoti awọsanma nigbakan lo awọn eto tuntun nikan ni apakan (ipfrag_low_thresh nikan), ati nigba miiran ko lo wọn rara - wọn kan kọlu ni ibẹrẹ. Ko ṣee ṣe lati ṣe ẹda iṣoro naa ni iduroṣinṣin (gbogbo awọn eto ni a lo pẹlu ọwọ laisi awọn iṣoro eyikeyi). Lílóye idi ti eiyan naa fi ṣubu ni ibẹrẹ ko tun rọrun: ko si awọn aṣiṣe ti a rii. Ohun kan jẹ idaniloju: yiyi awọn eto ṣe yanju iṣoro naa pẹlu awọn ipadanu eiyan.
Kini idi ti ko to lati lo Sysctl lori agbalejo naa? Eiyan naa n gbe ni Nẹtiwọọki iyasọtọ ti ara rẹ Namespace, nitorinaa o kere ju apakan ti awọn paramita Sysctl nẹtiwọki ni eiyan le yato lati ogun.
Bawo ni deede ṣe lo awọn eto Sysctl ninu apo eiyan naa? Niwọn bi awọn apoti wa ko ni anfani, iwọ kii yoo ni anfani lati yi eto Sysctl eyikeyi pada nipa lilọ sinu eiyan funrararẹ - o kan ko ni awọn ẹtọ to. Lati ṣiṣẹ awọn apoti, awọsanma wa ni akoko yẹn lo Docker (bayi podman). Awọn paramita ti eiyan tuntun ti kọja si Docker nipasẹ API, pẹlu awọn eto Sysctl pataki.
Lakoko wiwa nipasẹ awọn ẹya, o wa ni pe Docker API ko da gbogbo awọn aṣiṣe pada (o kere ju ni ẹya 1.10). Nigba ti a gbiyanju lati bẹrẹ eiyan nipasẹ “ṣiṣe docker”, a nikẹhin ri o kere ju ohunkan:
write /proc/sys/net/ipv4/ipfrag_high_thresh: invalid argument docker: Error response from daemon: Cannot start container <...>: [9] System error: could not synchronise with container process.
Iye paramita ko wulo. Ṣugbọn kilode? Ati idi ti ko wulo nikan nigba miiran? O wa ni jade pe Docker ko ṣe iṣeduro aṣẹ ninu eyiti a lo awọn aye Sysctl (ẹya idanwo tuntun jẹ 1.13.1), nitorinaa nigbakan ipfrag_high_thresh gbiyanju lati ṣeto si 256K nigbati ipfrag_low_thresh tun jẹ 3M, iyẹn ni, opin oke wa ni isalẹ. ju iwọn kekere lọ, eyiti o yori si aṣiṣe.
Ni akoko yẹn, a ti lo ẹrọ tiwa tẹlẹ fun atunto eiyan lẹhin ibẹrẹ (didi eiyan naa lẹhin firisa ẹgbẹ ati ṣiṣe awọn aṣẹ ni aaye orukọ ti eiyan nipasẹ ip nẹtiwọki), ati pe a tun ṣafikun kikọ Sysctl si apakan yii. A ti yanju iṣoro naa.
FragmentSmack/SegmentSmack. Ẹjẹ akọkọ 2
Ṣaaju ki a to ni akoko lati loye lilo Workaround ninu awọsanma, awọn ẹdun ọkan toje akọkọ lati ọdọ awọn olumulo bẹrẹ lati de. Ni akoko yẹn, awọn ọsẹ pupọ ti kọja lati ibẹrẹ lilo Workaround lori awọn olupin akọkọ. Iwadi akọkọ fihan pe a gba awọn ẹdun ọkan lodi si awọn iṣẹ kọọkan, kii ṣe gbogbo awọn olupin ti awọn iṣẹ wọnyi. Iṣoro naa ti tun di aidaniloju pupọ.
Ni akọkọ, a, dajudaju, gbiyanju lati yi awọn eto Sysctl pada, ṣugbọn eyi ko ni ipa eyikeyi. Awọn ifọwọyi oriṣiriṣi pẹlu olupin ati awọn eto ohun elo ko ṣe iranlọwọ boya. Atunbere iranwo. Atunbere Lainos jẹ aibikita bi o ti jẹ deede fun Windows ni awọn ọjọ atijọ. Sibẹsibẹ, o ṣe iranlọwọ, ati pe a sọ di “glitch ekuro” nigba lilo awọn eto tuntun ni Sysctl. Bawo ni frivolous o jẹ...
Ni ọsẹ mẹta lẹhinna iṣoro naa tun waye. Iṣeto ni awọn olupin wọnyi jẹ ohun rọrun: Nginx ni ipo aṣoju / iwọntunwọnsi. Ko Elo ijabọ. Akọsilẹ tuntun: nọmba awọn aṣiṣe 504 lori awọn alabara n pọ si ni gbogbo ọjọ (Akoko Ibode). Aworan naa fihan nọmba awọn aṣiṣe 504 fun ọjọ kan fun iṣẹ yii:
Gbogbo awọn aṣiṣe jẹ nipa ẹhin kanna - nipa ọkan ti o wa ninu awọsanma. Aya agbara iranti fun awọn ajẹkù package lori ẹhin yii dabi eyi:
Eyi jẹ ọkan ninu awọn ifarahan ti o han gedegbe ti iṣoro naa ni awọn aworan eto iṣẹ. Ninu awọsanma, ni akoko kanna, iṣoro nẹtiwọọki miiran pẹlu awọn eto QoS (Iṣakoso ijabọ) ti wa titi. Lori aworan ti agbara iranti fun awọn ajẹkù apo, o dabi deede kanna:
Aronu jẹ rọrun: ti wọn ba wo kanna lori awọn aworan, lẹhinna wọn ni idi kanna. Pẹlupẹlu, awọn iṣoro eyikeyi pẹlu iru iranti yii jẹ toje pupọ.
Ohun pataki ti iṣoro ti o wa titi ni pe a lo oluṣeto apo fq pẹlu awọn eto aiyipada ni QoS. Nipa aiyipada, fun asopọ kan, o fun ọ laaye lati ṣafikun awọn apo-iwe 100 si isinyi, ati diẹ ninu awọn asopọ, ni awọn ipo ti aito ikanni, bẹrẹ lati di isinyi si agbara. Ni idi eyi, awọn apo-iwe ti wa ni silẹ. Ninu awọn iṣiro tc (tc -s qdisc) o le rii bi eleyi:
"464545flows_plimit" ti wa ni awọn apo-iwe silẹ nitori a koja awọn ti isinyi iye to ti ọkan asopọ, ati "silẹ 464545" ni apao ti gbogbo silẹ awọn apo-iwe ti yi iṣeto. Lẹhin ti o pọ si ipari isinyi si 1 ẹgbẹrun ati tun bẹrẹ awọn apoti, iṣoro naa duro lati ṣẹlẹ. O le joko sẹhin ki o mu smoothie kan.
FragmentSmack/SegmentSmack. Ẹjẹ ikẹhin
Ni akọkọ, ọpọlọpọ awọn oṣu lẹhin ikede ti awọn ailagbara ninu ekuro, atunṣe kan fun FragmentSmack han nikẹhin (jẹ ki n leti pe pẹlu ikede ni Oṣu Kẹjọ, atunṣe nikan fun SegmentSmack ti tu silẹ), eyiti o fun wa ni aye lati kọ Workaround silẹ, tí ó fa ìdààmú púpọ̀ fún wa. Lakoko yii, a ti ṣakoso tẹlẹ lati gbe diẹ ninu awọn olupin si ekuro tuntun, ati ni bayi a ni lati bẹrẹ lati ibẹrẹ. Kini idi ti a ṣe imudojuiwọn ekuro laisi iduro fun atunṣe FragmentSmack? Otitọ ni pe ilana ti aabo lodi si awọn ailagbara wọnyi ni ibamu (ati dapọ) pẹlu ilana ti imudojuiwọn CentOS funrararẹ (eyiti o gba paapaa akoko diẹ sii ju mimu dojuiwọn ekuro nikan). Ni afikun, SegmentSmack jẹ ailagbara ti o lewu diẹ sii, ati pe atunṣe kan han lẹsẹkẹsẹ, nitorinaa o ni oye lonakona. Sibẹsibẹ, a ko le ṣe imudojuiwọn ekuro nirọrun lori CentOS nitori ailagbara FragmentSmack, eyiti o han lakoko CentOS 7.5, ti wa titi ni ẹya 7.6 nikan, nitorinaa a ni lati da imudojuiwọn naa duro si 7.5 ati bẹrẹ ni gbogbo igba pẹlu imudojuiwọn si 7.6. Ati pe eyi tun ṣẹlẹ.
Ni ẹẹkeji, awọn ẹdun olumulo to ṣọwọn nipa awọn iṣoro ti pada si wa. Bayi a ti mọ daju pe gbogbo wọn ni ibatan si ikojọpọ awọn faili lati ọdọ awọn alabara si diẹ ninu awọn olupin wa. Pẹlupẹlu, nọmba kekere ti awọn ikojọpọ lati ibi-apapọ lapapọ lọ nipasẹ awọn olupin wọnyi.
Bi a ṣe ranti lati itan ti o wa loke, yiyi Sysctl pada ko ṣe iranlọwọ. Atunbere ṣe iranlọwọ, ṣugbọn fun igba diẹ.
Awọn ifura nipa Sysctl ko yọkuro, ṣugbọn ni akoko yii o jẹ dandan lati gba alaye pupọ bi o ti ṣee. Aini agbara nla tun wa lati ṣe ẹda iṣoro ikojọpọ sori alabara lati le ṣe iwadi ni pato ohun ti n ṣẹlẹ.
Itupalẹ ti gbogbo awọn iṣiro ti o wa ati awọn akọọlẹ ko mu wa sunmọ ni oye ohun ti n ṣẹlẹ. Aini agbara nla kan wa lati ṣe ẹda iṣoro naa lati “lero” asopọ kan pato. Lakotan, awọn olupilẹṣẹ, ni lilo ẹya pataki ti ohun elo, ṣakoso lati ṣaṣeyọri ẹda iduroṣinṣin ti awọn iṣoro lori ẹrọ idanwo nigbati o sopọ nipasẹ Wi-Fi. Eyi jẹ aṣeyọri ninu iwadii naa. Onibara ti sopọ si Nginx, eyiti o jẹ aṣoju si ẹhin, eyiti o jẹ ohun elo Java wa.
Ọrọ sisọ fun awọn iṣoro jẹ bii eyi (ti o wa titi ni ẹgbẹ aṣoju Nginx):
Onibara: beere lati gba alaye nipa gbigba faili kan wọle.
Java server: idahun.
Onibara: POST pẹlu faili.
Java server: aṣiṣe.
Ni akoko kanna, olupin Java kọwe si log pe awọn baiti 0 ti data ti gba lati ọdọ alabara, ati pe aṣoju Nginx kọwe pe ibeere naa gba diẹ sii ju awọn aaya 30 (awọn aaya 30 jẹ akoko ipari ti ohun elo alabara). Kini idi ti akoko ipari ati idi ti 0 baiti? Lati irisi HTTP, ohun gbogbo n ṣiṣẹ bi o ti yẹ, ṣugbọn POST pẹlu faili dabi pe o farasin lati nẹtiwọọki. Pẹlupẹlu, o padanu laarin alabara ati Nginx. O to akoko lati di ara rẹ ni ihamọra pẹlu Tcpdump! Sugbon akọkọ o nilo lati ni oye awọn nẹtiwọki iṣeto ni. Aṣoju Nginx wa lẹhin iwọntunwọnsi L3 NFware. Tunneling ni a lo lati fi awọn apo-iwe ranṣẹ lati iwọntunwọnsi L3 si olupin naa, eyiti o ṣafikun awọn akọle rẹ si awọn apo-iwe:
Ni ọran yii, nẹtiwọọki wa si olupin yii ni irisi ijabọ Vlan-tagged, eyiti o tun ṣafikun awọn aaye tirẹ si awọn apo-iwe:
Ati pe ijabọ yii tun le jẹ pipin (ipin kekere kanna ti ijabọ pipin ti nwọle ti a ti sọrọ nipa nigbati a ṣe ayẹwo awọn ewu lati Workaround), eyiti o tun yi akoonu ti awọn akọle pada:
Lẹẹkansi: awọn apo-iwe ti wa ni afikun pẹlu aami Vlan, ti a fi sinu eefin kan, ti a pin. Lati ni oye daradara bi eyi ṣe ṣẹlẹ, jẹ ki a wa ipa-ọna soso lati ọdọ alabara si aṣoju Nginx.
Soso naa de iwọntunwọnsi L3. Fun ipa-ọna ti o tọ laarin ile-iṣẹ data, apo-iwe naa ti wa ni inu eefin kan ati firanṣẹ si kaadi nẹtiwọki.
Niwọn igba ti apo-iwe + awọn akọle oju eefin ko baamu si MTU, apo-iwe naa ti ge sinu awọn ajẹkù ati firanṣẹ si nẹtiwọọki naa.
Yipada lẹhin iwọntunwọnsi L3, nigbati o ba gba soso kan, ṣafikun aami Vlan kan ati firanṣẹ si.
Yipada ni iwaju aṣoju Nginx wo (da lori awọn eto ibudo) pe olupin n reti apo-iwe Vlan-encapsulated, nitorinaa o firanṣẹ bi o ṣe jẹ, laisi yiyọ tag Vlan kuro.
Lainos gba awọn ajẹkù ti awọn idii ọkọọkan ati dapọ wọn sinu package nla kan.
Nigbamii ti, apo-iwe naa de ọdọ wiwo Vlan, nibiti a ti yọ Layer akọkọ kuro ninu rẹ - Vlan encapsulation.
Lainos lẹhinna firanṣẹ si wiwo Tunnel, nibiti a ti yọ Layer miiran kuro ninu rẹ - Tunnel encapsulation.
Iṣoro naa ni lati kọja gbogbo eyi bi awọn paramita si tcpdump.
Jẹ ki a bẹrẹ lati opin: Njẹ o mọ (laisi awọn akọle ti ko wulo) awọn apo-iwe IP lati ọdọ awọn alabara, pẹlu vlan ati encapsulation eefin kuro?
tcpdump host <ip клиента>
Rara, ko si iru awọn idii lori olupin naa. Nitorina iṣoro naa gbọdọ wa ni iṣaaju. O wa nibẹ eyikeyi awọn apo-iwe pẹlu nikan Vlan encapsulation kuro?
tcpdump ip[32:4]=0xx390x2xx
0xx390x2xx jẹ adiresi IP onibara ni ọna kika hex.
32:4 - adirẹsi ati ipari aaye ti a ti kọ SCR IP sinu apo eefin.
Adirẹsi aaye ni lati yan nipasẹ agbara irokuro, nitori lori Intanẹẹti wọn kọ nipa 40, 44, 50, 54, ṣugbọn ko si adiresi IP nibẹ. O tun le wo ọkan ninu awọn apo-iwe ni hex (parameter -xx tabi -XX ni tcpdump) ati ṣe iṣiro adiresi IP ti o mọ.
Ṣe awọn ajẹkù soso laisi Vlan ati eefin eefin kuro bi?
tcpdump ((ip[6:2] > 0) and (not ip[6] = 64))
Idan yii yoo fihan wa gbogbo awọn ajẹkù, pẹlu eyi ti o kẹhin. Boya, ohun kanna ni a le ṣe atunṣe nipasẹ IP, ṣugbọn Emi ko gbiyanju, nitori pe ko si pupọ iru awọn apo-iwe bẹ, ati awọn ti mo nilo ni a ri ni irọrun ni ṣiṣan gbogbogbo. Nibi wọn wa:
Iwọnyi jẹ awọn ajẹkù meji ti package kan (ID 53652 kanna) pẹlu aworan kan (ọrọ Exif han ninu package akọkọ). Nitori otitọ pe awọn idii wa ni ipele yii, ṣugbọn kii ṣe ni fọọmu ti a dapọ ni awọn idalẹnu, iṣoro naa jẹ kedere pẹlu apejọ. Níkẹyìn nibẹ ni iwe eri ti yi!
Oluyipada apo-iwe ko ṣe afihan awọn iṣoro eyikeyi ti yoo ṣe idiwọ kikọ naa. Gbiyanju o nibi: hpd.gasmi.net. Ni akọkọ, nigbati o ba gbiyanju lati nkan nkan nibẹ, oluyipada ko fẹran ọna kika apo. O wa ni jade wipe nibẹ wà diẹ ninu awọn afikun meji octets laarin Srcmac ati Ethertype (ko jẹmọ si ajẹkù alaye). Lẹhin yiyọ wọn kuro, oluyipada bẹrẹ ṣiṣẹ. Sibẹsibẹ, ko fihan awọn iṣoro.
Ohunkohun ti ẹnikan le sọ, ko si ohun miiran ti a ri ayafi Sysctl wọnyẹn. Gbogbo ohun ti o ku ni lati wa ọna lati ṣe idanimọ awọn olupin iṣoro lati le loye iwọn ati pinnu lori awọn iṣe siwaju. A ti ri counter ti a beere ni kiakia to:
“Nọmba awọn ikuna ti a rii nipasẹ algoridimu atunto IP (fun eyikeyi idi: ti akoko, awọn aṣiṣe, ati bẹbẹ lọ).”
Lara ẹgbẹ ti awọn olupin lori eyiti a ṣe iwadi iṣoro naa, lori meji counter yii pọ si ni iyara, lori meji diẹ sii laiyara, ati lori meji diẹ sii ko pọ si rara. Ifiwera awọn agbara ti counter yii pẹlu awọn agbara ti awọn aṣiṣe HTTP lori olupin Java ṣe afihan ibaramu kan. Iyẹn ni, mita naa le ṣe abojuto.
Nini itọkasi igbẹkẹle ti awọn iṣoro jẹ pataki pupọ ki o le pinnu ni deede boya yiyi Sysctl ṣe iranlọwọ, nitori lati itan iṣaaju a mọ pe eyi ko le loye lẹsẹkẹsẹ lati ohun elo naa. Atọka yii yoo gba wa laaye lati ṣe idanimọ gbogbo awọn agbegbe iṣoro ni iṣelọpọ ṣaaju awọn olumulo ṣe iwari.
Lẹhin ti yiyi pada Sysctl, awọn aṣiṣe ibojuwo duro, nitorinaa a fihan idi ti awọn iṣoro naa, bakanna bi otitọ pe rollback ṣe iranlọwọ.
A ti yiyi awọn eto pipin pada lori awọn olupin miiran, nibiti ibojuwo tuntun ti wa sinu ere, ati ni ibikan ti a pin paapaa iranti diẹ sii fun awọn ajẹkù ju ti iṣaaju lọ (eyi ni awọn iṣiro UDP, ipadanu apakan eyiti ko ṣe akiyesi lodi si ipilẹ gbogbogbo) .
Awọn ibeere pataki julọ
Kini idi ti awọn apo-iwe ti pin lori iwọntunwọnsi L3 wa? Pupọ julọ awọn apo-iwe ti o de lati ọdọ awọn olumulo si awọn iwọntunwọnsi jẹ SYN ati ACK. Awọn iwọn ti awọn idii wọnyi jẹ kekere. Ṣugbọn niwọn igba ti ipin ti iru awọn apo-iwe bẹ tobi pupọ, ni ilodi si ẹhin wọn a ko ṣe akiyesi niwaju awọn apo-iwe nla ti o bẹrẹ si ajẹkù.
Idi naa jẹ iwe afọwọkọ iṣeto ti bajẹ advmss lori awọn olupin pẹlu awọn atọkun Vlan (awọn olupin pupọ wa pẹlu ijabọ ti a samisi ni iṣelọpọ ni akoko yẹn). Advmss gba wa laaye lati sọ fun alabara alaye ti awọn apo-iwe ni itọsọna wa yẹ ki o kere si ni iwọn ki lẹhin ti o so awọn akọle oju eefin mọ wọn wọn ko ni lati pin.
Kini idi ti Sysctl rollback ko ṣe iranlọwọ, ṣugbọn atunbere ṣe? Yiyi pada Sysctl yipada iye iranti ti o wa fun awọn idii ti o dapọ. Ni akoko kanna, o han gedegbe otitọ pupọ ti iranti apọju fun awọn ajẹkù yori si idinku awọn asopọ, eyiti o yori si awọn ajẹkù ni idaduro fun igba pipẹ ninu isinyi. Iyẹn ni, ilana naa lọ ni awọn iyipo.
Atunbere nu iranti ati ohun gbogbo pada si ibere.
Ṣe o ṣee ṣe lati ṣe laisi Workaround? Bẹẹni, ṣugbọn eewu giga wa ti fifi awọn olumulo silẹ laisi iṣẹ ni iṣẹlẹ ti ikọlu. Nitoribẹẹ, lilo Workaround yorisi ọpọlọpọ awọn iṣoro, pẹlu idinku ti ọkan ninu awọn iṣẹ fun awọn olumulo, ṣugbọn sibẹsibẹ a gbagbọ pe awọn iṣe naa jẹ idalare.
Ọpọlọpọ ọpẹ si Andrey Timofeev (atimofeyev) fun iranlọwọ ni ṣiṣe iwadi, bakannaa Alexey Krenev (ẹrọx) - fun iṣẹ titanic ti imudojuiwọn Centos ati awọn kernels lori olupin. Ilana ti o wa ninu ọran yii ni lati bẹrẹ lati ibẹrẹ ni ọpọlọpọ igba, eyiti o jẹ idi ti o fi fa fun ọpọlọpọ awọn osu.