Match-all classifier in tc(8) Linux Match-all classifier in tc(8)

tc-matchall - فیلتر کنترل ترافیک برای تطبیق همه بسته‌ها


tc filter ... matchall [ skip_sw | skip_hw ] [ action ACTION_SPEC ] [ classid CLASSID ]

فیلتر matchall امکان دسته‌بندی تمام بسته‌های عبوری از پورت و اجرای یک کنش (action) روی آن‌ها را فراهم می‌کند.

اعمال یک کنش از چارچوب کنش‌های عمومی بر روی بسته‌های منطبق.
انتقال بسته‌های منطبق به کلاس مشخص‌شده توسط CLASSID.
فیلتر توسط نرم‌افزار پردازش نشود. اگر سخت‌افزار از آف‌لود (offload) برای این فیلتر پشتیبانی نکند یا قابلیت TC offload برای رابط فعال نشده باشد، عملیات ناموفق خواهد بود.
فیلتر توسط سخت‌افزار پردازش نشود.

برای ایجاد آینه‌سازی ترافیک ورودی (ingress) از پورت eth1 به پورت eth2:

tc qdisc  add dev eth1 handle ffff: clsact
tc filter add dev eth1 ingress                \
        matchall skip_sw                      \
        action mirred egress mirror           \
        dev eth2

دستور نخست یک clsact qdisc با دسته ffff: بر روی دستگاه eth1 ایجاد می‌کند و دستور دوم فیلتر matchall را به آن پیوست می‌نماید که بسته‌ها را در مسیر ورودی به دستگاه eth2 آینه‌سازی (mirror) می‌کند.

برای ایجاد آینه‌سازی ترافیک خروجی (egress) از پورت eth1 به پورت eth2:

tc qdisc add dev eth1 handle ffff: clsact
tc filter add dev eth1 egress                  \
        matchall skip_sw                       \
        action mirred egress mirror            \
        dev eth2

دستور نخست یک clsact qdisc با دسته ffff: بر روی دستگاه eth1 ایجاد می‌کند و دستور دوم فیلتر matchall را به آن پیوست می‌نماید که بسته‌ها را در مسیر خروجی به دستگاه eth2 آینه‌سازی (mirror) می‌کند.

برای نمونه‌برداری از هر ۱۰۰ بسته عبوری از رابط eth0 و ارسال به گروه psample شماره ۱۲:

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: matchall \
     action sample rate 100 group 12

tc(8)

21 Oct 2015 iproute2