ื›ืืฉืจ Linux conntrack ื”ื•ื ื›ื‘ืจ ืœื ื—ื‘ืจ ืฉืœืš

ื›ืืฉืจ Linux conntrack ื”ื•ื ื›ื‘ืจ ืœื ื—ื‘ืจ ืฉืœืš

ืžืขืงื‘ ืื—ืจ ื—ื™ื‘ื•ืจื™ื ("conntrack") ื”ื•ื ืžืืคื™ื™ืŸ ืœื™ื‘ื” ืฉืœ ืžื—ืกื ื™ืช ื”ืจืฉืช ืฉืœ ืœื™ื‘ืช ืœื™ื ื•ืงืก. ื–ื” ืžืืคืฉืจ ืœืงืจื ืœ ืœืขืงื•ื‘ ืื—ืจ ื›ืœ ื—ื™ื‘ื•ืจื™ ื”ืจืฉืช ื”ืœื•ื’ื™ื™ื ืื• ื”ื–ืจื™ืžื•ืช ื•ื‘ื›ืš ืœื–ื”ื•ืช ืืช ื›ืœ ื”ื—ื‘ื™ืœื•ืช ื”ืžืจื›ื™ื‘ื•ืช ื›ืœ ื–ืจื™ืžื” ื›ืš ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœืขื‘ื“ ืื•ืชืŸ ื™ื—ื“ ื‘ืจืฆืฃ.

Conntrack ื”ื™ื ืชื›ื•ื ืช ืœื™ื‘ื” ื—ืฉื•ื‘ื” ื”ืžืฉืžืฉืช ื‘ื›ืžื” ืžืงืจื™ื ื‘ืกื™ืกื™ื™ื:

  • NAT ืžืกืชืžืš ืขืœ ืžื™ื“ืข ืž-conntrack ื›ืš ืฉื”ื•ื ื™ื›ื•ืœ ืœื”ืชื™ื™ื—ืก ืœื›ืœ ื”ื—ื‘ื™ืœื•ืช ืžืื•ืชื• ื–ืจื ื‘ืื•ืคืŸ ืฉื•ื•ื”. ืœื“ื•ื’ืžื”, ื›ืืฉืจ ืคื•ื“ ื ื™ื’ืฉ ืœืฉื™ืจื•ืช Kubernetes, ืžืื–ืŸ ื”ืขื•ืžืก ืฉืœ kube-proxy ืžืฉืชืžืฉ ื‘-NAT ื›ื“ื™ ืœื”ืคื ื•ืช ืชืขื‘ื•ืจื” ืœืคื•ื“ ืกืคืฆื™ืคื™ ื‘ืชื•ืš ื”ืืฉื›ื•ืœ. Conntrack ืจื•ืฉื ื›ื™ ืขื‘ื•ืจ ื—ื™ื‘ื•ืจ ื ืชื•ืŸ, ื›ืœ ื”ื—ื‘ื™ืœื•ืช ืœืฉื™ืจื•ืช ื”-IP ื—ื™ื™ื‘ื•ืช ืœื”ื™ืฉืœื— ืœืื•ืชื• ืคื•ื“, ื•ื›ื™ ืžื ื•ืช ื”ืžื•ื—ื–ืจื•ืช ืขืœ ื™ื“ื™ ื”ืคื•ื“ ื”ืื—ื•ืจื™ ื—ื™ื™ื‘ื•ืช ืœื”ื™ื•ืช ืžืฉื•ื—ื–ืจื•ืช ืœ-Pod ืฉืžืžื ื• ื”ื’ื™ืขื” ื”ื‘ืงืฉื”.
  • ื—ื•ืžื•ืช ืืฉ ืžืชืงื“ืžื•ืช ื›ื’ื•ืŸ Calico ืžืกืชืžื›ื•ืช ืขืœ ืžื™ื“ืข ืž-connecttrack ื•ืขื“ ืœืชืขื‘ื•ืจืช "ืชื’ื•ื‘ื”" ื‘ืจืฉื™ืžืช ื”ื”ื™ืชืจื™ื. ื–ื” ืžืืคืฉืจ ืœืš ืœื›ืชื•ื‘ ืžื“ื™ื ื™ื•ืช ืจืฉืช ืฉืื•ืžืจืช "ืืคืฉืจ ืœืคื•ื“ ืฉืœื™ ืœื”ืชื—ื‘ืจ ืœื›ืœ ื›ืชื•ื‘ืช IP ืžืจื•ื—ืงืช" ืžื‘ืœื™ ืฉืชืฆื˜ืจืš ืœื›ืชื•ื‘ ืžื“ื™ื ื™ื•ืช ืฉืชืืคืฉืจ ื‘ืžืคื•ืจืฉ ืชืขื‘ื•ืจืช ืชื’ื•ื‘ื”. (ื‘ืœื™ ื–ื”, ืชืฆื˜ืจืš ืœื”ื•ืกื™ืฃ ืืช ื”ื›ืœืœ ื”ืจื‘ื” ืคื—ื•ืช ืžืื•ื‘ื˜ื— "ืืคืฉืจ ืžื ื•ืช ืœืชืจืžื™ืœ ืฉืœื™ ืžื›ืœ IP").

