Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

Kia ora katoa! Ko Dmitry Samsonov toku ingoa, kei te mahi ahau hei kaiwhakahaere punaha matua i Odnoklassniki. Neke atu i te 7 mano nga kaitoro tinana, 11 mano nga ipu kei roto i a maatau kapua me nga tono 200, i roto i nga momo whirihoranga e 700 nga tautau rereke. Ko te nuinga o nga kaitoro e whakahaere ana i te CentOS 7.
I te Akuhata 14, 2018, i whakaputaina nga korero mo te whakaraeraetanga FragmentSmack
(CVE-2018-5391) me te WāhangaSmack (CVE-2018-5390). He whakaraeraetanga enei me te vector whakaeke whatunga me te kaute teitei (7.5), e whakatuma ana ki te whakakore i te ratonga (DoS) na te paunga rawa (CPU). Ko te whakatika kernel mo FragmentSmack kaore i whakaarohia i tera wa; i tua atu, i puta i muri mai i te whakaputanga o nga korero mo te whakaraeraetanga. Hei whakakore i te SegmentSmack, i whakaarohia kia whakahouhia te kernel. Ko te kete whakahou ake i tukuna i te ra kotahi, ko te toenga ko te whakauru.
Kao, kaore matou e whakahē ki te whakahou i te kernel! Heoi, he nuances ...

Me pehea te whakahou i te kernel mo te hanga

I te nuinga, kaore he mea uaua:

  1. Tikiake mōkihi;
  2. Tāutahia ki runga i te maha o ngā tūmau (tae atu ki ngā tūmau e hautū ana i tā mātou kapua);
  3. Kia mohio kei pakaru tetahi mea;
  4. Me mohio kei te whakamahia nga tautuhinga kernel paerewa katoa kaore he hapa;
  5. Tatari mo etahi ra;
  6. Tirohia te mahi a te tūmau;
  7. Hurihia te tukunga o nga kaitoro hou ki te pata hou;
  8. Whakahoutia nga tūmau katoa ma te pokapū raraunga (kotahi pokapū raraunga i te wa hei whakaiti i te paanga ki nga kaiwhakamahi i te wa e raruraru ana);
  9. Whakahoutia nga tūmau katoa.

Whakahokia ano mo nga peka katoa o nga kakano kei a tatou. I tenei wa ko:

  • Stock CentOS 7 3.10 - mo te nuinga o nga tūmau auau;
  • Vanilla 4.19 - mo tatou kapua kotahi-kapua, no te mea e hiahia ana matou ki te BFQ, BBR, me etahi atu;
  • Elrepo kernel-ml 5.2 - mo nga tohatoha tino utaina, na te mea ko te 4.19 he ahua koretake, engari he rite tonu nga ahuatanga.

Ka rite ki taau i whakaaro ai, ko te whakaara ano i nga mano o nga kaitoro ka roa te waa. I te mea ehara nga whakaraeraetanga katoa he mea tino nui mo nga tūmau katoa, ka whakaara ano matou i nga mea ka uru tika mai i te Ipurangi. I roto i te kapua, kia kore ai e whakawhäitihia te ngawari, karekau e herea nga ipu e uru atu ana ki waho ki nga kaitoro takitahi me te kakano hou, engari ka whakaara ano i nga kaihautu katoa kaore he rereke. Waimarie, he maamaa ake te mahi i reira i nga kaitoro auau. Hei tauira, ka taea e nga ipu whenua kore te neke ki tetahi atu tūmau i te wa e whakaara ano ana.

Heoi, he nui tonu nga mahi, a he maha nga wiki ka roa, mena he raru kei te putanga hou, tae atu ki etahi marama. Ka tino mohio nga kaiwhaiwhai ki tenei, na reira me whai mahere B.

FragmentSmack/SegmentSmack. Te whakatika

