เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เบชเบฐเบšเบฒเบเบ”เบตเบ—เบธเบเบ„เบปเบ™! เบ‚เป‰เบญเบเบŠเบทเปˆ Dmitry Samsonov, เบ‚เป‰เบญเบเป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบฅเบฐเบšเบปเบšเบŠเบฑเป‰เบ™เบ™เปเบฒเบขเบนเปˆ Odnoklassniki. เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 7 เบžเบฑเบ™เป€เบŠเบตเบšเป€เบงเบต, 11 เบžเบฑเบ™เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบขเบนเปˆเปƒเบ™เป€เบกเบ„เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ เปเบฅเบฐ 200 เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เป€เบŠเบดเปˆเบ‡เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เปˆเบฒเบ‡เป†เบ›เบฐเบเบญเบšเป€เบ›เบฑเบ™ 700 เบเบธเปˆเบกเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เป€เบŠเบตเบšเป€เบงเบตเบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบฅเปˆเบ™ CentOS 7.
เปƒเบ™เบงเบฑเบ™เบ—เบต 14 เบชเบดเบ‡เบซเบฒ 2018, เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ FragmentSmack เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆ
(CVE-2018-5391) เปเบฅเบฐ SegmentSmack (CVE-2018-5390). เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบกเบต vector attack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ เปเบฅเบฐเบ„เบฐเปเบ™เบ™เบชเบนเบ‡เบžเปเบชเบปเบกเบ„เบงเบ™ (7.5), เป€เบŠเบดเปˆเบ‡เป„เบžเบ‚เบปเปˆเบกเบ‚เบนเปˆเบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (DoS) เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เปเบปเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ (CPU). เบเบฒเบ™เปเบเป‰เป„เบ‚ kernel เบชเปเบฒเบฅเบฑเบš FragmentSmack เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™, เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบฑเบ™เป„เบ”เป‰เบญเบญเบเบกเบฒเบซเบผเบฒเบเบเบงเปˆเบฒเบเบฒเบ™เป€เบœเบตเบเปเบœเปˆเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญ. เป€เบžเบทเปˆเบญเบฅเบปเบšเบฅเป‰เบฒเบ‡ SegmentSmack, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ›เบฑเบšเบ›เบธเบ‡ kernel. เบŠเบธเบ”เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™เบกเบทเป‰เบ”เบฝเบงเบเบฑเบ™, เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบกเบฑเบ™.
เบšเปเปˆ, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบ•เปเปˆเบ•เป‰เบฒเบ™เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ” kernel เป€เบฅเบตเบ! เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบกเบต nuances ...

เบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡ kernel เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เปเบ™เบงเปƒเบ”

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบชเบฑเบšเบชเบปเบ™:

  1. เบ”เบฒเบงเป‚เบซเบฅเบ”เปเบžเบฑเบเป€เบเบ”;
  2. เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบงเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡ (เบฅเบงเบกเบ—เบฑเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเป‚เบฎเบ”เป€เบกเบ„เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ);
  3. เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เปเบ•เบ;
  4. เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ kernel เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”;
  5. เบฅเปเบ–เป‰เบฒเบชเบญเบ‡เบชเบฒเบกเบกเบทเป‰;
  6. เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ;
  7. เบชเบฐเบซเบผเบฑเบšเบเบฒเบ™เบ™เบณเปƒเบŠเป‰เป€เบŠเบตเบšเป€เบงเบตเปƒเปเปˆเป„เบ›เบซเบฒ kernel เปƒเปเปˆ;
  8. เบ›เบฑเบšเบ›เบธเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™ (เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒ);
  9. เบฃเบตเบšเบนเบ”เป€เบŠเบตเบšเป€เบงเบตเบ—เบฑเบ‡เปเบปเบ”.

เป€เบฎเบฑเบ”เป€เบฅเบทเป‰เบกเบ„เบทเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบชเบฒเบ‚เบฒเบ‚เบญเบ‡เปเบเปˆเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบต. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เปเบกเปˆเบ™:

  • Stock CentOS 7 3.10 - เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ›เบปเบเบเบฐเบ•เบดเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”;
  • Vanilla 4.19 - เบชเปเบฒเบฅเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ one-cloud clouds, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ BFQ, BBR, เปเบฅเบฐเบญเบทเปˆเบ™เป†;
  • Elrepo kernel-ml 5.2 - เบชเปเบฒเบฅเบฑเบš เบœเบนเป‰เบˆเบฑเบ”เบˆเปเบฒเบซเบ™เปˆเบฒเบ loaded เบชเบนเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ 4.19 เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบšเปเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เปเบ•เปˆเบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบ„เบฒเบ”เป€เบ”เบปเบฒเป„เบ”เป‰, เบเบฒเบ™เบ›เบดเบ”เป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเบซเบผเบฒเบเบžเบฑเบ™เปœเปˆเบงเบเบ„เบทเบ™เปƒเปเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เบ—เบตเปˆเบชเบธเบ”. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเปเปˆเปเบกเปˆเบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบชเบณเบ„เบฑเบ™เบชเบณเบฅเบฑเบšเบ—เบธเบเป€เบŠเบตเบšเป€เบงเบต, เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบ›เบดเบ”เป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เป‚เบ”เบเบเบปเบ‡เบˆเบฒเบเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”. เบขเบนเปˆเปƒเบ™เบ„เบฅเบฒเบง, เป€เบžเบทเปˆเบญเบšเปเปˆเบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบฒเบเบ™เบญเบเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ”เป‰เบงเบเปเบเปˆเบ™เปƒเบซเบกเปˆ, เปเบ•เปˆ reboot hosts เบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™. เป‚เบŠเบเบ”เบต, เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบเบงเปˆเบฒเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ›เบปเบเบเบฐเบ•เบด. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ—เบตเปˆเบšเปเปˆเบกเบตเบฅเบฑเบ”เบชเบฒเบกเบฒเบ”เบเป‰เบฒเบเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบญเบทเปˆเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบดเบ”เป€เบ›เบตเบ”เปƒเปเปˆ.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฑเบ‡เบกเบตเบงเบฝเบเบซเบผเบฒเบ, เปเบฅเบฐเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบญเบฒเบ—เบดเบ”, เปเบฅเบฐเบ–เป‰เบฒเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ”เป†เบเบฑเบšเบฎเบธเปˆเบ™เปƒเบซเบกเปˆ, เบชเบนเบ‡เป€เบ–เบดเบ‡เบซเบผเบฒเบเป€เบ”เบทเบญเบ™. เบœเบนเป‰เป‚เบˆเบกเบ•เบตเป€เบ‚เบปเป‰เบฒเปƒเบˆเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบ”เบต, เบชเบฐเบ™เบฑเป‰เบ™เบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบœเบ™เบเบฒเบ™ B.