ื‘ื ื•ืกืฃ, conntrack ืžืฉืคืจ ื‘ื“ืจืš ื›ืœืœ ืืช ื‘ื™ืฆื•ืขื™ ื”ืžืขืจื›ืช (ืขืœ ื™ื“ื™ ื”ืคื—ืชืช ืฆืจื™ื›ืช ื”ืžืขื‘ื“ ื•ื”ืฉื”ื™ื™ืช ืžื ื•ืช) ืžื›ื™ื•ื•ืŸ ืฉืจืง ื”ื—ื‘ื™ืœื” ื”ืจืืฉื•ื ื” ื‘ื–ืจื
ื—ื™ื™ื‘ ืœืขื‘ื•ืจ ืขืœ ื›ืœ ืขืจื™ืžืช ื”ืจืฉืช ื›ื“ื™ ืœืงื‘ื•ืข ืžื” ืœืขืฉื•ืช ืื™ืชื”. ืจืื” ืืช ื”ืคื•ืกื˜"ื”ืฉื•ื•ืื” ืฉืœ ืžืฆื‘ื™ ืงื•ื‘-ืคืจื•ืงืกื™"ื›ื“ื™ ืœืจืื•ืช ื“ื•ื’ืžื” ืื™ืš ื–ื” ืขื•ื‘ื“.

ืขื ื–ืืช, ืœ-conntrack ื™ืฉ ืžื’ื‘ืœื•ืช...

ืื– ืื™ืคื” ื”ื›ืœ ื”ืฉืชื‘ืฉ?

