
á°áá áááá˝áá! áľá á˛ááľáŞ áłááśáá áĽáŁáááᣠáĽá á áŚáľááááľá᪠ááľáĽ áĽáá° áá á¨áľáááľ á áľá°áłáłáŞ áĽá°áŤááᢠá¨7 á áá á áŤáá á ááááŽá˝áŁ á á°ááá˝á ááľáĽ 11 áŽáá´áááŽá˝ áĽá 200 á áááŹá˝áá˝ á ááᣠáĽááá
á á á°ááŤáŠ áá
áŽá˝ 700 á¨á°ááŤáŠ áááľá°áŽá˝á áááĽáŤáᢠá áĽááááš á ááááŽá˝ áĽá¨á°áŠ ááᢠCentOS 7.
á áŚááľáľ 14ᣠ2018ᣠáľá FragmentSmack á°áááááľ áá¨á áłáľáá
() áĽá SegmentSmack (). áĽááá
á°áááááśá˝ á¨ááľááá áĽááľ áŹáá°á áĽá á¨áá°á ááĽáĽ (7.5) áá á˛áá áá
á á ááĽá¨áľ ááá ἠ(á˛ááŠ) ááááŤáľ á¨á áááááľ áá¨áá¨áá (DoS) áŤá°ááᢠá ááŤá áá áFragmentSmack á¨á¨ááá áá áá á ááá¨á á áá áᣠá á°á¨ááŞáᣠáľá á°áááááą áá¨á á¨áłá°á á áŁá ááááś ááŁá˘ SegmentSmacká áááľáááľ á¨áááá ááááá á°á áááᢠá¨áááá áĽá
á áŤáą á á°ááłáłá áá á°ááá ᣠá¨áá¨á áĽáąá ááŤá áĽáť áá áá˘
á áᣠá¨ááá ááááá á áášá á ááááá! ááá ᣠááŠááśá˝ á á ...
á¨áááá á áááľ áá áĽáá´áľ áĽááááááá
á á á ááá ááá á¨á°ááłá°á ááá á¨áááĄ-
- áĽá áá˝á á áááľ;
- á á ááŤáł á ááááŽá˝ áá (á¨áĽáá á°áá á¨ááŤáľá°áááą á ááááŽá˝á á¨ááŽ) áá ááŤááá¸á;
- ááá ááá áĽááłáá°á°á ᨠáŤá¨áááĄ;
- ááá áá°á á á¨á¨ááá á áá áśá˝ áŤá áľá á°áśá˝ áá°áá áŤá¸áá áŤá¨áááĄ;
- áĽááľ áááľ áá áĽá;
- á¨á áááá á ááááá áŤá¨áááĄ;
- á¨á áłá˛áľ á ááááŽá˝á áľááŞáľ áá° á á˛áą á¨ááá ááááŠ;
- áááá á ááááŽá˝ á áá¨á ááá¨á á ááá (á á˝áá áá á á°á áááá˝ áá áŤááá á°á˝áĽá áááááľ á ááľ á¨ááἠááá¨á á á ááľ áá);
- áááá á ááááŽá˝ áłáá á áľááł.
áŤááá á¨á¨ááá á áááŤáá˝ á áá ááľáááľá˘ á á áá áááĄ-
- á áá˛áŽá CentOS 7 3.10 - áá áĽááááš áá°á á á ááááŽá˝á¤
- áŤáá 4.19 - áá , ááááŤáąá BFQ, BBR, ááá° áŤáľááááá.
- Elrepo kernel-ml 5.2 - á , ááááŤáąá 4.19 ááľá áŤáá°á¨áá áŁá ᪠áá á¨á, ááá áá á°ááłáłá áŁá áŞáŤáľ áŤáľáááá.
áĽáá°áááąáľ á áşáá˝ á¨ááá አá ááááŽá˝á áłáá ááľááá á¨á áá áá áááľáłáᢠááá á°áááááśá˝ áááá á ááááŽá˝ ááłá áľááááᣠá¨á˘áá°áááľ á ááĽáł ááááľ á¨áá˝ááľá áĽáť áá áłáá á¨ááááá¨áᢠá á°ááá ááľáĽáŁ á°ááááááľá ááááá°áĽáŁ áá° á᪠á¨áá°ááą ááŤáŁáá˝á á¨áá á ááááŽá˝ áá á á á˛áľ á¨ááá á ááľááᣠááá áá áááá á áľá°áááá˝ áŤáááá ááŠááľ áłáá á áľááłáᢠáĽáá° áĽáľá áá, áĽá፠áŤáá á á°áŤá á¨áá°á á á ááááŽá˝ ááá ááá áá. áááłáᣠááá á áᣠáŽáá´áááŽá˝ áłáá á áááłá áľ áá á ááá áá° áá á áááá áááľ áá˝ááá˘
ááá áá, á ááá áĽá áľáŤ á á, áĽá áĽá áłáááłáľ áááľáľ áá˝áá, áĽá á á á˛áą áľáŞáľ áá ááá á áááľ á˝ááŽá˝ áŤá, áĽáľá¨ áĽá ááŤáľ áľá¨áľ. á áĽááá˝ áá áá á á°áἠáľááá¨áą áĽá áľ á áŤáľáááá¸ááá˘
FragmentSmack/SegmentSmack. á¨ááŁáŤáľ áľáŤ
áĽáá° áĽáľá ááᣠáá ááłááľ á°áááááśá˝ áĽáá°áá áŤá áĽá áľ B á áᣠáĽá áĽáą Workaround ááŁááᢠáĽá ááᣠáá á¨á¨ááá/á¨áá°áá áŞáŤ ááźáľ ááἠá˛áá áá á áá¨á°áľ á¨áá˝ááá áá¤áľ ááááľ ááá á¨á°áááááľá áĽáá á áá á áá áŤáľáááłáá˘
á FragmentSmack/SegmentSmack ááłá á¨ááľá°áŤá¨áŤ áá´á áĽáá°áá¨á°áá áá-
ᨠ4MB áĽá 3MB ááŁáŞ áĽá´áśá˝á á net.ipv4.ipfrag_high_thresh áĽá net.ipv4.ipfrag_low_thresh (áĽá á áťááťá¸á á ipv6 net.ipv6.ipfrag_high_thresh áĽá net.ipv6.ipfrag_low_thresh ááá á á ááĽáŽáľ) kB256 áĽá 192 kB áá áŤáᢠáá¨áŤáá˝ á áááľááᣠááźáśá˝ áĽá áááłáá˝ áá á áááľá¨áľ á áĽááą áá áľ á á˛áአá á ááá áá á¨áľáá˝ áĽáľá¨ ááá á áĽáłáá˝ áŤáłáŤáᢠááá ááᣠá ipfrag_high_thresh=262144 áŁááľ ááááŤáľ á¨á°áá°á á¨á ááťá¸á á°á˝áĽá ááá áá˝ááᣠááááŤáąá á á ááľ áá áááľ 64K áááĽáŤáŽá˝ áĽáť áá° áááś áá°áŁá°áĽáŤ áá¨á ááᥠáá˝ááᢠáááłá, á¨áľááá ᨠUDP ááŹáśá˝ áá á¨áá°áŠ áá°áá áŞáŤáá˝ áá°á አá¨áá˝áá áľ á á°á á áÂť.
áááŞáŤáá˝ áĽáŤáłá¸á áĽáá°áá¨á°áá á°áááżááĄ-
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.
á áááľ á áááááśá˝ áá áľáá áŠá˛ááá˝ á¨áááᢠá LAN áá ááá á¨á°á áłá°á áľáŤáá á¨ááᤠââá WAN áá á¨á°á áłá°á áľáŤáá á áᣠáá ááá á áá°ááᢠááá ááááśá˝ á¨áá - Workaroundá áááá áá˝áá!
FragmentSmack/SegmentSmack. á¨ááááŞáŤ á°á
áŤáá áá á¨ááááŞáŤá á˝áá á¨á°áá áŽáá´áááŽá˝ á ááłááľ áá á á˛áśášá ááźáśá˝ á á¨áá (ipfrag_low_thresh áĽáť) áá°ááĽáŤá ᣠáĽá á ááłááľ áá á ááŤá˝ á áá°áá áŠá - á ááá á á áá áááľááᢠá˝ááŠá á á°á¨áá áááł áĽáá°áá ááŁááľ á áá°áťáá (ááá á ááĽáŽá˝ áŤá ááá á˝áá á áĽá á°á°ááĽá¨áá)ᢠáŽáá´ááአááááŞáŤ áá ááá áĽáá°áá áá˝ áá¨áłáľ áĽáá˛á ááá á áá°ááᥠááá áľá á°áśá˝ á áá°áááᢠá ááľ ááá áĽááá á áá áᥠá ááĽáŠá áá° áá ááááľ á˝ááŠá á ááŤáŁ áĽáá˝áśá˝ áááłáá˘
á á áľá°ááá áá Sysctl áá°áá á á á áŤáááá ááááľáá? áŽáá´ááአá¨ááá¨á á áŤáą á á°áááá á¨á ááłá¨ áá¨áĽ áľá áŚáł ááᣠââáľááá á˘áŤááľ á ááŤáŁá ááľáĽ á¨á áľá°ááá áááŤá áá˝áá.
ᨠSysctl á
áá
áśá˝ á ááŤáŁá ááľáĽ á áľááá áĽáá´áľ áá°áá áŤá? á¨áĽá áŽáá´áááŽá˝ áአááĽáľ áľáááá¸áᣠáá° ááŤáŁá ááľáĽ á áááŁáľ áááááá á¨Sysctl ááźáľ ááá¨á á áá˝áá - á ááá á á ááĽáśá˝ á¨ááľáᢠááŤáŁáá˝á áááľáŹáľáŁ á¨áĽá á°áá á ááŤá áá Dockerá (á áá ). á¨á á˛áą áŽáá´ááá áááŞáŤáá˝ á áľááááá ᨠSysctl á
ááĽáŽá˝á á¨áᎠá á¤áá á á áŠá áá° Docker á°áááááá˘
á áĽáŞáśáš ááľáĽ á áááá ááᣠá¨áśá¨á á¤áá á áááá áľá
á°áśá˝ á áááá°á (á˘áŤááľ á áľáŞáľ 1.10)ᢠááŤáŁáá á "docker run" ááááá áľáááá á áá¨á¨áť á˘áŤááľ á¨áá ááá á á¨ááĄ-
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.
á¨áááŞáŤ áĽá´áą áá á áá°ááᢠáá ááá? áĽá ááá á ááłááľ áá áĽáť á¨ááá°áŤá? áśá¨á ᨠSysctl áááŞáŤáá˝ á¨áá°áá áŠá áľá á á°á á°á¨á°á ááľáľá áĽáá°ááá°áĽ (á¨á áἠáá á¨á°áá¨á¨á áľáŞáľ 1.13.1 áá)ᣠáľááá á ááłááľ áá ipfrag_high_thresh ipfrag_low_thresh 256M á˛áá áá° 3 ᪠ááááááľ ááááŤá áááľá á¨áááá áá°á áá á°á áá áᢠáá° áľá á°áą ááááŤáľ á¨ááá á¨áá á°áá áá°áĽ ááá .
á áá áá ᣠââââá¨ááááŞáŤá á áá ááŤáŁáá áĽáá°áá ááááá á¨áŤáłá˝áá áá´ áĽáá áááá (ááŤáŁáá á¨áááá á áá áĽá á ááŤáŁá á¨áľá áŚáł áá áľáááá˝á á ááá¸á áá á áá ááá áá ᨠSysctl áááŞáŤáá˝á ááá á¨áá¨ááᢠá˝áአá°ááľáˇá.
FragmentSmack/SegmentSmack. á¨ááááŞáŤá á°á 2
Workaround in the cloud á á áááá ááá¨áłáľ áá á¨ááááłá˝á á ááľ á¨á°á áááá˝ á¨ááááŞáŤááš áĽáá Ꮰá áŹáłáá˝ áááŁáľ áááŠá˘ á ááŤá áá á ááááŞáŤááš á ááááŽá˝ áá Workaround áá áá á¨ááᨠáĽá áłáááłáľ á ááááᢠá¨ááááŞáŤá ááá፠á ááá°áĽ á áááááśá˝ áá á áŹáłáá˝ áĽáá°á°áá á áŤáłáŤá, áĽá ááá á¨áĽááá á áááááśá˝ á ááááŽá˝ á áá°áá. á˝áአáĽáá°áá á áŁá áĽááá á áŤááá ááá.
á ááááŞáŤ á°á¨áᣠá¨Sysctl á ááĽáŽá˝á áá° áá áááááľ ááá¨á áá áᣠáá ፠ááá áá¤áľ á ááľáááᢠá¨á°ááŤáŠ á¨á áááá áĽá á¨áá°áá áŞáŤ á ááĽáŽá˝ ááťáťáá˝á á áá¨áąáᢠáłáá ááľááá á¨áľáˇáᢠáłáá ááľááá á Linux á áĽáŽ áááľáŤáľ á¨á°ááá° áááł áĽáá°áá á¨á áá á¨á°ááĽáŽ á᪠á¨áá Windows á áľáŽ ááᢠááá áá á°ááˇáᣠáĽá á áłá˛áľ á¨Sysctl á ááĽáŽá˝á áľáá°ááĽá "á¨á¨ááá á˝áá" áĽáá áááááááᢠáĽáá´áľ ááá˝ áá...
á¨áśáľáľ áłáááłáľ á áá á˝áአáĽáá°áá á áá¨á¸. á¨áĽááá á ááááŽá˝ áá á á áŁá ááá áá áᥠNginx á proxy/balancer áááłá˘ áĽá áľáŤáá á¨ááᢠá á˛áľ á¨ááá˘áŤ ááľáłááť: á á¨áá á á°áá áá˝ áá ᨠ504 áľá á°áśá˝ ááĽá áĽá¨á¨áᨠáá (). ááŤá ááá á áááááľ á áá á¨504 áľá á°áśá˝á ááĽá áŤáłáŤááĄ-

áľá á°áśáš áá áľá á ááľ á áááľ á¨ááᣠááᣠ- á á°áá ááľáĽ áľááá áá. á áá ááᣠáá áŤáá á¨áĽá á áááĽáŤáŽá˝ á¨áá á°á¨ áľááľáł áááł ááŤá áá á áááľááá˘

áá á áľááá° ááá ááŤáá˝ ááľáĽ á áŁá ááá˝ á¨áá á¨á˝áአááááŤáá˝ á ááą áá. á á°ááá ááľáĽáŁ áá á á°ááłáłá ááᣠá QoS (á¨áľáŤáá ááĽáĽá) á áá áśá˝ áá áá á¨á ááłá¨ áá¨áĽ á˝áá á°áľá°áŤáááᢠáááŹáľ áááĽáŤá á¨áá á°á¨ áľááľáł áááł ááŤá áá ᣠáá á ááľ á áááľ áááľáá

áááą ááá áá á-á ááŤááš áá á°ááłáłá á¨áááľá á¨áá, áĽááą á°ááłáłá ááááŤáľ á áá¸á. á¨áá á á áá á áá ááááľ á¨ááľáłááľ á˝ááł áá áŤá ááá¸áá á˝ááŽá˝ á áŁá áĽááľ áá¸á.
á¨ááá á˝áá áᏠááá á¨fq ááŹáľ áááááĽáá á¨ááŁáŞ á áá áśá˝ áá á QoS áá ááá˝á áá áᢠá ááŁáŞááľ áá ááľ áááááľ 100 ááŹáá˝á áá° áá¨áá ááá¨áá ááá áľáááłá, áĽá á ááłááľ áááááśá˝ á á°áἠáĽáĽá¨áľ ááľáĽ, áá¨ááá áá° á á á ááááľ áááŠ. á áá áááł, áĽá˝áá˝ ááŁáá. á tc áľáłá˛áľá˛ááľ (tc -s qdisc) áĽáá°áá¨á°áá ááłá áá˝áááĄ-
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
"464545flows_plimit" áááľ á¨á ááľ áááááľ á¨áá¨á áá°áĽ á ááá á¨á°áŁá áĽá˝áá˝ á˛áá "á¨áá°á 464545" á¨ááá á¨á°áŁá á¨áá áááááĽá áĽá˝áá˝ áľáá ááᢠá¨áá¨ááá áááá áá° 1 áşá á¨á á ááľá¨á áĽá áŽáá´áááŽá˝á áĽáá°áá áŤáľááአá áá á˝áአáá¨á°áąá á áá. áá áĽáá ááľááł áá ἠáá áŁáľ áá˝áá.
FragmentSmack/SegmentSmack. á¨áá¨á¨áťá á°á
á ááááŞáŤáŁ á¨á¨ááá á°áááááśá˝ á¨á°áááš á¨áĽááľ ááŤáľ á ááᣠá¨FragmentSmack áĽáá á áá¨á¨áť á°ááá (á¨ááá´ áá ááľáłáááŤá áSegmentSmack ááľá°áŤá¨áŤ áĽáť á ááĽáˇá)ᣠáá á áĽá á˝áá ááĽáŽáĽá á¨áá á¨áá Workaroundá á¨áá°á áĽáľá á°áĽáśááᢠá áá áá ááľáĽ á ááłááľ á ááááŽá˝á áá° á á˛áą á¨ááá á ááá¨á áá áᣠáĽá á áá á¨áŁáś áááá áá á¨áĽáᢠá¨FragmentSmack áĽááá áłáá áĽá á¨áááá ááá á ááááá? áĽáááłá áá á¨áĽááá á°áááááśá˝ á¨áá á á áá°áľ á¨Workaround áĽáŤáąá á¨áááá áá°áľ áá á°ááŁá á (áĽá á°áá áˇá)ᢠCentOS (áá á á¨áááá áĽáť á¨áááá á¨á áá áá áááľáłá)ᢠá¨áá á á á°á¨ááŞáŁ SegmentSmack á¨á áá á á°áá á°áááááľ ááᣠáĽá áá˛áŤáá ááĽáą ááľá°áŤá¨áŤ áľáá°áá ááááŤáłá áá áᢠááá ááᣠá¨áááá áááá áĽáť áá CentOS á FragmentSmack áá áľ á áłá¨á á°áááááľ ááááŤáľ á ááťáááᢠCentOS 7.5 á áľáŞáľ 7.6 áĽáť á°áľá°áŤáááᣠáľááá ááááá áá° 7.5 á ááá áá° 7.6 á áááá áĽáá°áá áááá áá á¨áĽáᢠáá á°áá áá¨á°áłáá˘
á ááá°á á°á¨áᣠáľáá˝ááŽá˝ áĽááĽáá á¨á°á áá á áŹáłáá˝ áá° áĽá á°ááá°ááᢠá áá ááá á¨á°áá áá˝ áá° á ááłááľ á ááááŽáťá˝á áááá˝á á¨ááŤá áá á¨á°ááá áááá¸áá á áĽááá áááľ áĽáááááᢠá¨áá á á áá á¨á á ááá áĽááľ á áŁá áĽááľ ááĽá áŤáá¸á á°áááá˝ á áĽááá á ááááŽá˝ á áŠá á ááááá˘
á¨áá áŤáá áłáŞá áĽáá°áááľáłáá°áᣠSysctl áá° áá ááááľ á áá¨áłáᢠáłáá ááľááá á¨áľáˇáᣠáá ááááá˘
á Sysctl áá áŤá áĽááŁáŹáá˝ á áá°áááąá, ááá áá á áá
áá á á°áťá áá á áĽá áá¨ááá˝á áá°áĽá°áĽ á áľááá áá á. áá áĽá¨á°á¨á°á° áĽááłá á áľááá áááĽááľ á¨á°áááá á˝áá á á°áá áá áá áĽáá°áá á¨ááŁááľ á˝ááł á áŁá áľáá
áĽáĽá¨áľ áá áá˘
á¨ááá á¨ááá áľáłá˛áľá˛ááľ áĽá áááἠááľáłááťáá˝ áľáá°á áá áĽá¨á°á¨á°á° áĽááłá ááá¨áłáľ áĽááľáá˝á á áá°á¨áááᢠá ááľ á¨á°áá°á áááááľ "ááá°ááľ" á˝ááŠá áĽáá°áá á¨ááľáá á˝ááł á¨áá°á áĽáĽá¨áľ áá á. á áá¨á¨áťá ááá˘ááš á¨áá°áá áŞáŤáá áአáľáŞáľ á áá áá á Wi-Fi á áŠá á˛ááá á áá¨áŤ ááŁáŞáŤ áá á¨á°á¨áá á¨á˝ááŽá˝á ááŤáŁáľ á˝áááᢠáá á ááááŤá ááľáĽ á ááľ áááľ áá á. á°áá áá á¨Nginx áá á°ááááˇáᣠáĽáąá ááááá á°áŞáŁ áĽáąá á¨á፠áá°áá áŞáŤá˝á ááá˘

á¨á˝ááŽá˝ ááááľ áĽáá°áá áá á (á Nginx ááŽáᲠáá áá á°áľá°áŤááá)
- á°áá áᥠááá áľáááá¨áľ áá¨á áĽáá˛áá á áá ááá˘
- á፠á áááá: ááá˝.
- á°áá áᥠPOST á¨ááá ááá˘
- á¨á፠á áááá: áľá á°áľ.
á á°ááłáłá áá á¨á፠á áááá 0 áŁááľ ááἠá¨á°áá áá áĽáá°á°áá á áĽá ᨠNginx ááŽáá˛á áĽáŤáá ᨠ30 á°á¨ááľ á áá áĽáá°áá°á° áá˝áá (30 á°á¨ááľ á¨á°áá áá áá°áá áŞáŤ ááá áŤááá áľ áá)ᢠááá ááá á ááá áłá áĽá ááá 0 áŁááľ? á¨á¤á˝á˛á˛á áĽááł á ááťá ááá ááá áĽáá° áá°áŤá áá°áŤá ááá áá á¨ááá áá áŤáá POST á¨á ááłá¨ áá¨áĄ á¨áá á áááľááᢠá¨áá á á áá á á°áá áá áĽá á Nginx ááŤá¨á áá áá. á Tcpdump áĽáŤáľáá áááľáłá á ááá á áá áá! áá á ááááŞáŤ á¨á ááłá¨ áá¨áĽ á ááááŠá áá¨áłáľ áŤáľáááááłá. Nginx ááŽáᲠá¨L3 ááá ááᣠááᢠ. ááżááŞáŤ áĽá˝áá˝á á¨L3 ááá áá° á áááአáááľá¨áľ áá á ááᣠáá á á¨áŤáľááášá áá° áĽá˝áá˝ áá¨ááŤááĄ

á áá á ááŁá á ááłá¨ áá¨áĄ áá°áá á áááá á¨áááŁá á ááá áá፠á á°á°á¨á áľáŤáá ááá á˛áá áá á á¨áŤáąá ááľáŽá˝ áá° áĽá˝áá˝ áá¨ááŤáá˘

áĽá áá áľáŤááá áá¨ááá áá˝áá (á¨Workaround á¨áááĄáľá áľááśá˝ áľááááá á¨á°áááááá áŤá áľáá˝ ááśá áᢠá¨á°á¨ááá áľáŤáá)ᣠáá á°áá á¨áŤáľááášá áááľ ááááŁááĄ

á áá´ á áľáá: áĽá˝áá˝ á ááá áłá, á ááť á°á¸áááá, á¨á°ááŤá¨áĄ áá¸á. áá áĽáá´áľ áĽáá°áá¨á°áľ á á°áťá ááá¨áłáľ á¨á°áá áá áá° Nginx ááŽáá˛á á¨ááŹáľ ááááľá áĽááááá˘
- ááŹáą áá° L3 ááá áá°ááłá. á áá¨á ááĽá¨á ááľáĽ ááľááááá ááľááᣠááŹáą á ááťá ááľáĽ á°á¸áá áá° á ááłá¨áá¨áĽ áŤááľ áááŤáá˘
- á¨ááŹáľ + ááżááŞáŤ áŤáľááá˝ áá° MTU á¨áááᥠáľááá ááŹá áá° áááĽáŤáŽá˝ á°ááጠáá° á ááłá¨ áá¨áĄ áááŤáá˘
- ᨠL3 ááá á áá áŤáá ááĽáŞáŤ / ááĽá፠ᣠááŹáľ á˛áá á ᣠá áአáá á¨ááá áá፠áá¨ááŤá áĽá ááá¨ááá˘
- á á ááááľ á°áŞ ááľ áááľ áŤáá ááĽáŞáŤ (á áŁá á áá á¨á˘áŤáá˝ áá á¨á°áá á¨á°) á áááአᨠVLAN á¨á°á°áŤ ááŹáľ áĽá¨á á á áŤá áá, áľáááá ᨠVLAN áá፠áłááŤáľááá°á áĽáá°ááá áá.
- Linux á¨ááá°áĽ ááŹáá˝á áááĽáŤáŽá˝ ááá áá áĽá áá° á ááľ áľáá ááŹá áŤáľáááŁá¸ááá˘
- á ááá á, ááŹáą áá° ááá á áááá˝ áá°ááłá, á¨ááááŞáŤá ááĽááĽá á¨áĽáą ááááłá - ááá ááááŤ.
- áĽááá˛á Linux áá° ááťá á áááá˝ ááá¨ááᣠáĽááŤá áá ááĽááĽá á¨áĽáą ááááłá - á¨ááťá ááááŤá˘
á˝áአáá
áá áá áĽáá° áááŞáŤáá˝ áá° tcpdump ááľá°ááá ááá˘
á¨áá¨á¨áťá áĽááááᥠááá
(á ááľááá áŤáľááá˝ á¨ááá áľ) á¨á°áá áá˝ á¨á á á áĽá
áá˝áŁ áŞáá áĽá ááżááŞáŤ áá¸áááá˝ á°ááá°áá?
tcpdump host <ip кНионŃа>
á áᣠá á áááአáá áĽáá°áá áŤá áĽá áá˝ á ááá áŠáᢠáľááá á˝áአáá°á áĽá ááá á áá áľ. á¨ááá ááá፠áĽáť á¨á°áááą áĽá˝áá˝ á á?
tcpdump ip[32:4]=0xx390x2xx
0xx390x2xx á¨á°áá áá á á á á áľáŤáť á áááľ á
áá¸áľ ááá˘
32:4 - á ááťá ááŹáľ ááľáĽ SCR IP á¨á°áťáá áľ á¨ááľá á áľáŤáť áĽá ááááľá˘
á áááá¨áĽ áá áľá 40 ᣠ44 ᣠ50 ᣠ54 áľááá˝á á¨ááľá á áľáŤáťá á áĽááą ááá ááá¨áĽ áá á¨á ᾠᣠáá áĽá፠ááá á¨á áá á áľáŤáť á ááá á¨áᢠáĽáá˛áá á áááľ ááľáĽ áŤááľ áĽá˝áá˝ ááľáĽ á ááąá (ᨠ-xx ááá -XX ááŤááľá á tcpdump) áá¨áľ áĽá á¨ááŤáááľá á¨á áá á áľáŤáť ááľááľ áá˝ááá˘
áŤá ááá áĽá áśáá á˝áá áŤáá°áááą á¨ááŹáľ áááĽáŤáŽá˝ á á?
tcpdump ((ip[6:2] > 0) and (not ip[6] = 64))
áá
á áľááľ á¨áá¨á¨áťáá á¨áᎠáááá áááĽáŤáŽá˝ áŤáłá¨áá. ááááŁáľ, á°ááłáłá ááá á á áá ááŁáŤ áá˝áá, ááá áá áĽá á ááá¨ááŠá, ááááŤáąá á áŁá áĽá áĽáá°áá
áŤá áĽá˝áá˝ áľááá, áĽá á¨ááŤáľáááá¸á á á á ááá áá°áľ ááľáĽ á ááá á°ááá°áá. áĽáááĄ-
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 .faEE.....@.2.m.
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 á 00:de:ff:1a:94:11 ethertype IPv4 (0x0800)ᣠááááľ 62: (tos 0x0ᣠtl 63ᣠááłáá፠53652ᣠááŤáŤáť 1480, áŁáá˛áŤáá˝ [ááá]ᣠááŽáś á ááá áá (4)ᣠááááľ 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 .áá˘...á˛-áŁ.!...á˛
0x0030ᥠx978 e91d x9b0 d608 0000 0000 0000 7c31 .x...........|Q
0x0040: 881d c4b6 0000 0000 0000 0000 0000 .............
áĽááá áááľ áááĽáŤáŽá˝ á¨á ááľ áĽá á (á°ááłáłá ááłáá፠53652) á¨ááśááŤá áá (á¤ááá á¨ááá áá á ááááŞáŤá áĽá á ááľáĽ ááłáŤá)ᢠá áá á°á¨á áá áĽá˝áá˝ á áááŤá¸á, ááá áá á ááťáť áá áŤáááŤáá˝ ááľáĽ á á°ááá° á á ááľáĽ á áá°áá, á˝áአá áľáĽá°áŁá áá á ááá˝ ááłáŤá. á áá¨á¨áťá ááá á¨á°ááľ ááľá¨á á á!
á¨ááŹáľ á˛áŽá°á áááŁáłáá á¨áá¨ááá ááá á áááľ á˝áá á ááłá¨áᢠáĽáá
ááá¨ááĄ- . ááááŞáŤ áá á ááľ ááá ááá¨áá¸áľ á˛ááአá˛áŽá°áŠ á¨ááŹáľ á
áá¸áąá á áááľáᢠá Srcmac áĽá Ethertype ááŤá¨á (á¨áááĽáŤá áá¨á áá áŤáá°ááá°) á ááłááľ á°á¨á᪠áááľ octets áĽáá°áá አáłááᢠáĽááąá áŤáľáááą á áá á˛áŽá°á ááĽáŤáľ ááá¨. ááá áĽáá ááá á˝áá á ááłá¨á.
á ááľ á°á á¨áááá¨á ááá ááá ááᣠᨠSysctl á áľá°áá áá ááá ááá á áá°áááᢠá¨áá¨á áá ááŹáąá ááá¨áłáľ áĽá á°á¨á᪠áĽááááá˝á áááá°á á˝áá á ááááŽá˝á á¨áááá áľ ááááľ áááá áĽáť áá áᢠá¨ááááá ááŁáŞ á ááĽááľ á á á áááł á°áááˇááĄ-
netstat -s | grep "packet reassembles failedâ
áĽáá˛áá á snmpd á OID=1.3.6.1.2.1.4.31.1.1.16.1 (OID) áľá ááááá˘).
"á á áá áłáá áá°áŁá°áĽ áľáá°-ááá (á ááááá ááááŤáľ: ááá á ááá áłá, áľá á°áśá˝, ááá°.) á¨á°áá ááľááśá˝ áĽááľ."
á˝áአá¨á°á ááŁá¸á á¨á ááááŽá˝ áĄáľá ááŤá¨áᣠá áááľ áá áá ááŁáŞ á ááĽááľ á¨ááŻáᢠá¨áá á ááŁáŞ á°ááááááľ á á፠á áááá áá áŤááľ á¨á¤á˝á˛á˛á áľá á°áśá˝ á°ááááááľ áá ááááá á ááľ áááááľ á áłááˇáᢠáááľá ááŁáŞá ááĽáĽá áá°á¨áá áľ áá˝áá.
á¨á˝ááŽá˝ á áľá°ááá á áááŤá˝ ááአSysctl áá° áá ááááľ áá¨áłá áĽáá°áá á áľááá áááá°á á áŁá á áľááá áá ááááŤáąá áŤááá áłáŞá áá
á¨áá°áá áŞáŤá áá˛áŤáá áá¨áłáľ áĽáá°áááťá áĽáááááᢠáá
á áááŤá˝ á°á áááá˝ á¨ááááłá¸á á ááľ á áááľ ááľáĽ áŤá áááá á¨á˝áá á áŤáŁá˘áá˝á áĽááľááá áŤáľá˝áááá˘
Sysctl áá° áá á¨á°ááá á á áá á¨ááľáľá áľá
á°áśáš áááááŁáľááá
á¨á˝ááŽáš áááľá¤ á°á¨ááá§ááŁáĽáá˛áá á¨áááś ááá¨áĄ áá¨áłáá˘
á á˛áľ ááľáľá á á°ááá¨á áľ á ááá˝ á ááááŽá˝ áá á¨áá¨áá፠á áá áśá˝á áá° áá áááľá áĽá á¨áá áŚáł áá°á á˛á á¨ááŁáŞá á¨á áá á°á¨á᪠áá á°á¨ áľááľáłá ááááá˝ ááľá áá (áá ᨠUDP áľáłá˛áľá˛ááľ áá á ᣠá¨áĽáą á¨áá áŞáłáŤ á á á ááá áłáŤ áá á¨áááłá áá) .
á áŁá á áľááá áĽáŤááá˝
ááááľáá áĽá˝áá˝ á áĽá L3 ááá áá á¨á°á¨ááááľ? á¨á°á áááá˝ áá° ááá á°áŞáá˝ á¨áá°ááąáľ á áĽááááš áĽá˝áá˝ SYN áĽá ACK áá¸áᢠá¨áĽááá ááŹáá˝ áá áá˝ áľáá˝ áá¸á. ááá áá á¨áĽááá áĽá˝áá˝ áľááť á áŁá áľáá áľááá á¨áááŁááťá¸á á ááťá áááŤá¨áĽ á¨ááአáľááá ááŹáśá˝ áááŤá¸áá á ááľá°áááá.
ááááŤáą á¨á°á°á ᨠá¨áá á áľááŞááľ áá áᢠá¨ááá á áááá˝ áŁáá¸á á ááááŽá˝ áá (á ááŤá áá á áááľ ááľáĽ áá፠á¨á°á°á¨ááŁá¸á áľáŤáá áŤáá¸á á áŁá áĽááľ á ááááŽá˝ áá áŠ)ᢠAdvmss á á á áŁáŤá˝á áŤááľ áĽá˝áá˝ áá áá¸á áŤááą ááá á ááŁá¸á á¨áááá áá¨á áá°áá áá áĽááľááľá°ááá áŤáľá˝ááá áľááá á á¨ááżááŞáŤ áŤáľááá˝á á¨ááą áá áŤáŤáŤáá á áá áááŤá¨áĽ á¨ááŁá¸ááá˘
ááá Sysctl áááś áá˝á¨áá¨á á áá¨áłáᣠáá áłáá ááľááłáą á¨áł? Rolling back Sysctl áĽá
áá˝á áááááľ áŤááá á¨áá
á°á¨ áľááľáł áá á áááŻáᢠá á°ááłáłá ááᣠááááľáŤážá˝ á¨ááľáłááľ á˝ááł ááĽááą á¨áááááśá˝ ááááá áĽáá˛áá á ááááŤáľ áááᣠáá
á áááĽáŤáŽá˝ á á°áá ááľáĽ áá¨á
á áá áĽáá˛ááአá áľáááᢠáŤá áááľ áá°áą á áá°áľ ááľáĽ áá á.
áłáá ááľááłáą áá
á°á¨ áľááľáłáá á á˝áľáˇá áĽá ááá ááá áá° áľááá á°ááá°.
áŤá Workaround ááľá¨á ááťá áá á? á á, ááá áá áĽááľ á áá°ááľá áľ áá á°á áááá˝á áŤá á áááááľ á¨áá°á á¨áá°á á á°á á á. á áĽááἠá¨áááá ááá á á ááá áá°á áááá˝ á¨á ááą á áááááľ ááááá á¨áᎠá¨á°ááŤáŠ á˝ááŽá˝á á áľá¨áľáááŁááá áá áľáááśáš áľáááá áá¸á áĽáá áĽáááááá˘
á ááľáŹ á˛ááá (á) á áá°áááá) ááááŤáá áááŤááľ áĽááłáł áĽáá˛áá á ááᲠááŹáá () - ááłááłáá á¨áááá áĽáŤ Centos áĽá á¨á°áá¨á áŽáŽá˝á˘ á áá
áááłáŁ áá°áą áĽá áá áĽáá°áá áááá áá á¨á áľáŁ á áá
á ááááŤáľ áĽá ááŤáľá áááľáłáá˘
ááá: hab.com