FragmentSmack/SegmentSmack. เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒ

เป‚เบŠเบเบ”เบต, เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป€เบŠเบฑเปˆเบ™เปเบœเบ™ B เบกเบตเบขเบนเปˆ, เปเบฅเบฐเบกเบฑเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ Workaround. เบชเปˆเบงเบ™เบซเบผเบฒเบเปเบฅเป‰เบง, เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ kernel/application เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ เบซเบผเบทเบฅเบปเบšเบฅเป‰เบฒเบ‡เบเบฒเบ™เบ‚เบนเบ”เบฎเบตเบ”เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบฑเบ‡เปเบปเบ”.

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ 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) เป€เบ›เบฑเบ™ 256 k. เบ•เปˆเปเบฒเบเบงเปˆเบฒ. เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบเบฒเบ™โ€‹เบซเบผเบธเบ”โ€‹เบฅเบปเบ‡โ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ™เป‰เบญเบโ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ CPU เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบˆเบกโ€‹เบ•เบตโ€‹เบ‚เบถเป‰เบ™โ€‹เบเบฑเบšโ€‹เบฎเบฒเบ”โ€‹เปเบงโ€‹, เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹, เปเบฅเบฐโ€‹เป€เบ‡เบทเปˆเบญเบ™โ€‹เป„เบ‚โ€‹. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบญเบฒเบ”เบˆเบฐเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ”เป‰เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ ipfrag_high_thresh=192 bytes, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบชเบญเบ‡เบŠเบดเป‰เบ™ 262144K เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบเบฑเบšเปเบ–เบงเบเบฒเบ™เบ›เบฐเบเบญเบšเบ„เบทเบ™เปƒเบซเบกเปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบง. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ—เบตเปˆเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ” UDP เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบˆเบฐเปเบ•เบ".

เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡ เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ kernel เบญเบฐโ€‹เบ—เบดโ€‹เบšเบฒเบโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

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.

เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบต UDPs เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบšเปเปˆเบกเบตเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปเบเบเบขเบนเปˆเปƒเบ™ LAN; เบกเบตเบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เบ—เบตเปˆเปเบ•เบเปเบเบเบขเบนเปˆเปƒเบ™ WAN, เปเบ•เปˆเบšเปเปˆเบชเปเบฒเบ„เบฑเบ™. เบšเปเปˆโ€‹เบกเบตโ€‹เบชเบฑเบ™โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เบกเบต - เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบกเป‰เบงเบ™โ€‹เบญเบญเบ Workaround เป„เบ”เป‰โ€‹!

FragmentSmack/SegmentSmack. เป€เบฅเบทเบญเบ”เบ—เปเบฒเบญเบดเบ”

เบšเบฑเบ™เบซเบฒเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเปเบกเปˆเบ™เบงเปˆเบฒ cloud containers เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบซเบกเปˆเบžเบฝเบ‡เปเบ•เปˆเบšเบฒเบ‡เบชเปˆเบงเบ™ (เบžเบฝเบ‡เปเบ•เปˆ ipfrag_low_thresh), เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบšเปเปˆเป„เบ”เป‰เบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” - เบžเบงเบเป€เบ‚เบปเบฒเบžเบฝเบ‡เปเบ•เปˆ crashed เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบšเบฑเบ™เบซเบฒเบ„เบทเบ™เปƒเปเปˆเป„เบ”เป‰เบขเปˆเบฒเบ‡เปเบฑเป‰เบ™เบ„เบปเบ‡ (เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเบ™เบณเปƒเบŠเป‰เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเปƒเบ”เป†). เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต crash เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเปเปˆเบšเปเปˆเปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‡เปˆเบฒเบ: เบšเปเปˆเบžเบปเบšเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”. เบชเบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เปเบ™เปˆเบ™เบญเบ™: เบเบฒเบ™เบกเป‰เบงเบ™เบ„เบทเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบทเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบšเปเปˆเบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ Sysctl เปƒเบ™เป‚เบฎเบ”? เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบญเบฒเปƒเบชเบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Namespace เบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Sysctl เปƒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเป€เบˆเบปเป‰เบฒเบžเบฒเบš.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Sysctl เบ–เบทเบเบ™เบณเปƒเบŠเป‰เปƒเบ™เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเปเบ™เบงเปƒเบ”? เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”, เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Sysctl เปƒเบ”เป†เป‚เบ”เบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ™เบฑเป‰เบ™เป€เบญเบ‡ - เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบšเปเปˆเบกเบตเบชเบดเบ”เบžเบฝเบ‡เบžเป. เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ containers, cloud เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™เป„เบ”เป‰เปƒเบŠเป‰ Docker (เบ•เบญเบ™เบ™เบตเป‰ podman). เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธเปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบš Docker เบœเปˆเบฒเบ™ API, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Sysctl เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™.
เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ„เบปเป‰เบ™เบซเบฒเบœเปˆเบฒเบ™เบฎเบธเปˆเบ™, เบกเบฑเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบงเปˆเบฒ Docker API เบšเปเปˆเป„เบ”เป‰เบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ” (เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเปƒเบ™เบฎเบธเปˆเบ™ 1.10). เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบœเปˆเบฒเบ™ "เบเบฒเบ™เปเบฅเปˆเบ™ docker", เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบซเบฑเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ:

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.