ืœื˜ื‘ืœืช ื”-conntrack ื™ืฉ ื’ื•ื“ืœ ืžืงืกื™ืžืœื™ ืฉื ื™ืชืŸ ืœื”ื’ื“ืจื”, ื•ืื ื”ื•ื ืžืชืžืœื, ื—ื™ื‘ื•ืจื™ื ื‘ื“ืจืš ื›ืœืœ ืžืชื—ื™ืœื™ื ืœื”ื™ื“ื—ื•ืช ืื• ืœื”ื™ืฉืžื˜. ื™ืฉ ืžืกืคื™ืง ืžืงื•ื ืคื ื•ื™ ื‘ื˜ื‘ืœื” ื›ื“ื™ ืœื”ืชืžื•ื“ื“ ืขื ื”ืชืขื‘ื•ืจื” ืฉืœ ืจื•ื‘ ื”ื™ื™ืฉื•ืžื™ื, ื•ื–ื” ืœืขื•ืœื ืœื ื™ื”ืคื•ืš ืœื‘ืขื™ื”. ืขื ื–ืืช, ื™ืฉื ื ื›ืžื” ืชืจื—ื™ืฉื™ื ืฉื‘ื”ื ื›ื“ืื™ ืœืฉืงื•ืœ ืœื”ืฉืชืžืฉ ื‘ื˜ื‘ืœืช ื”ื—ื™ื‘ื•ืจื™ื:

  • ื”ืžืงืจื” ื”ื‘ืจื•ืจ ื‘ื™ื•ืชืจ ื”ื•ื ืื ื”ืฉืจืช ืฉืœืš ืžื˜ืคืœ ื‘ืžืกืคืจ ื’ื“ื•ืœ ืžืื•ื“ ืฉืœ ื—ื™ื‘ื•ืจื™ื ืคืขื™ืœื™ื ื‘ื•-ื–ืžื ื™ืช. ืœื“ื•ื’ืžื”, ืื ื˜ื‘ืœืช ื”-conntrack ืฉืœืš ืžื•ื’ื“ืจืช ืขื‘ื•ืจ 128 ื›ื ื™ืกื•ืช, ืื‘ืœ ื™ืฉ ืœืš ื™ื•ืชืจ ืž-128 ื—ื™ื‘ื•ืจื™ื ื‘ืžืงื‘ื™ืœ, ืืชื” ื‘ื•ื•ื“ืื™ ืชื™ืชืงืœ ื‘ื‘ืขื™ื”!
  • ืžืงืจื” ืงืฆืช ืคื—ื•ืช ื‘ืจื•ืจ: ืื ื”ืฉืจืช ืฉืœืš ืžืขื‘ื“ ืžืกืคืจ ื’ื“ื•ืœ ืžืื•ื“ ืฉืœ ื—ื™ื‘ื•ืจื™ื ื‘ืฉื ื™ื™ื”. ื’ื ืื ื”ื—ื™ื‘ื•ืจื™ื ืงืฆืจื™ ืžื•ืขื“, ื”ื ืžืžืฉื™ื›ื™ื ืœื”ื™ื•ืช ื‘ืžืขืงื‘ ืขืœ ื™ื“ื™ ืœื™ื ื•ืงืก ืœืžืฉืš ืชืงื•ืคื” ืžืกื•ื™ืžืช (120 ืฉื ื™ื•ืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ). ืœื“ื•ื’ืžื”, ืื ื˜ื‘ืœืช ื”-conntrack ืฉืœืš ืžื•ื’ื“ืจืช ืœ-128k ื›ื ื™ืกื•ืช ื•ืืชื” ืžื ืกื” ืœื˜ืคืœ ื‘-1100 ื—ื™ื‘ื•ืจื™ื ื‘ืฉื ื™ื™ื”, ื”ื ื™ื—ืจื’ื• ืžื”ื’ื•ื“ืœ ืฉืœ ื˜ื‘ืœืช ื”-conntrack, ื’ื ืื ื”ื—ื™ื‘ื•ืจื™ื ืงืฆืจื™ื ืžืื•ื“ (128k/120s = 1092 connections/ ืก).

ื™ืฉื ื ืžืกืคืจ ืกื•ื’ื™ ื ื™ืฉื” ืฉืœ ืืคืœื™ืงืฆื™ื•ืช ื”ื ื›ืœืœื•ืช ื‘ืงื˜ื’ื•ืจื™ื•ืช ืืœื•. ื‘ื ื•ืกืฃ, ืื ื™ืฉ ืœืš ื”ืจื‘ื” ืฉื—ืงื ื™ื ื’ืจื•ืขื™ื, ืžื™ืœื•ื™ ื˜ื‘ืœืช ื”ื—ื™ื‘ื•ืจื™ื ืฉืœ ื”ืฉืจืช ืฉืœืš ื‘ื”ืจื‘ื” ื—ื™ื‘ื•ืจื™ื ืคืชื•ื—ื™ื ืœืžื—ืฆื” ื™ื›ื•ืœ ืœืฉืžืฉ ื›ื—ืœืง ืžื”ืชืงืคืช ืžื ื™ืขืช ืฉื™ืจื•ืช (DOS). ื‘ืฉื ื™ ื”ืžืงืจื™ื, conntrack ื™ื›ื•ืœ ืœื”ืคื•ืš ืœืฆื•ื•ืืจ ื‘ืงื‘ื•ืง ืžื’ื‘ื™ืœ ื‘ืžืขืจื›ืช ืฉืœืš. ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื, ื”ืชืืžืช ืคืจืžื˜ืจื™ ื˜ื‘ืœืช ื”-conntrack ืขืฉื•ื™ื” ืœื”ืกืคื™ืง ื›ื“ื™ ืœืขื ื•ืช ืขืœ ื”ืฆืจื›ื™ื ืฉืœืš - ืขืœ ื™ื“ื™ ื”ื’ื“ืœืช ื”ื’ื•ื“ืœ ืื• ื”ืงื˜ื ืช ืคืกืงื™ ื”ื–ืžืŸ ืฉืœ ื”-conntrack (ืื‘ืœ ืื ืชืขืฉื” ื–ืืช ืœื ื ื›ื•ืŸ, ืชืชืงืœ ื‘ืฆืจื•ืช ืจื‘ื•ืช). ื‘ืžืงืจื™ื ืื—ืจื™ื ื™ื”ื™ื” ืฆื•ืจืš ืœืขืงื•ืฃ ืืช ื”ื›ื‘ื™ืฉ ืœืชื ื•ืขื” ืื’ืจืกื™ื‘ื™ืช.