Waimarie, mo etahi whakaraerae kei te noho he mahere "B", ka kiia ko Workaround. I te nuinga o nga wa, he huringa tenei i roto i nga tautuhinga kernel/tono ka taea te whakaiti i te paanga ka taea te whakakore ranei i te whakaraeraetanga o nga whakaraeraetanga.

I roto i te take o FragmentSmack/SegmentSmack i whakaarohia tenei Whakatikatika:

«Ka taea e koe te huri i nga uara taunoa o te 4MB me te 3MB i roto i te net.ipv4.ipfrag_high_thresh me te net.ipv4.ipfrag_low_thresh (me o raatau ritenga mo ipv6 net.ipv6.ipfrag_high_thresh me net.ipv6.ipfrag_low_thresh) ki te 256 kB me te 192 kB ranei. raro. Ko nga whakamatautau e whakaatu ana i te iti ki te nui o nga whakahekenga o te whakamahi CPU i te wa o te whakaeke i runga i nga taputapu, nga tautuhinga, me nga tikanga. Heoi ano, tera pea he paanga mahi na te ipfrag_high_thresh=262144 paita, na te mea e rua noa nga kongakonga 64K ka uru ki te rarangi whakahiato i te wa kotahi. Hei tauira, he tupono ka pakaru nga tono e mahi ana me nga paanui UDP nui".

Ko nga tawhā ake i roto i te tuhinga kernel whakaahuatia e whai ake nei:

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.

Karekau he UDP nui mo nga ratonga whakaputa. Karekau he hokohoko wehewehenga i runga i te LAN; he waka wehewehe i runga i te WAN, engari ehara i te mea nui. Kaore he tohu - ka taea e koe te huri i te Mahi Mahi!

FragmentSmack/SegmentSmack. Te toto tuatahi

Ko te raru tuatahi i pa ki a matou ko nga ipu kapua i etahi wa ka uru ki nga tautuhinga hou he waahanga noa iho (ipfrag_low_thresh anake), i etahi wa karekau i pa - ka pakaru noa i te timatanga. Kaore i taea te whakaputa i te raru kia mau tonu (i tono a ringa nga tautuhinga katoa kaore he uaua). Ko te mohio he aha te take i pakaru ai te ipu i te timatanga ehara i te mea ngawari: kaore he hapa i kitea. Kotahi te mea i tino mohio: ko te huri whakamuri i nga tautuhinga ka whakatika te raru o nga tukinga ipu.

He aha i kore ai e ranea ki te tono Sysctl ki te kaihautu? Kei te noho te ipu ki tana ake mokowāingoa whatunga kua whakatapua, na te iti rawa he waahanga o te whatunga Sysctl tawhā i roto i te ipu ka rereke pea i te kaihautu.

He pehea te tono a Sysctl i roto i te ipu? I te mea kaore he painga o a maatau ipu, kaore e taea e koe te whakarereke i tetahi tautuhinga Sysctl ma te haere ki roto i te ipu - kaore koe e whai mana. Hei whakahaere ipu, i whakamahia e to maatau kapua i tera wa a Docker (inaianei Pukeraki). Ko nga tawhā o te ipu hou i tukuna ki a Docker ma te API, tae atu ki nga tautuhinga Sysctl e tika ana.
I a koe e rapu ana i nga putanga, i puta mai kaore te Docker API i whakahoki mai i nga hapa katoa (i te iti rawa i te putanga 1.10). I a matou i ngana ki te timata i te ipu ma te "docker run", i te mutunga ka kite matou i tetahi mea:

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.

Ko te uara tawhā kaore i te tika. Engari he aha? A he aha i kore ai e whaimana i etahi wa anake? I puta mai kaore a Docker e whakamana i te ota e whakamahia ai nga tawhā Sysctl (ko te putanga whakamatautau hou ko 1.13.1), na i etahi wa ka ngana a ipfrag_high_thresh ki te tautuhi ki te 256K i te wa i 3M tonu te ipfrag_low_thresh, ara, he iti ake te rohe o runga. atu i te rohe o raro, i puta ai te he.