เบ„เปˆเบฒเบžเบฒเบฃเบฒเบกเบดเป€เบ•เบตเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡. เปเบ•เปˆเป€เบ›เบฑเบ™เบซเบเบฑเบ‡? เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบžเบฝเบ‡เปเบ•เปˆเบšเบฒเบ‡เบ„เบฑเป‰เบ‡? เบกเบฑเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบงเปˆเบฒ Docker เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต Sysctl เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰ (เบฎเบธเปˆเบ™เบ—เบตเปˆเบ—เบปเบ”เบชเบญเบšเบซเบผเป‰เบฒเบชเบธเบ”เปเบกเปˆเบ™ 1.13.1), เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเบฒเบ‡เบ„เบฑเป‰เบ‡ ipfrag_high_thresh เบžเบฐเบเบฒเบเบฒเบกเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ 256K เป€เบกเบทเปˆเบญ ipfrag_low_thresh เบเบฑเบ‡เป€เบ›เบฑเบ™ 3M, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เป€เบ—เบดเบ‡เปเบกเปˆเบ™เบ•เปˆเปเบฒ. เป€เบเบตเบ™เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ•เปˆเปเบฒ, เป€เบŠเบดเปˆเบ‡เบ™เปเบฒเป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”.

เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ™เบฑเป‰เบ™โ€‹, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบเบปเบ™โ€‹เป„เบโ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เป€เบญเบ‡โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™ reconfigure container เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™ (freezing the container เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹ freezer เบเบธเปˆเบก เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ namespace เบ‚เบญเบ‡ container เบœเปˆเบฒเบ™ ip netns), เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบ‚เบฝเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ Sysctl เปƒเบ™เบชเปˆเบงเบ™เบ™เบตเป‰. เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚.

FragmentSmack/SegmentSmack. เป€เบฅเบทเบญเบ”เบ—เบณเบญเบดเบ” 2

เบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบกเบตเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Workaround เปƒเบ™เป€เบกเบ„, เบ„เปเบฒเบฎเป‰เบญเบ‡เบ—เบธเบเบ—เบตเปˆเบซเบฒเบเบฒเบเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบกเบฒเบฎเบญเบ”. เปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™, เบซเบผเบฒเบเบญเบฒเบ—เบดเบ”เป„เบ”เป‰เบœเปˆเบฒเบ™เป„เบ›เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Workaround เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เปเบฒเบญเบดเบ”. เบเบฒเบ™เบชเบทเบšเบชเบงเบ™เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ—เบธเบเป„เบ”เป‰เบ–เบทเบเบฎเบฑเบšเบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบšเปเปˆเปเบ™เปˆเบ™เบญเบ™เบ—เบตเปˆเบชเบธเบ”เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เปเบ™เปˆเบ™เบญเบ™, เบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเบกเป‰เบงเบ™เบ„เบทเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Sysctl, เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเบกเบตเบœเบปเบ™เบซเบเบฑเบ‡เป€เบฅเบตเบ. เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ•เปˆเบฒเบ‡เป†เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบŠเปˆเบงเบเบ—เบฑเบ‡เบชเบญเบ‡. Reboot เบŠเปˆเบงเบเป„เบ”เป‰. Rebooting Linux เปเบกเปˆเบ™เบœเบดเบ”เบ—เปเบฒเบกเบฐเบŠเบฒเบ”เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบš Windows เปƒเบ™เบชเบฐเป„เบซเบกเบเปˆเบญเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบกเบฑเบ™เป„เบ”เป‰เบŠเปˆเบงเบ, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ‚เบฝเบ™เบกเบฑเบ™เป€เบ–เบดเบ‡ "เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เปเบเปˆเบ™" เป€เบกเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบซเบกเปˆเปƒเบ™ Sysctl. เบกเบฑเบ™ frovolous เปเบ™เบงเปƒเบ” ...