ื“ื•ื’ืžื ืืžื™ืชื™ืช

ื‘ื•ืื• ื ื™ืชืŸ ื“ื•ื’ืžื” ืกืคืฆื™ืคื™ืช: ืœืกืคืง SaaS ืื—ื“ ื’ื“ื•ืœ ืฉืขื‘ื“ื ื• ืื™ืชื• ื”ื™ื• ืžืกืคืจ ืฉืจืชื™ื ืžืื•ื—ืกื ื™ื ื‘-memcached ื‘ืžืืจื—ื™ื (ืœื ื‘ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช), ืฉื›ืœ ืื—ื“ ืžื”ื ืขื™ื‘ื“ 50K+ ื—ื™ื‘ื•ืจื™ื ืงืฆืจื™ ื˜ื•ื•ื— ื‘ืฉื ื™ื™ื”.

ื”ื ืขืจื›ื• ื ื™ืกื•ื™ื™ื ื‘ืชืฆื•ืจืช ื”-conntrack, ื”ื’ื“ืœืช ื’ื“ืœื™ ื”ื˜ื‘ืœื” ื•ื”ืงื˜ื ืช ื–ืžืŸ ื”ืžืขืงื‘, ืื‘ืœ ื”ืชืฆื•ืจื” ืœื ื”ื™ื™ืชื” ืืžื™ื ื”, ืฆืจื™ื›ืช ื”-RAM ื’ื“ืœื” ืžืฉืžืขื•ืชื™ืช, ืžื” ืฉื”ื™ื•ื•ื” ื‘ืขื™ื” (ื‘ืกื“ืจ ื’'ื™ื’ื” ื‘ื™ื™ื˜!), ื•ื”ื—ื™ื‘ื•ืจื™ื ื”ื™ื• ื›ืœ ื›ืš ืงืฆืจื™ื ืขื“ ืฉื”-conntrack ืœื ื”ื™ื” ืืžื™ืŸ. ืœื™ืฆื•ืจ ืืช ื™ืชืจื•ืŸ ื”ื‘ื™ืฆื•ืขื™ื ื”ืจื’ื™ืœ ืฉืœื• (ืฆืจื™ื›ืช ืžืขื‘ื“ ืžื•ืคื—ืชืช ืื• ื—ื‘ื™ื•ืŸ ืžื ื•ืช).

ื”ื ืคื ื• ืœืงืืœื™ืงื• ื›ื—ืœื•ืคื”. ืžื“ื™ื ื™ื•ืช ืจืฉืช Calico ืžืืคืฉืจืช ืœืš ืœื ืœื”ืฉืชืžืฉ ื‘-conntrack ืขื‘ื•ืจ ืกื•ื’ื™ื ืžืกื•ื™ืžื™ื ืฉืœ ืชืขื‘ื•ืจื” (ื‘ืืžืฆืขื•ืช ืืคืฉืจื•ืช ื”ืžื“ื™ื ื™ื•ืช doNotTrack). ื–ื” ื ืชืŸ ืœื”ื ืืช ืจืžืช ื”ื‘ื™ืฆื•ืขื™ื ื”ื“ืจื•ืฉื™ื ืœื”ื, ื‘ืชื•ืกืคืช ืจืžืช ื”ืื‘ื˜ื—ื” ื”ื ื•ืกืคืช ืฉืกื™ืคืงื” Calico.

ืœืื™ื–ื” ืื•ืจืš ืชืฆื˜ืจืš ืœืœื›ืช ื›ื“ื™ ืœืขืงื•ืฃ ืืช ื”ืงืฉืจ?

  • ืžื“ื™ื ื™ื•ืช ืจืฉืช ืœื ืœืขืงื•ื‘ ืฆืจื™ื›ื” ื‘ื“ืจืš ื›ืœืœ ืœื”ื™ื•ืช ืกื™ืžื˜ืจื™ืช. ื‘ืžืงืจื” ืฉืœ ืกืคืง ื”-SaaS: ื”ืืคืœื™ืงืฆื™ื•ืช ืฉืœื”ื ืจืฆื• ื‘ืชื•ืš ื”ืื–ื•ืจ ื”ืžื•ื’ืŸ ื•ืœื›ืŸ, ื‘ืืžืฆืขื•ืช ืžื“ื™ื ื™ื•ืช ืจืฉืช, ื”ื ื™ื›ืœื• ืœืจืฉื•ื ืชืขื‘ื•ืจื” ืžื™ื™ืฉื•ืžื™ื ืกืคืฆื™ืคื™ื™ื ืื—ืจื™ื ืฉืงื™ื‘ืœื• ื’ื™ืฉื” ืœ-memcached.
  • ืžื“ื™ื ื™ื•ืช "ืืœ ืชืขืงื‘ื•" ืื™ื ื” ืœื•ืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ืืช ื›ื™ื•ื•ืŸ ื”ื—ื™ื‘ื•ืจ. ืœืคื™ื›ืš, ืื ืฉืจืช ื”-memcached ื ืคืจืฅ, ืืชื” ื™ื›ื•ืœ ืชื™ืื•ืจื˜ื™ืช ืœื ืกื•ืช ืœื”ืชื—ื‘ืจ ืœื›ืœ ืื—ื“ ืžืœืงื•ื—ื•ืช memcached, ื›ืœ ืขื•ื“ ื”ื•ื ืžืฉืชืžืฉ ื‘ื™ืฆื™ืืช ื”ืžืงื•ืจ ื”ื ื›ื•ื ื”. ืขื ื–ืืช, ืื ื”ื’ื“ืจืช ื ื›ื•ืŸ ืืช ืžื“ื™ื ื™ื•ืช ื”ืจืฉืช ืขื‘ื•ืจ ืœืงื•ื—ื•ืช ื”-memcached ืฉืœืš, ื ื™ืกื™ื•ื ื•ืช ื”ื—ื™ื‘ื•ืจ ื”ืœืœื• ืขื“ื™ื™ืŸ ื™ื™ื“ื—ื• ื‘ืฆื“ ื”ืœืงื•ื—.
  • ืžื“ื™ื ื™ื•ืช ื”-do not-track ืžื•ื—ืœืช ืขืœ ื›ืœ ื—ื‘ื™ืœื”, ื‘ื ื™ื’ื•ื“ ืœืžื“ื™ื ื™ื•ืช ืจื’ื™ืœื”, ื”ืžื•ื—ืœืช ืจืง ืขืœ ื”ื—ื‘ื™ืœื” ื”ืจืืฉื•ื ื” ื‘ื–ืจื™ืžื”. ื–ื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืœ ืืช ืฆืจื™ื›ืช ื”-CPU ืœื›ืœ ืžื ื” ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื”ื—ื™ืœ ืืช ื”ืžื“ื™ื ื™ื•ืช ืขื‘ื•ืจ ื›ืœ ืžื ื”. ืื‘ืœ ืขื‘ื•ืจ ื—ื™ื‘ื•ืจื™ื ืงืฆืจื™ ืžื•ืขื“, ื”ื•ืฆืื” ื–ื• ืžืื•ื–ื ืช ืขืœ ื™ื“ื™ ื”ืคื—ืชืช ืฆืจื™ื›ืช ื”ืžืฉืื‘ื™ื ืœืขื™ื‘ื•ื“ ื—ื™ื‘ื•ืจื™ื. ืœื“ื•ื’ืžื”, ื‘ืžืงืจื” ืฉืœ ืกืคืง SaaS, ืžืกืคืจ ื”ื—ื‘ื™ืœื•ืช ืœื›ืœ ื—ื™ื‘ื•ืจ ื”ื™ื” ืงื˜ืŸ ืžืื•ื“, ื›ืš ืฉืฆืจื™ื›ืช ื”-CPU ื”ื ื•ืกืคืช ื‘ืขืช ื”ื—ืœืช ืžื“ื™ื ื™ื•ืช ืขืœ ื›ืœ ืžื ื” ื”ื™ื™ืชื” ืžื•ืฆื“ืงืช.

ื‘ื•ืื• ื ืชื—ื™ืœ ื‘ื‘ื“ื™ืงื”

ื”ืจืฆื ื• ืืช ื”ื‘ื“ื™ืงื” ืขืœ ืคื•ื“ ื‘ื•ื“ื“ ืขื ืฉืจืช memcached ื•ืžืกืคืจ ืจื‘ ืฉืœ memcached client pods ื”ืคื•ืขืœื™ื ืขืœ ืฆืžืชื™ื ืžืจื•ื—ืงื™ื ื›ืš ืฉื ื•ื›ืœ ืœื”ืจื™ืฅ ืžืกืคืจ ื’ื“ื•ืœ ืžืื•ื“ ืฉืœ ื—ื™ื‘ื•ืจื™ื ื‘ืฉื ื™ื™ื”. ืœืฉืจืช ืขื ื”-memcached server pod ื”ื™ื• 8 ืœื™ื‘ื•ืช ื•-512k ื›ื ื™ืกื•ืช ื‘ื˜ื‘ืœืช conntrack (ื’ื•ื“ืœ ื”ื˜ื‘ืœื” ื”ืžื•ื’ื“ืจ ื”ืกื˜ื ื“ืจื˜ื™ ืขื‘ื•ืจ ื”ืžืืจื—).
ืžื“ื“ื ื• ืืช ื”ื”ื‘ื“ืœ ื‘ื‘ื™ืฆื•ืขื™ื ื‘ื™ืŸ: ืื™ืŸ ืžื“ื™ื ื™ื•ืช ืจืฉืช; ืขื ืžื“ื™ื ื™ื•ืช Calico ืจื’ื™ืœื”; ื•ืžื“ื™ื ื™ื•ืช ืื™-ืžืขืงื‘ ืฉืœ Calico.

ื‘ื‘ื“ื™ืงื” ื”ืจืืฉื•ื ื”, ื”ื’ื“ืจื ื• ืืช ืžืกืคืจ ื”ื—ื™ื‘ื•ืจื™ื ืœ-4.000 ื‘ืฉื ื™ื™ื”, ื›ื“ื™ ืฉื ื•ื›ืœ ืœื”ืชืžืงื“ ื‘ื”ื‘ื“ืœ ื‘ืฆืจื™ื›ืช ื”ืžืขื‘ื“. ืœื ื”ื™ื• ื”ื‘ื“ืœื™ื ืžืฉืžืขื•ืชื™ื™ื ื‘ื™ืŸ ื”ื™ืขื“ืจ ืžื“ื™ื ื™ื•ืช ืœื‘ื™ืŸ ืžื“ื™ื ื™ื•ืช ืจื’ื™ืœื”, ืืš ืืœ ืชืขืงื•ื‘ ืื—ืจ ื”ื’ื“ื™ืœื” ืืช ืฆืจื™ื›ืช ื”ืžืขื‘ื“ ื‘ื›-20%:

ื›ืืฉืจ Linux conntrack ื”ื•ื ื›ื‘ืจ ืœื ื—ื‘ืจ ืฉืœืš

ื‘ื‘ื“ื™ืงื” ื”ืฉื ื™ื™ื”, ื”ืฉืงื ื• ื›ืžื” ื—ื™ื‘ื•ืจื™ื ืฉื”ืœืงื•ื—ื•ืช ืฉืœื ื• ื™ื›ื•ืœื™ื ืœื™ืฆื•ืจ ื•ืžื“ื“ื ื• ืืช ื”ืžืกืคืจ ื”ืžืจื‘ื™ ืฉืœ ื—ื™ื‘ื•ืจื™ื ื‘ืฉื ื™ื™ื” ืฉื”ืฉืจืช ื”-memcached ืฉืœื ื• ื™ื›ื•ืœ ืœื”ืชืžื•ื“ื“ ืื™ืชื•. ื›ืฆืคื•ื™, ื”ืžืงืจื™ื ืฉืœ "ืื™ืŸ ืžื“ื™ื ื™ื•ืช" ื•"ืžื“ื™ื ื™ื•ืช ืจื’ื™ืœื”" ื”ื’ื™ืขื• ืฉื ื™ื”ื ืœืžื’ื‘ืœืช ื”ื—ื™ื‘ื•ืจ ืฉืœ ืœืžืขืœื” ืž-4,000 ื—ื™ื‘ื•ืจื™ื ืœืฉื ื™ื™ื” (512k / 120s = 4,369 ื—ื™ื‘ื•ืจื™ื/s). ืขื ืžื“ื™ื ื™ื•ืช ืืœ-ืœืขืงื•ื‘, ื”ืœืงื•ื—ื•ืช ืฉืœื ื• ืฉืœื—ื• 60,000 ื—ื™ื‘ื•ืจื™ื ื‘ืฉื ื™ื™ื” ืœืœื ื›ืœ ื‘ืขื™ื”. ืื ื—ื ื• ื‘ื˜ื•ื—ื™ื ืฉื ื•ื›ืœ ืœื”ื’ื“ื™ืœ ืืช ื”ืžืกืคืจ ื”ื–ื” ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ืœืงื•ื—ื•ืช ื ื•ืกืคื™ื, ืื‘ืœ ืื ื—ื ื• ืžืจื’ื™ืฉื™ื ืฉื”ืžืกืคืจื™ื ื”ืืœื” ื›ื‘ืจ ืžืกืคื™ืงื™ื ื›ื“ื™ ืœื”ืžื—ื™ืฉ ืืช ื”ืคื•ืื ื˜ื” ืฉืœ โ€‹โ€‹ืžืืžืจ ื–ื”!

ื›ืืฉืจ Linux conntrack ื”ื•ื ื›ื‘ืจ ืœื ื—ื‘ืจ ืฉืœืš

ืžืกืงื ื”

Conntrack ื”ื•ื ืชื›ื•ื ืช ืœื™ื‘ื” ื—ืฉื•ื‘ื”. ื”ื•ื ืขื•ืฉื” ืืช ื”ืขื‘ื•ื“ื” ืฉืœื• ื‘ืฆื•ืจื” ืžื•ืฉืœืžืช. ื”ื•ื ืžืฉืžืฉ ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืขืœ ื™ื“ื™ ืจื›ื™ื‘ื™ ืžืขืจื›ืช ืžืจื›ื–ื™ื™ื. ืขื ื–ืืช, ื‘ื›ืžื” ืชืจื—ื™ืฉื™ื ืกืคืฆื™ืคื™ื™ื, ื”ืขื•ืžืก ื”ื ื•ื‘ืข ืžื”ืงืฉืจ ืขื•ืœื” ืขืœ ื”ื™ืชืจื•ื ื•ืช ื”ืจื’ื™ืœื™ื ืฉื”ื•ื ืžืกืคืง. ื‘ืชืจื—ื™ืฉ ื–ื”, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžื“ื™ื ื™ื•ืช ื”ืจืฉืช ืฉืœ Calico ื›ื“ื™ ืœื”ืฉื‘ื™ืช ื‘ืื•ืคืŸ ืกืœืงื˜ื™ื‘ื™ ืืช ื”ืฉื™ืžื•ืฉ ื‘-conntrack ืชื•ืš ื”ื’ื‘ืจืช ืื‘ื˜ื—ืช ื”ืจืฉืช. ืขื‘ื•ืจ ื›ืœ ืชื ื•ืขื” ืื—ืจืช, conntrack ืžืžืฉื™ืš ืœื”ื™ื•ืช ื—ื‘ืจ ืฉืœืš!

ืงืจื ื’ื ืžืืžืจื™ื ืื—ืจื™ื ื‘ื‘ืœื•ื’ ืฉืœื ื•:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”