I tera wa, kua whakamahia e matou ta matou ake tikanga mo te whirihora ano i te ipu i muri i te tiimatanga (whakatio i te ipu i muri mai pouaka tio roopu me te whakahaere whakahau i te mokowāingoa o te ipu mā ip netns), a ka taapirihia ano e matou te tuhi i nga tawhā Sysctl ki tenei waahanga. I whakatauhia te raruraru.

FragmentSmack/SegmentSmack. Toto Tuatahi 2

I mua i to maatau wa ki te mohio ki te whakamahinga o Workaround i roto i te kapua, ka timata nga amuamu onge tuatahi mai i nga kaiwhakamahi. I tera wa, he maha nga wiki kua pahemo mai i te tiimatanga o te whakamahi i te Workaround ki nga tuunga tuatahi. I kitea e te tirotiro tuatahi i tae mai nga amuamu mo nga ratonga takitahi, kaore nga kaitoro katoa o enei ratonga. Ko te raruraru kua tino koretake ano.

Ko te mea tuatahi, i whakamatau matou ki te huri i nga tautuhinga Sysctl, engari kaore he painga o tenei. Ko nga momo whawhe me nga tautuhinga tūmau me te tono kaore i awhina. I awhinahia te whakaara ano. Ko te whakaara ano i a Linux he rerekee pera i te mea noa mo Windows i nga ra o mua. Heoi, i awhina mai, a ka tohua e matou ki runga i te "kernel glitch" i te wa e tono ana i nga tautuhinga hou i Sysctl. He aha te ware...

E toru wiki i muri mai ka hoki ano te raru. He tino ngawari te whirihoranga o enei kaitoro: Nginx i roto i te aratau takawaenga/whakarite. Kaore i te nui te waka. He korero whakataki hou: kei te piki haere te maha o nga hapa 504 i runga i nga kaihoko ia ra (Waahi Waahi). Ka whakaatu te kauwhata i te maha o nga hapa 504 ia ra mo tenei ratonga:

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

He rite tonu nga hapa katoa - mo tera kei te kapua. Ko te kauwhata kohi mahara mo nga kongakonga kete kei runga i te tuara penei te ahua:

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

Koinei tetahi o nga whakaaturanga tino kitea o te raru i roto i nga kauwhata punaha whakahaere. I roto i te kapua, i te wa ano, kua whakatikahia tetahi atu raruraru whatunga me nga tautuhinga QoS (Mana Whakahaere). I runga i te kauwhata o te kai mahara mo nga kongakonga kete, he rite tonu te ahua:

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

He ngawari te whakaaro: mena he rite te ahua ki nga kauwhata, he rite tonu te take. I tua atu, he tino onge nga raru o tenei momo mahara.

Ko te ngako o te raru kua whakatauhia ko te whakamahi i te fq packet scheduler me nga tautuhinga taunoa i roto i te QoS. Ma te taunoa, mo te hononga kotahi, ka taea e koe te taapiri i nga paatete 100 ki te rarangi, me etahi hononga, i nga ahuatanga o te koretake o te hongere, ka tiimata te tarai i te rarangi ki te kaha. I tenei keehi, ka tukuna nga paatete. I roto i nga tatauranga tc (tc -s qdisc) ka kitea penei:

qdisc fq 2c6c: parent 1:2c6c limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 3028 initial_quantum 15140 refill_delay 40.0ms
 Sent 454701676345 bytes 491683359 pkt (dropped 464545, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  1024 flows (1021 inactive, 0 throttled)
  0 gc, 0 highprio, 0 throttled, 464545 flows_plimit

Ko te “464545 flows_plimit” ko nga paakete i taka na te mea kua neke ake i te tepe o te rarangi o te hononga kotahi, a ko te “464545 i taka” ko te tapeke o nga paatete kua taka katoa o tenei kaihōtaka. Whai muri i te whakanui ake i te roa o te rarangi ki te 1 mano me te whakaara ano i nga ipu, ka mutu te raru. Ka taea e koe te noho ki muri ka inu i te maeneene.

FragmentSmack/SegmentSmack. Toto Whakamutunga

Tuatahi, he maha nga marama i muri mai i te panuitanga o nga whakaraeraetanga i roto i te kernel, ka puta mai he whakatika mo FragmentSmack (me whakamahara ahau ki a koe me te panui i te marama o Akuhata, i tukuna he whakatika mo te SegmentSmack anake), i whai waahi ai matou ki te whakarere i te Mahi, i tino raruraru ai matou. I tenei wa, kua taea e matou te whakawhiti i etahi o nga kaitoro ki te kaarai hou, inaianei me timata mai i te timatanga. He aha tatou i whakahou ai i te kernel me te kore e tatari mo te whakatika FragmentSmack? Ko te meka ko te tikanga o te whakamarumaru i enei whakaraeraetanga i taurite (me te hanumi) me te tukanga o te whakahou i te CentOS ake (he nui ake te wa i te whakahou i te kernel anake). I tua atu, ko te SegmentSmack he whakaraeraetanga kino ake, a ka puta mai he whakatika mo taua mea, na reira i whai tikanga tonu. Heoi, kaore i taea e matou te whakahou noa i te kernel i runga i te CentOS na te mea ko te whakaraeraetanga FragmentSmack, i puta i te wa o CentOS 7.5, he mea whakatika noa i te putanga 7.6, no reira me mutu te whakahou ki te 7.5 ka timata ano me te whakahou ki te 7.6. A ka tupu ano hoki tenei.

Tuarua, kua hoki mai nga amuamu a nga kaiwhakamahi mo nga raru ki a matou. Inaianei kua tino mohio kei te hono katoa ratou ki te tukunga o nga konae mai i nga kaihoko ki etahi o a maatau kaitoro. I tua atu, he iti rawa nga tukunga mai i te katoa o te papatipu i haere i roto i enei tuunga.

I a tatou e maumahara ana mai i te korero i runga ake nei, kare a Sysctl i awhina. I awhinahia te whakaara ano, engari mo te wa poto.
Ko nga whakapae mo Sysctl kaore i tangohia, engari i tenei wa i tika ki te kohikohi i nga korero maha ka taea. He nui ano te kore o te kaha ki te whakaputa i te raru tukuake i runga i te kiritaki kia pai ake ai te ako i nga mea e tupu ana.

Ko te tātaritanga o nga tatauranga katoa me nga raarangi e waatea ana kaore i tino tata ki te maarama ki nga mea kei te tupu. Ko te kore o te kaha ki te whakaputa i te raru kia "rongo" ki tetahi hononga motuhake. I te mutunga, ko nga kaihanga, ma te whakamahi i tetahi waahanga motuhake o te tono, i kaha ki te whakatutuki i nga raru o nga raru i runga i te taputapu whakamatautau ka hono ma Wi-Fi. He huanga tenei i roto i te whakatewhatewha. I hono te kiritaki ki a Nginx, i takawaenga ki te tuara, ko ta maatau tono Java.

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

Ko te korero mo nga raruraru he penei (kua mau ki te taha takawaenga Nginx):

  1. Kiritaki: tono kia whiwhi korero mo te tango i tetahi konae.
  2. Tūmau Java: whakautu.
  3. Kiritaki: POST me te konae.
  4. Tūmau Java: hapa.

I te wa ano, ka tuhia e te kaitoro Java ki te raarangi kua tae mai nga 0 paita o nga raraunga mai i te kaihoko, a ka tuhia e te kaiwawao Nginx ko te tono i neke atu i te 30 hēkona (30 hēkona te waahi o te tono a te kiritaki). He aha te waahi ka mutu te 0 paita? Mai i te tirohanga HTTP, ka mahi nga mea katoa, engari ko te POST me te konae te ahua kua ngaro atu i te whatunga. Ano, ka ngaro i waenga i te kiritaki me Nginx. Kua tae ki te wa ki te mau i a koe ki a Tcpdump! Engari i te tuatahi me maarama koe ki te whirihoranga whatunga. Ko te takawaenga Nginx kei muri i te toenga L3 NFware. Ka whakamahia te toronga ki te tuku i nga paatete mai i te taurite L3 ki te tūmau, e taapiri ana i ona pane ki nga kete:

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

I tenei keehi, ka tae mai te whatunga ki tenei tūmau i roto i te ahua o te hokohoko a Vlan-tagged, e taapiri ana i ona ake mara ki nga paatete:

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

A ka taea hoki te wehewehe i tenei waka (ko taua paheketanga iti o nga waka wehewehenga taumai i korerohia e matou i te wa e aromatawai ana i nga raru mai i te Mahi Mahi), ka huri ano i nga korero o nga pane:

Kia tupato ki nga whakaraerae e kawe mai ana i nga waahi mahi. Wāhanga 1: FragmentSmack/SegmentSmack

Ano ano: ka whakakaohia nga paatete ki te tohu Vlan, ka kapi ki te kohanga, he mahanga. Kia pai ake te maarama me pehea te tupu o tenei, me whai i te huarahi paatete mai i te kiritaki ki te takawaenga Nginx.

  1. Ka tae te kete ki te taurite L3. Mo te ararere tika i roto i te pokapū raraunga, ka whakauruhia te paakete ki roto i te kauhanga ka tukuna ki te kaari whatunga.
  2. I te mea karekau nga pane o te packet + tunnel e uru ki roto i te MTU, ka tapahia te paakete ki nga kongakonga ka tukuna ki te whatunga.
  3. Ko te whakawhiti i muri i te taurite L3, i te wa e whiwhi ana i te kete, ka taapirihia he tohu Vlan ki runga ka tukuna atu.
  4. Ko te whakawhiti i mua o te takawaenga Nginx e kite ana (i runga i nga tautuhinga tauranga) kei te tatari te kaimau i tetahi putea kua whakauruhia ki te Vlan, na reira ka tukuna atu, me te kore e tango i te tohu Vlan.
  5. Ka tango a Linux i nga kongakonga o nga kete takitahi ka hanumi ki roto ki tetahi kete nui.
  6. Muri iho, ka tae te paakete ki te atanga Vlan, ka tangohia te paparanga tuatahi - Vlan encapsulation.
  7. Ka tukuna e Linux ki te atanga Tunnel, ka tangohia tetahi atu paparanga - Tunnel encapsulation.

Ko te uaua ki te tuku i enei mea katoa hei tawhā ki tcpdump.
Me timata mai i te mutunga: he ma (kaore he pane e tika ana) nga putea IP mai i nga kaihoko, me te tango i te vlan me te whakaurunga kauhanga?

tcpdump host <ip клиента>

Kao, karekau he putea pera i runga i te tūmau. Na ko te raruraru me tae wawe mai. Kei kona ano etahi paatete me te whakaurunga Vlan anake i tangohia?

tcpdump ip[32:4]=0xx390x2xx

Ko 0xx390x2xx te wāhitau IP kiritaki i te whakatakotoranga hex.
32:4 — te wahi noho me te roa o te mara i tuhia ai te SCR IP ki te kete Tunnel.

Ko te wahitau mara me whiriwhiri ma te kaha kino, na te mea i runga i te Ipurangi ka tuhia e ratou mo te 40, 44, 50, 54, engari kaore he wahitau IP i reira. Ka taea hoki e koe te titiro ki tetahi o nga paatete i roto i te hex (te -xx, -XX ranei te tawhā i tcpdump) me te tatau i te wahitau IP e mohio ana koe.

He kongakonga putea kaore i tangohia a Vlan me Tunnel encapsulation?

tcpdump ((ip[6:2] > 0) and (not ip[6] = 64))

Ma tenei makutu e whakaatu ki a tatou nga kongakonga katoa, tae atu ki te whakamutunga. Tena pea, ko te mea ano ka taea te taraihia e te IP, engari kaore au i whakamatau, na te mea kaore i te tino maha nga putea pera, a ko nga mea e hiahiatia ana e au i kitea ngawari i roto i te rerenga whanui. Anei ratou:

14:02:58.471063 In 00:de:ff:1a:94:11 ethertype IPv4 (0x0800), length 1516: (tos 0x0, ttl 63, id 53652, offset 0, flags [+], proto IPIP (4), length 1500)
    11.11.11.11 > 22.22.22.22: truncated-ip - 20 bytes missing! (tos 0x0, ttl 50, id 57750, offset 0, flags [DF], proto TCP (6), length 1500)
    33.33.33.33.33333 > 44.44.44.44.80: Flags [.], seq 0:1448, ack 1, win 343, options [nop,nop,TS val 11660691 ecr 2998165860], length 1448
        0x0000: 0000 0001 0006 00de fb1a 9441 0000 0800 ...........A....
        0x0010: 4500 05dc d194 2000 3f09 d5fb 0a66 387d E.......?....f8}
        0x0020: 1x67 7899 4500 06xx e198 4000 3206 6xx4 [email protected].
        0x0030: b291 x9xx x345 2541 83b9 0050 9740 0x04 .......A...P.@..
        0x0040: 6444 4939 8010 0257 8c3c 0000 0101 080x dDI9...W.......
        0x0050: 00b1 ed93 b2b4 6964 xxd8 ffe1 006a 4578 ......ad.....jEx
        0x0060: 6966 0000 4x4d 002a 0500 0008 0004 0100 if..MM.*........