เบชเบฒเบกเบญเบฒเบ—เบดเบ”เบ•เปเปˆเบกเบฒ เบšเบฑเบ™เบซเบฒเบเปเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบญเบตเบ. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ: Nginx เบขเบนเปˆเปƒเบ™เป‚เปเบ”เบžเบฃเบฑเบญเบเบŠเบต/เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡. เบšเปเปˆเบกเบตเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบซเบผเบฒเบ. เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเบกเปˆ: เบˆเปเบฒเบ™เบงเบ™ 504 เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเปเบกเปˆเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ—เบธเบเป†เบกเบทเป‰ (เปเบปเบ”เป€เบงเบฅเบฒเบ›เบฐเบ•เบน). เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบชเบฐเปเบ”เบ‡เบˆเปเบฒเบ™เบงเบ™ 504 เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ•เปเปˆเบกเบทเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰:

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบš backend เบ”เบฝเบงเบเบฑเบ™ - เบเปˆเบฝเบงเบเบฑเบšเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เป€เบกเบ„. เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบชเปเบฒเบฅเบฑเบšเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบขเบนเปˆเปƒเบ™ backend เบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ:

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เบ™เบตเป‰เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเปƒเบ™เบเบฒเบŸเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เปƒเบ™เบ„เบฅเบฒเบง, เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบšเบฑเบ™เบซเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบญเบทเปˆเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ QoS (Traffic Control) เบ–เบทเบเปเบเป‰เป„เบ‚. เปƒเบ™เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบชเปเบฒเบฅเบฑเบšเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เปเบžเบฑเบเป€เบเบฑเบ”, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ„เบทเบเบฑเบ™:

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ: เบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบšเบดเปˆเบ‡เบ„เบทเบเบฑเบ™เปƒเบ™เบเบฒเบŸ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเป€เบซเบ”เบœเบปเบ™เบ”เบฝเบงเบเบฑเบ™. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบšเบฑเบ™เบซเบฒเปƒเบ”เป†เบเบฑเบšเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบซเบฒเบเบฒเบเบ—เบตเปˆเบชเบธเบ”.

เป‚เบ”เบเป€เบ™เบทเป‰เบญเปเบ—เป‰เปเบฅเป‰เบงเบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เบปเบ‡เบ„เป‰เบฒเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปƒเบŠเป‰เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบŠเบธเบ” 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

โ€œ464545 flows_plimitโ€ เปเบกเปˆเบ™เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเป€เบเบตเบ™เบ‚เบตเบ”เบˆเปเบฒเบเบฑเบ”เปเบ–เบงเบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเบ™เบถเปˆเบ‡, เปเบฅเบฐ โ€œเบซเบผเบธเบ”เบฅเบปเบ‡ 464545โ€ เปเบกเปˆเบ™เบœเบปเบ™เบฅเบงเบกเบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบซเบผเบธเบ”เบฅเบปเบ‡เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบ™เบตเป‰. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เป€เบžเบตเปˆเบกโ€‹เบ„เบงเบฒเบกโ€‹เบเบฒเบงโ€‹เบ‚เบญเบ‡โ€‹เบ„เบดเบงโ€‹เป€เบ›เบฑเบ™ 1 เบžเบฑเบ™โ€‹เปเบฅเบฐ restart เบ•เบนเป‰โ€‹เบ„เบญเบ™โ€‹เป€เบ—เบ™โ€‹เป€เบ™เบตโ€‹, เบšเบฑเบ™โ€‹เบซเบฒโ€‹เป„เบ”เป‰โ€‹เบขเบธเบ”โ€‹เป€เบŠเบปเบฒโ€‹เบเบฒเบ™โ€‹เป€เบเบตเบ”โ€‹เบ‚เบถเป‰เบ™โ€‹. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เบฑเปˆเบ‡เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เปเบฅเบฐเบ”เบทเปˆเบก smoothie เป„เบ”เป‰.

FragmentSmack/SegmentSmack. เป€เบฅเบทเบญเบ”เบชเบธเบ”เบ—เป‰เบฒเบ

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เบซเบผเบฒเบเป€เบ”เบทเบญเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบเบฒเบ”เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเปƒเบ™ kernel, เบเบฒเบ™เปเบเป‰เป„เบ‚ FragmentSmack เบชเบธเบ”เบ—เป‰เบฒเบเป„เบ”เป‰เบ›เบฒเบเบปเบ” (เบ‚เป‰เบญเบเบ‚เปเป€เบ•เบทเบญเบ™เบ—เปˆเบฒเบ™เบงเปˆเบฒเบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบ›เบฐเบเบฒเบ”เปƒเบ™เป€เบ”เบทเบญเบ™เบชเบดเบ‡เบซเบฒ, เบเบฒเบ™เปเบเป‰เป„เบ‚เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบš SegmentSmack เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ), เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบกเบตเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ–เบดเป‰เบก Workaround, เบŠเบถเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบšเบฑเบ™เบซเบฒเบซเบผเบฒเบ. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบงเบฅเบฒเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป‚เบญเบ™เบšเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ›เบซเบฒ kernel เปƒเบซเบกเปˆเปเบฅเป‰เบง, เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡ kernel เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบฅเปเบ–เป‰เบฒเบเบฒเบ™เปเบเป‰เป„เบ‚ FragmentSmack? เบ„เบงเบฒเบกเบˆเบดเบ‡เปเบฅเป‰เบงเปเบกเปˆเบ™เบงเปˆเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบเบปเบ‡เบเบฑเบ™ (เปเบฅเบฐเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™) เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ CentOS เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡ (เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบเบงเปˆเบฒเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบžเบฝเบ‡เปเบ•เปˆเปเบเปˆเบ™). เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, SegmentSmack เปเบกเปˆเบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบเบงเปˆเบฒ, เปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™เบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™เบ—เบฑเบ™เบ—เบต, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบญเบฑเบšเป€เบ”เบ” kernel เป€เบ—เบดเบ‡ CentOS เป„เบ”เป‰เบ‡เปˆเบฒเบเป† เป€เบžเบฒเบฐเบงเปˆเบฒเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ FragmentSmack, เบ—เบตเปˆเบ›เบฒเบเบปเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ CentOS 7.5, เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบงเบตเบŠเบฑเบ™ 7.6, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบถเปˆเบ‡เบ•เป‰เบญเบ‡เบขเบธเบ”เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เป€เบ›เบฑเบ™ 7.5 เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบญเบตเบเบ„เบฑเป‰เบ‡เบ”เป‰เบงเบเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เป€เบ›เบฑเบ™ 7.6. เปเบฅเบฐเบ™เบตเป‰เบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™.

เบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบ„เปเบฒเบฎเป‰เบญเบ‡เบ—เบธเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบซเบฒเบเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เบกเบฒเบซเบฒเบžเบงเบเป€เบฎเบปเบฒ. เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เปเบฅเป‰เบงเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบญเบฑเบšเป‚เบซเบฅเบ”เป„เบŸเบฅเปŒเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบšเบฒเบ‡เบญเบฑเบ™. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบญเบฑเบšเป‚เบซเบฅเบ”เบˆเปเบฒเบ™เบงเบ™เบ™เป‰เบญเบเบซเบผเบฒเบเบˆเบฒเบเบกเบฐเบซเบฒเบŠเบปเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบœเปˆเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบทเปˆเป„เบ”เป‰เบˆเบฒเบเป€เบฅเบทเปˆเบญเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, rolling back Sysctl เบšเปเปˆเป„เบ”เป‰เบŠเปˆเบงเบ. Reboot เบŠเปˆเบงเบ, เปเบ•เปˆเป€เบ›เบฑเบ™เบเบฒเบ™เบŠเบปเปˆเบงเบ„เบฒเบง.
เบ„เบงเบฒเบกเบชเบปเบ‡เปƒเบชเบเปˆเบฝเบงเบเบฑเบš Sysctl เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป‚เบเบเบเป‰เบฒเบ, เปเบ•เปˆเป€เบงเบฅเบฒเบ™เบตเป‰เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰เบเบฑเบ‡เบกเบตเบเบฒเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบญเบฑเบšเป‚เบซเบฅเบ”เบ„เบทเบ™เปƒเบซเบกเปˆเปƒเบ™เบฅเบนเบเบ„เป‰เบฒเป€เบžเบทเปˆเบญเบชเบถเบเบชเบฒเบขเปˆเบฒเบ‡เปเบ™เปˆเบ™เบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™.

เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบดเบ•เบดเปเบฅเบฐเบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบกเบตเบเบฒเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบœเปˆเบžเบฑเบ™เบขเปˆเบฒเบ‡เบฎเป‰เบฒเบเปเบฎเบ‡เป€เบžเบทเปˆเบญ "เบฎเบนเป‰เบชเบถเบ" เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบฐเป€เบžเบฒเบฐ. เบชเบธเบ”เบ—เป‰เบฒเบ, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฐเบšเบฑเบšเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบเบฒเบ™เปเบœเปˆเบžเบฑเบ™เบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบœเปˆเบฒเบ™ Wi-Fi. เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบ„เบงเบฒเบกโ€‹เปเบ•เบโ€‹เปเบเบโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเบทเบšโ€‹เบชเบงเบ™. เบฅเบนเบเบ„เป‰เบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Nginx, เป€เบŠเบดเปˆเบ‡ proxyed เบเบฑเบš backend, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Java เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เป€เบ›เบฑเบ™เปเบšเบšเบ™เบตเป‰ (เปเบเป‰เป„เบ‚เปƒเบ™เบ”เป‰เบฒเบ™ Nginx proxy):

  1. เบฅเบนเบเบ„เป‰เบฒ: เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เป„เบŸเบฅเปŒ.
  2. Java server: เบ•เบญเบšเบชเบฐเปœเบญเบ‡.
  3. เบฅเบนเบเบ„เป‰เบฒ: เป‚เบžเบชเบ”เป‰เบงเบเป„เบŸเบฅเปŒ.
  4. เป€เบŠเบตเบšเป€เบงเบต Java: เบœเบดเบ”เบžเบฒเบ”.

เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡ Java เบ‚เบฝเบ™เปƒเบชเปˆเบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆ 0 bytes เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ, เปเบฅเบฐ Nginx proxy เบ‚เบฝเบ™เบงเปˆเบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบเบงเปˆเบฒ 30 เบงเบดเบ™เบฒเบ—เบต (30 เบงเบดเบ™เบฒเบ—เบตเปเบกเปˆเบ™เป€เบงเบฅเบฒเบซเบกเบปเบ”เป€เบงเบฅเบฒเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบฅเบนเบเบ„เป‰เบฒ). เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เปเบปเบ”เป€เบงเบฅเบฒ เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡ 0 bytes? เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐ HTTP, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐ, เปเบ•เปˆ POST เบเบฑเบšเป„เบŸเบฅเปŒเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบˆเบฐเบซเบฒเบเป„เบ›เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบซเบฒเบเป„เบ›เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐ Nginx. เบกเบฑเบ™เป€เบ–เบดเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ›เบฐเบเบญเบšเบญเบฒเบงเบธเบ”เบ•เบปเบงเป€เบญเบ‡เบเบฑเบš Tcpdump! เปเบ•เปˆเบ—เปเบฒเบญเบดเบ”เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ. Nginx proxy เปเบกเปˆเบ™เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡ L3 balancer NFware. Tunneling เปเบกเปˆเบ™เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบˆเบฒเบ L3 balancer เป„เบ›เบซเบฒเป€เบŠเบตเบšเป€เบงเบต, เป€เบŠเบดเปˆเบ‡เป€เบžเบตเปˆเบกเบชเปˆเบงเบ™เบซเบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เปƒเบชเปˆเปเบžเบฑเบเป€เบเบฑเบ”:

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบกเบฒเบฎเบญเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ™เบตเป‰เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™ Vlan-tagged, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เป€เบžเบตเปˆเบกเบ—เบปเปˆเบ‡เบ™เบฒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปƒเบชเปˆเปเบžเบฑเบเป€เบเบฑเบ”:

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เปเบฅเบฐเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ™เบตเป‰เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปเบšเปˆเบ‡เบญเบญเบเป„เบ”เป‰ (เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ™เป‰เบญเบเป†เบ”เบฝเบงเบเบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเปเบ•เบเปเบเบเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบˆเบฒเบ Workaround), เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰:

เบฅเบฐเบงเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบžเบฒเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบฎเบญเบš. เบชเปˆเบงเบ™เบ—เบต 1: FragmentSmack/SegmentSmack

เบญเบตเบเป€เบ—เบทเปˆเบญ เปœเบถเปˆเบ‡: เปเบžเบฑเบเป€เบเบฑเบ”เบ–เบทเบเบซเบธเป‰เบกเบ”เป‰เบงเบเบ›เป‰เบฒเบ Vlan, เบซเบธเป‰เบกเบ”เป‰เบงเบเบญเบธเป‚เบกเบ‡, เปเบเบเป€เบ›เบฑเบ™เบชเปˆเบงเบ™. เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰เบ”เบตเบ‚เบถเป‰เบ™, เปƒเบซเป‰เบ•เบดเบ”เบ•เบฒเบกเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป„เบ›เบซเบฒ Nginx proxy.

  1. เปเบžเบฑเบเป€เบเบฑเบ”เป„เบ›เบฎเบญเบ”เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ L3. เบชเปเบฒเบฅเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบžเบฒเบเปƒเบ™เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™, เปเบžเบฑเบเป€เบเบฑเบ”เบ–เบทเบเบซเบธเป‰เบกเป„เบงเป‰เปƒเบ™เบญเบธเป‚เบกเบ‡เปเบฅเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ.
  2. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ packet + tunnel headers เบšเปเปˆเป€เบซเบกเบฒเบฐเบเบฑเบš MTU, packet เป„เบ”เป‰เบ–เบทเบเบ•เบฑเบ”เบญเบญเบเป€เบ›เบฑเบ™ fragments เปเบฅเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ.
  3. เบชเบฐเบซเบผเบฑเบšเบซเบผเบฑเบ‡เบˆเบฒเบ L3 balancer, เป€เบกเบทเปˆเบญเป„เบ”เป‰เบฎเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”, เป€เบžเบตเปˆเบกเปเบ—เบฑเบ Vlan เปƒเบชเปˆเบกเบฑเบ™เปเบฅเบฐเบชเบปเปˆเบ‡เบกเบฑเบ™.
  4. เบชเบฐเบซเบผเบฑเบšเบขเบนเปˆเบ—เบฒเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡ Nginx proxy เป€เบซเบฑเบ™ (เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบžเบญเบ”) เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบกเบตเบŠเบญเบ‡ Vlan-encapsulated, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบชเบปเปˆเบ‡เบกเบฑเบ™เบญเบญเบ, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ–เบญเบ™เปเบ—เบฑเบ Vlan.
  5. Linux เป€เบญเบปเบฒเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เปเบ•เปˆเบฅเบฐเบญเบฑเบ™เปเบฅเบฐเบฅเบงเบกเบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบŠเบธเบ”เปƒเบซเบเปˆเบซเบ™เบถเปˆเบ‡.
  6. เบ•เปเปˆเป„เบ›, เปเบžเบฑเบเป€เบเบฑเบ”เป„เบ›เบฎเบญเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Vlan, เบšเปˆเบญเบ™เบ—เบตเปˆเบŠเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบเบกเบฑเบ™ - Vlan encapsulation.
  7. Linux เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบปเปˆเบ‡เบกเบฑเบ™เป„เบ›เบ—เบตเปˆเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Tunnel, เบšเปˆเบญเบ™เบ—เบตเปˆเบŠเบฑเป‰เบ™เบญเบทเปˆเบ™เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบเบกเบฑเบ™ - Tunnel encapsulation .

เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบœเปˆเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ tcpdump.
เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบ•เบญเบ™เบ—เป‰เบฒเบ: เบกเบตเบŠเบธเบ” IP เบ—เบตเปˆเบชเบฐเบญเบฒเบ” (เป‚เบ”เบเบšเปเปˆเบกเบตเบชเปˆเบงเบ™เบซเบปเบงเบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™) เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ, เบกเบต vlan เปเบฅเบฐ tunnel encapsulation เป€เบญเบปเบฒเบญเบญเบ?

tcpdump host <ip ะบะปะธะตะฝั‚ะฐ>

เบšเปเปˆ, เบšเปเปˆเบกเบตเปเบžเบฑเบเป€เบเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเบฑเบ™เบซเบฒเบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบฑเป‰เบ™. เบกเบตเปเบžเบฑเบเป€เบเบฑเบ”เปƒเบ”เบ—เบตเปˆเบกเบตเบžเบฝเบ‡เปเบ•เปˆ Vlan encapsulation เป€เบญเบปเบฒเบญเบญเบเบšเป?

tcpdump ip[32:4]=0xx390x2xx

