| Firewall mark classifier in tc(8) | Linux | Firewall mark classifier in tc(8) |
نام (NAME)
tc-fw - فیلتر کنترل ترافیک بر اساس نشان فایروال (fwmark)
خلاصه دستور (SYNOPSIS)
tc filter ... fw [ classid CLASSID ] [ action ACTION_SPEC ]
توضیحات (DESCRIPTION)
فیلتر fw امکان دستهبندی بستهها را بر پایه fwmark که پیشتر توسط iptables تنظیم شده است، فراهم میکند. اگر مقدار ماسکشدهی fwmark با handle ماسکشدهی فیلتر مطابقت داشته باشد، فیلتر منطبق میشود. بهطور پیشفرض، تمامی ۳۲ بیت handle و fwmark ماسک میشوند. iptables امکان نشانهگذاری بستههای تکی با هدف MARK یا کل اتصالها با استفاده از CONNMARK را فراهم میسازد. مزیت استفاده از این فیلتر بهجای انجام پردازشهای سنگین توسط خود tc این است که از یک سو، نگهداری فیلترسازی و دستهبندی بستهها در یک مکان مشترک و تطبیق احتمالی بسته تنها برای یک بار راحتتر خواهد بود، و از سوی دیگر، کاربرانی که با iptables آشنایی دارند اما با tc آشنا نیستند، برای افزودن QoS به پیکربندیهای خود با دشواری کمتری روبرو خواهند شد.
گزینهها (OPTIONS)
- classid CLASSID
- هدایت بستههای منطبق به کلاسی که با CLASSID مشخص شده است.
- action ACTION_SPEC
- اعمال یک اکشن از چارچوب عمومی اکشنها بر روی بستههای منطبق.
مثالها (EXAMPLES)
برای نمونه، دستور فیلتر tc زیر را در نظر بگیرید:
tc filter add ... handle 6 fw classid 1:1
در صورتی که مقدار fwmark بسته برابر با 6 باشد، این فیلتر منطبق خواهد شد. دستور نمونه زیر در iptables بستههای ورودی به رابط eth0 را علامتگذاری میکند:
iptables -t mangle -A PREROUTING -i eth0 -j MARK --set-mark 6
بیتهای خاصی از fwmark بسته را میتوان با استفاده از اکشن skbedit تنظیم کرد. به عنوان مثال، برای تنظیم تنها یک بیت از fwmark بدون تغییر دادن هیچیک از بیتهای دیگر:
tc filter add ... action skbedit mark 0x8/0x8
سپس میتوان از فیلتر fw برای تطبیق روی این بیت با ماسک کردن handle استفاده کرد:
tc filter add ... handle 0x8/0x8 fw action drop
این قابلیت زمانی مفید است که بیتهای مختلف fwmark دارای معانی متفاوتی باشند.
همچنین ببینید (SEE ALSO)
| 21 Oct 2015 | iproute2 |