14:02:58.471103 In 00:de:ff:1a:94:11 ethertype IPv4 (0x0800), length 62: (tos 0x0, ttl 63, id 53652, offset 1480, flags [none], proto IPIP (4), length 40)
    11.11.11.11 > 22.22.22.22: ip-proto-4
        0x0000: 0000 0001 0006 00de fb1a 9441 0000 0800 ...........A....
        0x0010: 4500 0028 d194 00b9 3f04 faf6 2x76 385x E..(....?....f8}
        0x0020: 1x76 6545 xxxx 1x11 2d2c 0c21 8016 8e43 .faE...D-,.!...C
        0x0030: x978 e91d x9b0 d608 0000 0000 0000 7c31 .x............|Q
        0x0040: 881d c4b6 0000 0000 0000 0000 0000 ..............

E rua nga wahanga o te kete kotahi (taurite ID 53652) me tetahi whakaahua (ka kitea te kupu Exif i te kete tuatahi). Na te mea he kohinga kei tenei taumata, engari kaore i roto i te ahua hanumi i roto i nga putunga, ka marama te raru ki te huihuinga. Ka mutu he taunakitanga pakipūmeka mo tenei!

Karekau i kitea e te kaiwaehere pakete nga raru ka aukati i te hanga. I whakamatauria i konei: hpd.gasmi.net. I te tuatahi, ka ngana koe ki te whakauru i tetahi mea ki reira, karekau te kaiwhakawaehere e pai ki te whakatakotoranga paatete. I puta mai he rua ano nga octets i waenga i a Srcmac me Ethertype (kaore e pa ana ki nga korero kongakonga). Whai muri i te tango i a raatau, ka tiimata te mahi a te kaiwaehere. Heoi, karekau he raruraru.
Ahakoa he aha te korero a tetahi, kaore he mea i kitea engari ko te Sysctl. Ko te mea i toe ko te kimi huarahi ki te tautuhi i nga tūmau raru kia mohio ai koe ki te tauine me te whakatau mo etahi atu mahi. I kitea tere te porotiti e hiahiatia ana:

netstat -s | grep "packet reassembles failed”

Kei roto ano i te snmpd i raro i te OID=1.3.6.1.2.1.4.31.1.1.16.1 (ipSystemStatsReasmFails).

"Ko te maha o nga rahunga i kitea e te IP re-assembly algorithm (mo te aha te take: kua mutu, he hapa, me etahi atu)."

I roto i te roopu o nga kaitoro i akohia te raruraru, i runga i te rua ka piki ake te tere o tenei porotiti, i runga i te rua ka ata haere, i runga i te rua kaore i piki ake. Ko te whakataurite i te kaha o tenei kaute me te kaha o nga hapa HTTP i runga i te tūmau Java i whakaatu he hononga. Arā, ka taea te aro turuki i te mita.

Ko te whai tohu pono mo nga raru he mea tino nui kia taea ai e koe te whakatau tika mena ka awhina a Sysctl ki te whakahoki, na te mea mai i nga korero o mua ka mohio matou kaore e taea te maarama mai i te tono. Ma tenei tohu ka taea e maatau te tautuhi i nga waahanga raru katoa i roto i te whakaputanga i mua i te kitenga o nga kaiwhakamahi.
I muri i te hurihanga o Sysctl, ka mutu nga hapa o te aro turuki, na reira i whakamatauhia te take o nga raru, me te meka e awhina ana te hurihuri.