0xx390x2xx เปเบกเปˆเบ™เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบฎเบนเบšเปเบšเบš hex.
32:4 โ€” เบ—เบตเปˆโ€‹เบขเบนเปˆโ€‹เปเบฅเบฐโ€‹เบ„เบงเบฒเบกโ€‹เบเบฒเบงโ€‹เบ‚เบญเบ‡โ€‹เบžเบฒเบโ€‹เบชเบฐโ€‹เบซเบ™เบฒเบกโ€‹เบ—เบตเปˆ SCR IP เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ‚เบฝเบ™โ€‹เป„เบงเป‰โ€‹เปƒเบ™โ€‹เบŠเบญเบ‡ Tunnelโ€‹.

เบ—เบตเปˆเบขเบนเปˆเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบเป‚เบ”เบ brute force, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบžเบงเบเป€เบ‚เบปเบฒเบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบš 40, 44, 50, 54, เปเบ•เปˆเบšเปเปˆเบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เปƒเบ™ hex (เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต -xx เบซเบผเบท -XX เปƒเบ™ tcpdump) เปเบฅเบฐเบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบ—เปˆเบฒเบ™เบฎเบนเป‰เบˆเบฑเบ.

เบกเบตเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบšเปเปˆเบกเบต Vlan เปเบฅเบฐ Tunnel encapsulation เป€เบญเบปเบฒเบญเบญเบเบšเป?

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

magic เบ™เบตเป‰เบˆเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบฅเบงเบกเบ—เบฑเบ‡เบญเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบ. เบšเบฒเบ‡เบ—เบต, เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบ IP, เปเบ•เปˆเบ‚เป‰เบญเบเบšเปเปˆเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบก, เป€เบžเบฒเบฐเบงเปˆเบฒเบšเปเปˆเบกเบตเบŠเบธเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบซเบผเบฒเบ, เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบกเปˆเบ™เบžเบปเบšเป„เบ”เป‰เบ‡เปˆเบฒเบเปƒเบ™เบเบฐเปเบชเบ—เบปเปˆเบงเป„เบ›. เบ™เบตเป‰เปเบกเปˆเบ™:

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 ..............

เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบชเบญเบ‡เบŠเบดเป‰เบ™เบ‚เบญเบ‡เบŠเบธเบ”เบซเบ™เบถเปˆเบ‡ (ID เบ”เบฝเบงเบเบฑเบ™ 53652) เบ—เบตเปˆเบกเบตเบฎเบนเบšเบ–เปˆเบฒเบ (เบ„เปเบฒเบงเปˆเบฒ Exif เปเบกเปˆเบ™เป€เบซเบฑเบ™เป„เบ”เป‰เปƒเบ™เบŠเบธเบ”เบ—เปเบฒเบญเบดเบ”). เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบกเบตเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ™เบตเป‰, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบšเบฅเบงเบกเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เบ–เบดเป‰เบกเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ, เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบš. เบชเบธเบ”เบ—เป‰เบฒเบเบกเบตเป€เบญเบเบฐเบชเบฒเบ™เบซเบผเบฑเบเบ–เบฒเบ™!

เบ•เบปเบงเบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เปเบžเบฑเบเป€เบเบฑเบ”เบšเปเปˆเป„เบ”เป‰เป€เบ›เบตเบ”เป€เบœเบตเบเบšเบฑเบ™เบซเบฒเปƒเบ”เป†เบ—เบตเปˆเบˆเบฐเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡. เบžเบฐเบเบฒเบเบฒเบกเบกเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰: hpd.gasmi.net. เบ—เปเบฒเบญเบดเบ”, เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเป€เบญเบปเบฒเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบ•เบปเบงเบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เบšเปเปˆเบกเบฑเบเบฎเบนเบšเปเบšเบšเปเบžเบฑเบเป€เบเบฑเบ”. เบกเบฑเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบงเปˆเบฒเบกเบตเบšเบฒเบ‡ octets เบžเบดเป€เบชเบ”เบฅเบฐเบซเบงเปˆเบฒเบ‡ Srcmac เปเบฅเบฐ Ethertype (เบšเปเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบŠเบดเป‰เบ™เบชเปˆเบงเบ™). เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเป€เบญเบปเบฒเบžเบงเบเบกเบฑเบ™เบญเบญเบ, เบ•เบปเบงเบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบšเบฑเบ™เบซเบฒ.
เบชเบดเปˆเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบ„เบปเบ™เป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒ, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบญเบตเบเบšเปเปˆเบžเบปเบšเบ™เบญเบเบˆเบฒเบ Sysctl เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‚เบฐเบซเบ™เบฒเบ”เปเบฅเบฐเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆเป„เบ›. เป€เบ„เบปเบฒเป€เบ•เบตเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบžเบฝเบ‡เบžเป:

netstat -s | grep "packet reassembles failedโ€

เบกเบฑเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ snmpd เบžเบฒเบเปƒเบ•เป‰ OID=1.3.6.1.2.1.4.31.1.1.16.1 (ipSystemStatsReasmFails).

"เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเบ—เบตเปˆเบเบงเบ”เบžเบปเบšเป‚เบ”เบ IP เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเปƒเบซเบกเปˆ (เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก: เปเบปเบ” เป€เบงเบฅเบฒ, เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†).

เปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบธเปˆเบกเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเบชเบถเบเบชเบฒ, เปƒเบ™เบชเบญเบ‡เบ•เบปเบงเบ•เป‰เบฒเบ™เบเบฒเบ™เบ™เบตเป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป„เบง, เบชเบญเบ‡เบŠเป‰เบฒเบซเบผเบฒเบ, เปเบฅเบฐเบญเบตเบเบชเบญเบ‡เบญเบฑเบ™เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบฅเบตเบ. เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ™เบฐเป‚เบเบšเบฒเบเบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบ•เป‰เบฒเบ™เบเบฒเบ™เบ™เบตเป‰เบเบฑเบšเบ™เบฐเป‚เบเบšเบฒเบเบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” HTTP เปƒเบ™เป€เบŠเบตเบŸเป€เบงเบต Java เป„เบ”เป‰เป€เบ›เบตเบ”เป€เบœเบตเบเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เป€เบ„เบทเปˆเบญเบ‡เบงเบฑเบ”เปเบ—เบเบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเป„เบ”เป‰.

เบเบฒเบ™เบกเบตเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบงเปˆเบฒเบเบฒเบ™เบเบฑเบšเบ„เบทเบ™ Sysctl เบˆเบฐเบŠเปˆเบงเบเป„เบ”เป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเบˆเบฒเบเป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบ—เบฑเบ™เบ—เบตเบˆเบฒเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบšเบฑเบ™เบซเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเปˆเบญเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเบ„เบปเป‰เบ™เบžเบปเบšเบกเบฑเบ™.
เบซเบผเบฑเบ‡เบˆเบฒเบ rolling เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™ Sysctl, เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบขเบธเบ”เป€เบŠเบปเบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเบฒเป€เบซเบ”เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเบžเบดเบชเบนเบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ rollback เบŠเปˆเบงเบ.

เบžเบงเบเป€เบฎเบปเบฒเบกเป‰เบงเบ™เบ„เบทเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบญเบทเปˆเบ™, เบšเปˆเบญเบ™เบ—เบตเปˆเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเปƒเบซเบกเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒ, เปเบฅเบฐเบšเบฒเบ‡เบšเปˆเบญเบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบชเปเบฒเบฅเบฑเบš fragments เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบ”เบตเบก (เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบดเบ•เบด UDP, เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบšเบฒเบ‡เบชเปˆเบงเบ™เบ—เบตเปˆเบšเปเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบเบฑเบšเบžเบทเป‰เบ™เบซเบฅเบฑเบ‡เบ—เบปเปˆเบงเป„เบ›) .

เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบˆเบถเปˆเบ‡เบ–เบทเบเปเบเบเบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ L3 เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ? เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบกเบฒเบฎเบญเบ”เบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เป„เบ›เบซเบฒเบœเบนเป‰เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เปเบกเปˆเบ™ SYN เปเบฅเบฐ ACK. เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบŠเบธเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ. เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบชเปˆเบงเบ™เปเบšเปˆเบ‡เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบ, เบ•เปเปˆเบเบฑเบšเบžเบทเป‰เบ™เบซเบฅเบฑเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบเบฒเบ™เบกเบตเบŠเบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ—เบตเปˆเป€เบฅเบตเปˆเบกเปเบ•เบเบซเบฑเบ.

เป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™เบชเบฐเบ„เบฃเบดเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเปเบ•เบเบซเบฑเบ advmss เปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Vlan (เบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™ tagged เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™). Advmss เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ–เปˆเบฒเบเบ—เบญเบ”เบ‚เปเป‰เบกเบนเบ™เปƒเบซเป‰เปเบเปˆเบฅเบนเบเบ„เป‰เบฒเบงเปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ”เปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ„เบงเบ™เบˆเบฐเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒเป€เบžเบทเปˆเบญเบงเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบดเบ”เบซเบปเบงเบญเบธเป‚เบกเบ‡เบเบฑเบšเบžเบงเบเบกเบฑเบ™เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเปเบเบ.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡ Sysctl rollback เบšเปเปˆเบŠเปˆเบงเบ, เปเบ•เปˆ reboot เป„เบ”เป‰? Rolling back Sysctl เป„เบ”เป‰เบ›เปˆเบฝเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบกเปเบžเบฑเบเป€เบเบฑเบ”. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™เบงเปˆเบฒเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ overflow เบชเปเบฒเบฅเบฑเบš fragments เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰ fragments เบ–เบทเบเบŠเบฑเบเบŠเป‰เบฒเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™เปƒเบ™เปเบ–เบง. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบญเบšเบงเบฝเบ™.
reboot เป„เบ”เป‰เบฅเบถเบšเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡.

เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚? เปเบกเปˆเบ™เปเบฅเป‰เบง, เปเบ•เปˆเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบชเบนเบ‡เบ—เบตเปˆเบˆเบฐเบ›เปˆเบญเบเปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบšเปเปˆเบกเบตเบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบต. เปเบ™เปˆเบ™เบญเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Workaround เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบ•เปˆเบฒเบ‡เป†, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰, เปเบ•เปˆเบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบทเปˆเบญเบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปเบกเปˆเบ™เบ–เบทเบเบ•เป‰เบญเบ‡.

เบ‚เบญเบšเปƒเบˆเบซเบผเบฒเบเป†เบเบฑเบš Andrey Timofeev (Atimofeev) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบทเบšเบชเบงเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Alexey Krenev (เบญเบธเบ›เบฐเบเบญเบ™x) - เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Titanic เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ Centos เปเบฅเบฐ kernels เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบซเบผเบฒเบเบ„เบฑเป‰เบ‡, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบกเบฑเบ™เบฅเบฒเบเบกเบฒเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบผเบฒเบเป€เบ”เบทเบญเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™