I whakatakahia e matou nga waahanga wehewehenga i runga i etahi atu tūmau, i uru mai ai te aro turukitanga hou, a, i tetahi waahi ka tohatohahia e matou etahi atu maharatanga mo nga kongakonga i mua atu i te taunoa (koinei nga tatauranga UDP, ko te ngaronga o enei waahanga kaore i kitea ki te papamuri whanui) .

Ko nga patai tino nui

He aha te take i wehewehea ai nga paatete ki runga i to taatau pauna L3? Ko te nuinga o nga paakete ka tae mai i nga kaiwhakamahi ki nga kaitaurite ko SYN me ACK. He iti nga rahi o enei kete. Engari i te mea he tino nui te wahanga o aua momo kete, i runga i o raatau papamuri kaore matou i kite i te noho mai o nga paanui nui kua timata te pakaru.

Ko te take he tuhinga whirihoranga pakaru advmss i runga i nga kaitoro me nga atanga Vlan (he iti noa nga kaitoro me nga tohu hokohoko i roto i te mahi i taua wa). Ka taea e Advmss te kawe ki te kiritaki nga korero e tika ana kia iti ake te rahi o nga paakete i to tatou ahunga kia kore ai e wehewehea i muri i te whakapiri i nga pane o te kauhanga.

He aha te take kare a Sysctl hoki i awhina, engari ka whakaara ano? Ko te huri whakamuri ka huri a Sysctl i te nui o te mahara e waatea ana mo te whakakotahi i nga kohinga. I te wa ano, ko te ahua o te puhake o te mahara mo nga kongakonga na te puhoi o nga hononga, na te mea ka roa te roa o nga kongakonga i roto i te rarangi. Arā, i haere te tukanga i roto i nga huringa.
I whakawāteahia e te whakaaraara te mahara ka hoki nga mea katoa ki te ota.

I taea ki te mahi me te kore Mahi Mahi? Ae, engari he nui te tupono ki te waiho i nga kaiwhakamahi me te kore ratonga i te wa o te whakaeke. Ko te tikanga, na te whakamahi i te Mahi Mahi i puta nga raru maha, tae atu ki te puhoitanga o tetahi o nga ratonga mo nga kaiwhakamahi, engari ahakoa e whakapono ana matou he tika nga mahi.

Nga mihi nui ki a Andrey Timofeev (atimofeyev) mo te awhina ki te whakahaere i te tirotiro, me Alexey Krenev (taputapux) - mo te mahi titanic ki te whakahou i nga Centos me nga kakano i runga i nga kaitoro. He tukanga i tenei keehi me timata mai i te timatanga he maha nga wa, na reira i toia mo nga marama maha.

Source: will.com

Tāpiri i te kōrero