EBTABLES(8) System Manager's Manual EBTABLES(8)

ebtables-nft - ابزار فیلتر کردن فریمهای پل اترنت مبتنی بر nftables

ebtables [-t table ] -[ACDI] chain rule specification [match extensions] [watcher extensions] target
ebtables [-t table ] -P chain ACCEPT | DROP | RETURN
ebtables [-t table ] -F [chain]
ebtables [-t table ] -Z [chain]
ebtables [-t table ] -L [-Z] [chain] [ [--Ln] | [--Lx] ] [--Lc] [--Lmac2]
ebtables [-t table ] -N chain [-P ACCEPT | DROP | RETURN]
ebtables [-t table ] -X [chain]
ebtables [-t table ] -E old-chain-name new-chain-name
ebtables [-t table ] --init-table

ebtables یک برنامه کاربردی برای برپایی و نگهداری جدول‌های قواعد در هسته لینوکس است که وظیفه بازرسی فریم‌های اترنت را بر عهده دارند. این ابزار مشابه با برنامه iptables است، اما به دلیل ساده‌تر بودن پروتکل اترنت در مقایسه با پروتکل IP، پیچیدگی کمتری دارد.

سه جدول ebtables با زنجیره‌های توکار درون هسته لینوکس وجود دارد. این جدول‌ها برای تفکیک کارایی‌ها به مجموعه‌های گوناگونی از قواعد استفاده می‌شوند. هر مجموعه از قواعد یک زنجیره (chain) نامیده می‌شود. هر زنجیره یک فهرست مرتب از قواعد است که می‌توانند با فریم‌های اترنت مطابقت داده شوند. چنانچه قاعده‌ای با یک فریم اترنت تطبیق پیدا کند، مشخصه پردازشی معین می‌کند با آن فریم منطبق چه باید کرد. به این مشخصه پردازش «هدف» (target) گفته می‌شود. با این حال، اگر فریم با قاعده فعلی موجود در زنجیره همخوانی نداشته باشد، قاعده بعدی در زنجیره بررسی خواهد شد و روند به همین منوال ادامه می‌یابد. کاربر می‌تواند زنجیره‌های جدیدی (تعریف‌شده توسط کاربر) ایجاد کند که امکان به کار رفتن به عنوان هدف یک قاعده را دارند. زنجیره‌های تعریف‌شده توسط کاربر برای دستیابی به عملکرد بهتر در مقایسه با پیمایش خطی قواعد بسیار سودمند هستند و همچنین برای سازمان‌دهی قواعد پالایش به صورت مجموعه‌هایی ساختاریافته و قابل نگهداری نقشی بنیادین دارند.

یک قاعده دیواره آتش، معیارهایی برای فریم اترنت و مشخصه پردازشی آن فریم تحت عنوان هدف تعیین می‌کند. هنگامی که یک فریم با یک قاعده مطابقت پیدا کند، اقدام بعدی اجراشده توسط هسته به واسطه هدف تعیین می‌گردد. هدف می‌تواند یکی از مقادیر زیر باشد: ACCEPT، DROP، CONTINUE، RETURN، یک «افزونه» (پایین‌تر را مشاهده کنید) یا پرش به یک زنجیره تعریف‌شده توسط کاربر.

ACCEPT به معنای عبور دادن فریم است. DROP به معنای دورانداختن فریم است. البته در زنجیره BROUTING، اهداف ACCEPT و DROP دارای معانی متفاوتی هستند (اطلاعات ارائه‌شده برای گزینه -t را ملاحظه کنید). CONTINUE به معنای لزوم بررسی قاعده بعدی است. این مقدار برای نمونه می‌تواند جهت اطلاع از تعداد فریم‌هایی که از نقطه‌ای مشخص در زنجیره می‌گذرند، برای ثبت گزارش آن فریم‌ها یا اعمال اهداف متعدد روی یک فریم سودمند باشد. RETURN به معنای متوقف ساختن پیمایش زنجیره فعلی و ادامه دادن از قاعده بعدی در زنجیره پیشین (فراخواننده) است. برای اهداف افزونه لطفاً به بخش افزونه‌های هدف (TARGET EXTENSIONS) در این صفحه راهنما رجوع فرمایید.

همان‌گونه که پیش‌تر بیان شد، نام جدول‌ها عبارت است از filter، nat و broute. از بین این جدول‌ها، جدول filter جدول پیش‌فرضی است که دستور روی آن اجرا می‌شود. اگر قصد کار با جدولی غیر از filter را دارید، باید آرگومان -t را ارائه دهید. افزون بر این، در صورت استفاده، آرگومان -t باید نخستین آرگومان در خط فرمان ebtables باشد.


filter جدول پیش‌فرض است و شامل سه زنجیره توکار می‌باشد: INPUT (برای فریم‌هایی که در سطح نشانی مقصد MAC برای خود پل مقصدگذاری شده‌اند)، OUTPUT (برای فریم‌های تولیدشده محلی یا فریم‌های هدایت‌شده/مسیریابی‌شده (b)routed) و FORWARD (برای فریم‌هایی که به وسیله پل بازفرستاده می‌شوند).
nat بیشتر جهت دگرگونی نشانی‌های MAC به کار می‌رود و دربردارنده سه زنجیره توکار است: PREROUTING (برای دگرگون‌سازی فریم‌ها به محض ورودشان)، OUTPUT (برای تغییر فریم‌های تولیدشده محلی یا (b)routed پیش از آنکه پل شوند) و POSTROUTING (برای تغییر فریم‌ها درست در آستانه خروج). یادداشتی کوتاه درباره نام‌گذاری زنجیره‌های PREROUTING و POSTROUTING: نام‌گذاری آن‌ها به عنوان PREFORWARDING و POSTFORWARDING دقیق‌تر بود، اما برای تمام کسانی که از دنیای iptables به ebtables وارد می‌شوند، یکسان بودن نام‌ها کار را ساده‌تر می‌سازد. توجه داشته باشید که چنانچه تمایلی به استفاده از نام پیش‌فرض ندارید می‌توانید با استفاده از (-E) نام را تغییر دهید.
broute برای ساخت یک brouter (پل-مسیریاب) به کار می‌رود و دارای یک زنجیره توکار است: BROUTING. اهداف DROP و ACCEPT در جدول broute معنای ویژه‌ای دارند (این نام‌ها جهت حفظ سازگاری با ebtables-legacy استفاده می‌شوند). DROP در اصل به معنای آن است که فریم باید مسیریابی شود، حال آنکه ACCEPT به معنای این است که فریم باید پل شود. زنجیره BROUTING بسیار زودهنگام پیمایش می‌شود. در حالت عادی فریم‌ها پل می‌شوند، اما در اینجا می‌توانید تصمیمی غیر از این اتخاذ فرمایید.

پس از آرگومان اولیه '-t table' در خط فرمان ebtables، باقی آرگومان‌ها را می‌توان به چندین گروه تقسیم‌بندی کرد. این گروه‌ها عبارتند از فرمان‌ها، فرمان‌های متفرقه، مشخصات قاعده، افزونه‌های تطبیق، افزونه‌های نظارتگر و افزونه‌های هدف.

آرگومان‌های فرمان ebtables عملیاتی را معین می‌کنند که باید روی جدول تعریف‌شده با آرگومان -t انجام پذیرد. اگر از آرگومان -t برای نام بردن جدول استفاده نکنید، فرمان‌ها بر جدول پیش‌فرض filter اعمال می‌شوند. در هر زمان تنها یک فرمان مجاز به استفاده در خط فرمان است، مگر آنکه فرمان‌های -L و -Z با یکدیگر ترکیب شوند یا فرمان‌های -N و -P به شکل همزمان به کار روند.

افزودن یک قاعده به انتهای زنجیره برگزیده‌شده.
حذف قاعده یا قواعد مشخص‌شده از زنجیره برگزیده‌شده. دو شیوه برای به‌کارگیری این فرمان وجود دارد. شیوه نخست با تعیین بازه‌ای از شماره‌های قواعد برای حذف (مستقیماً پس از -D). قالب: start_nr[:end_nr] (از -L --Ln برای فهرست کردن قواعد به همراه شماره‌های آن‌ها بهره ببرید). چنانچه end_nr درج نشود، تمامی قواعد از start_nr به بعد حذف می‌شوند. به‌کارگیری اعداد منفی مجاز است؛ برای جزئیات بیشتر پیرامون استفاده از اعداد منفی، به فرمان -I مراجعه فرمایید. روش دوم با تعیین کامل قاعده به همان صورتی است که هنگام افزودن تعریف شده بود. در این شیوه تنها نخستین قاعده دیده‌شده که کاملاً با قاعده مشخص‌شده یکسان باشد (به بیانی دیگر، قاعده منطبق دارای کمترین شماره مثبت)، حذف خواهد شد.
تغییر شمارنده‌های قاعده یا قواعد مشخص‌شده از زنجیره انتخاب‌شده. دو شیوه برای استفاده از این فرمان در دسترس است. شیوه نخست با مشخص ساختن بازه‌ای از شماره قواعد جهت اعمال تغییرات (مستقیماً پس از -C). قالب: start_nr[:end_nr] (از -L --Ln برای فهرست کردن قواعد به همراه شماره‌هایشان استفاده کنید). جزئیات کاملاً مشابه با فرمان -D است. شیوه دوم با تعیین کامل قاعده به همان صورتی است که هنگام افزودن تعریف شده بود. در این شیوه، تنها شمارنده‌های اولین قاعده مطابقی که با این قاعده مشخص‌شده یکسان است (به عبارت دیگر قاعده منطبق دارای کمترین شماره قاعده مثبت)، دستخوش تغییر می‌شوند. در شیوه نخست، شمارنده‌ها مستقیماً پس از مشخصه بازه درج می‌شوند و در شیوه دوم مستقیماً پس از -C. نخست شمارنده بسته و سپس شمارنده بایت درج می‌گردد. اگر شمارنده‌های مشخص‌شده با یک '+' آغاز شوند، مقادیر شمارنده به مقادیر شمارنده فعلی مربوطه افزوده خواهند شد. اگر شمارنده‌های مشخص‌شده با یک '-' آغاز شوند، مقادیر شمارنده از مقادیر فعلی مربوطه کسر می‌گردند. هیچ‌گونه بازرسی مرزی صورت نمی‌پذیرد. اگر شمارنده‌ها با '+' یا '-' آغاز نشوند، شمارنده‌های فعلی به شمارنده‌های تعیین‌شده تغییر پیدا می‌کنند.
درج قاعده مشخص‌شده در زنجیره انتخاب‌شده در شماره قاعده داده‌شده. چنانچه شماره قاعده تعیین نگردد، قاعده در ابتدای زنجیره گنجانده می‌شود. اگر تعداد فعلی قواعد برابر با N باشد، شماره مشخص‌شده می‌تواند رقمی میان -N تا N+1 باشد. برای یک عدد مثبت i، این رابطه صدق می‌کند که i و i-N-1 نشان‌دهنده جایگاه یکسانی در زنجیره برای درج قاعده هستند. شماره قاعده 0 جایگاه پس از واپسین قاعده موجود در زنجیره را تعیین می‌کند و بنابراین استفاده از این شماره هم‌ارز با استفاده از فرمان -A خواهد بود. شماره قواعدی که اکیداً کوچک‌تر از 0 باشند زمانی سودمندند که بیش از یک قاعده باید در زنجیره درج شود.
تنظیم سیاست پیش‌فرض زنجیره روی هدف داده‌شده. این سیاست می‌تواند ACCEPT، DROP یا RETURN باشد.
تخلیه زنجیره انتخاب‌شده. چنانچه زنجیره‌ای انتخاب نشده باشد، تمام زنجیره‌ها تخلیه خواهند شد. با این حال، تخلیه یک زنجیره به هیچ عنوان سیاست آن زنجیره را دگرگون نمی‌کند.
صفر کردن شمارنده‌های زنجیره انتخاب‌شده. در صورتی که هیچ زنجیره‌ای انتخاب نگردد، تمامی شمارنده‌ها صفر خواهند شد. فرمان -Z می‌تواند در پیوند با فرمان -L به کار رود. هنگامی که هر دو فرمان -Z و -L بدین ترتیب با یکدیگر همراه شوند، شمارنده‌های قواعد پیش از آنکه صفر شوند روی صفحه نمایش نشان داده می‌شوند.
فهرست کردن تمامی قواعد موجود در زنجیره انتخاب‌شده. چنانچه هیچ زنجیره‌ای مشخص نشود، کلیه زنجیره‌ها فهرست می‌گردند.
گزینه‌های زیر خروجی حاصل از فرمان -L را دگرگون می‌سازند:
--Ln
شماره قاعده را در پیشانی هر قاعده درج می‌کند. این گزینه با گزینه --Lx ناسازگار است.
--Lc
شمارنده‌ها را در پایان هر قاعده نمایش‌داده‌شده توسط فرمان -L نشان می‌دهد. در این حالت هم شمارنده فریم (pcnt) و هم شمارنده بایت (bcnt) نمایش می‌یابند. شمارنده فریم بازگوکننده تعداد فریم‌های تطبیق‌یافته با آن قاعده خاص است، و شمارنده بایت مجموع اندازه فریم‌های این فریم‌های منطبق را بازتاب می‌دهد. استفاده از این گزینه همراه با گزینه --Lx منجر به درج شمارنده‌ها در قالب گزینه '-c <pcnt> <bcnt>' می‌گردد.
--Lx
خروجی را به گونه‌ای دگرگون می‌سازد که مجموعه‌ای از دستورات ebtables را تولید نماید که در صورت مشخص بودن زنجیره، محتویات آن را از نو بازسازی کنند. اگر زنجیره‌ای تعیین نشده باشد، دستورات لازم جهت بازسازی کامل محتویات جدول (از جمله دستورات ساخت زنجیره‌های تعریف‌شده توسط کاربر، در صورت وجود) ارائه می‌شوند. می‌توانید از این فرامین در اسکریپت بوت یا بارگذاری مجدد ebtables بهره ببرید؛ به عنوان مثال خروجی می‌تواند هنگام راه‌اندازی سیستم به کار رود. گزینه --Lx با گزینه فهرست‌بندی --Ln ناسازگار است. به‌کارگیری گزینه --Lx به همراه گزینه --Lc باعث درج شمارنده‌ها در قالب گزینه '-c <pcnt> <bcnt>' می‌شود.
--Lmac2
تمام نشانی‌های MAC را با طولی همسان نمایش می‌دهد و در صورت نیاز صفرهای پیشین را می‌افزاید. در نمایش پیش‌فرض، صفرهای ابتدایی نشانی‌ها نادیده گرفته می‌شوند.
ایجاد یک زنجیره تازه تعریف‌شده توسط کاربر با نام داده‌شده. شمار زنجیره‌های تعریف‌شده توسط کاربر تنها به تعداد نام‌های ممکن برای زنجیره محدود می‌گردد. نام زنجیره تعریف‌شده توسط کاربر دارای بیشینه طول ۳۱ نویسه است. سیاست پیش‌فرض زنجیره تعریف‌شده توسط کاربر ACCEPT می‌باشد. سیاست زنجیره نو را می‌توان با به‌کارگیری فرمان -P همراه با فرمان -N روی یک هدف استاندارد دیگر مقداردهی اولیه نمود. در این حالت، نیازی به ذکر نام زنجیره برای فرمان -P نیست.
حذف زنجیره تعریف‌شده توسط کاربرِ مشخص‌شده. نباید هیچ ارجاع (پرش) باقی‌مانده‌ای به زنجیره مد نظر وجود داشته باشد، در غیر این صورت ebtables از حذف آن سر باز خواهد زد. اگر زنجیره‌ای مشخص نشود، تمامی زنجیره‌های تعریف‌شده توسط کاربر که بدون ارجاع هستند پاک خواهند شد.
تغییر نام زنجیره مشخص‌شده به یک نام تازه. افزون بر تغییر نام زنجیره‌های تعریف‌شده توسط کاربر، شما می‌توانید نام یک زنجیره استاندارد را نیز به نامی دلخواه دگرگون سازید. به عنوان نمونه اگر نام PREFORWARDING را بر PREROUTING ترجیح می‌دهید، می‌توانید با استفاده از فرمان -E نام زنجیره PREROUTING را عوض کنید. در صورت تغییر نام یکی از زنجیره‌های استاندارد ebtables، اگر پرسشی در لیست‌های ایمیل ebtables مطرح می‌کنید، حتماً به این نکته اشاره فرمایید؛ عاقلانه‌تر آن است که در نوشته‌های خود از نام‌های استاندارد استفاده کنید. تغییر نام زنجیره‌های استاندارد ebtables بدین صورت، هیچ اثری بر ساختار یا عملکرد جدول هسته ebtables نخواهد گذاشت.
جایگزین کردن داده‌های جدول کنونی با داده‌های اولیه جدول.

حالت پرگو (توضیح کامل). هنگام افزودن، درج، حذف و جایگزینی، این گزینه سبب چاپ اطلاعات تفصیلی درباره قاعده یا قواعد می‌گردد. -v را می‌توان چندین بار ذکر کرد تا در صورت امکان پیام‌های اشکال‌زدایی با جزئیات بیشتری تولید شوند.
نمایش نسخه برنامه فضای کاربری ebtables.
ارائه توصیفی فشرده از ساختار دستوری. در اینجا همچنین می‌توانید نام افزونه‌ها را مشخص فرمایید تا ebtables راهنمای مربوط به آن‌ها را چاپ کند؛ مانند: ebtables -h snat log ip arp. برای مشاهده فهرست تمامی افزونه‌های پشتیبانی‌شده توسط ابزار فضای کاربری، عبارت list_extensions را مشخص نمایید.
هدف قاعده. این مشخصه یکی از مقادیر زیر است: ACCEPT، DROP، CONTINUE، RETURN، یک افزونه هدف (به بخش افزونه‌های هدف (TARGET EXTENSIONS) نگاه کنید) یا نام یک زنجیره تعریف‌شده توسط کاربر.
هنگام گفتگو با هسته لینوکس، از این برنامه برای تلاش جهت بارگذاری خودکار ماژول‌های غایب هسته استفاده شود.
این گزینه در گذشته از یک قفل فایلی جهت پشتیبانی از اجرای همزمان اسکریپت‌هایی که جداول هسته ebtables را به‌روزرسانی می‌کردند بهره می‌برد. با این حال در ebtables-nft نیازی به آن نیست و نادیده گرفته می‌شود.

آرگومان‌های خط فرمان زیر مشخصه یک قاعده را شکل می‌دهند (آن‌گونه که در فرمان‌های افزودن و حذف به کار می‌رود). درج گزینه "!" پیش از مشخصه، آزمون آن مشخصه را وارونه می‌سازد. گذشته از این مشخصات استاندارد، آرگومان‌های سودمند دیگری نیز در خط فرمان در دسترس هستند. هر دو بخش افزونه‌های تطبیق (MATCH EXTENSIONS) و افزونه‌های نظارتگر (WATCHER EXTENSIONS) را در ادامه ملاحظه فرمایید.

[!] -p, --protocol پروتکل
پروتکلی که مسئول ایجاد فریم بوده است. این مقدار می‌تواند یک عدد هگزادسیمال بالاتر از 0x0600، یک نام (مانند ARP ) یا LENGTH باشد. فیلد پروتکل فریم اترنت می‌تواند برای نشان دادن طول سرآیند (شبکه‌های 802.2/802.3) به کار رود. هرگاه مقدار آن فیلد مساوی یا کمتر از 0x0600 باشد، مقدار به دست آمده نشان‌دهنده اندازه سرآیند است و نباید به منزله شماره پروتکل در نظر گرفته شود. در عوض، تمام فریم‌هایی که در آن‌ها فیلد پروتکل به عنوان فیلد طول به کار رفته است، دارای یک پروتکل یکسان فرض می‌شوند. نام پروتکل به‌کاررفته در ebtables برای این قبیل فریم‌ها LENGTH می‌باشد.
فایل /etc/ethertypes می‌تواند برای نمایش نویسه‌های خوانا به جای مقادیر هگزادسیمال برای پروتکل‌ها استفاده شود. برای مثال، 0x0800 توسط IPV4 نمایش داده خواهد شد. بهره‌گیری از این فایل به بزرگی یا کوچکی حروف وابسته نیست. جهت آگاهی بیشتر به همان فایل رجوع کنید. فلگ --proto نام مستعاری برای این گزینه محسوب می‌شود.
[!] -i, --in-interface نام
رابط (پورت پل) که فریم از طریق آن دریافت می‌گردد (این گزینه در زنجیره‌های INPUT، FORWARD، PREROUTING و BROUTING کاربرد دارد). چنانچه نام رابط با '+' پایان یابد، هر نام رابطی که با این عبارت آغاز شود (بدون لحاظ کردن '+') تطبیق خواهد یافت. فلگ --in-if یک نام مستعار برای این گزینه است.
[!] --logical-in نام
رابط (منطقی) پل که فریم از طریق آن دریافت می‌شود (این گزینه در زنجیره‌های INPUT، FORWARD، PREROUTING و BROUTING کاربرد دارد). اگر نام رابط با '+' پایان یابد، هر نام رابطی که با این عبارت آغاز شود (بدون لحاظ کردن '+') منطبق خواهد شد.
[!] -o, --out-interface نام
رابط (پورت پل) که فریم قرار است از طریق آن فرستاده شود (این گزینه در زنجیره‌های OUTPUT، FORWARD و POSTROUTING کاربرد دارد). چنانچه نام رابط به '+' ختم گردد، هر رابطی که نامش با این عبارت آغاز شود (صرف‌نظر از '+') مطابقت خواهد داشت. فلگ --out-if نام مستعاری برای این گزینه است.
[!] --logical-out نام
رابط (منطقی) پل که فریم قرار است از طریق آن فرستاده شود (این گزینه در زنجیره‌های OUTPUT، FORWARD و POSTROUTING کاربرد دارد). اگر نام رابط به '+' ختم شود، هر رابطی که نامش با این عبارت آغاز گردد (بدون در نظر گرفتن '+') منطبق خواهد شد.
[!] -s, --source نشانی[/ماسک]
نشانی MAC مبدا. ماسک و نشانی هر دو به صورت ۶ عدد هگزادسیمال که با دونقطه از یکدیگر تفکیک شده‌اند نوشته می‌شوند. متناوباً می‌توان مقادیر Unicast، Multicast، Broadcast یا BGA (Bridge Group Address) را معین کرد:
Unicast=00:00:00:00:00:00/01:00:00:00:00:00, Multicast=01:00:00:00:00:00/01:00:00:00:00:00, Broadcast=ff:ff:ff:ff:ff:ff/ff:ff:ff:ff:ff:ff یا BGA=01:80:c2:00:00:00/ff:ff:ff:ff:ff:ff. دقت داشته باشید که یک نشانی broadcast با مشخصه multicast نیز تطبیق خواهد داشت. فلگ --src نام مستعار این گزینه است.
[!] -d, --destination نشانی[/ماسک]
نشانی MAC مقصد. برای آگاهی بیشتر پیرامون نشانی‌های MAC به -s (در بالا) رجوع کنید. فلگ --dst یک نام مستعار برای این گزینه است.
اگر در ترکیب با -A یا -I به کار رود، شمارنده‌های بسته و بایت قاعده جدید روی مقادیر pcnt و bcnt تنظیم می‌گردند. چنانچه همراه با فرمان‌های -C یا -D استفاده شود، تنها قواعدی که شمارش بسته و بایت آن‌ها دقیقاً برابر با pcnt و bcnt باشد تطبیق داده می‌شوند.

افزونه‌های ebtables به گونه‌ای پویا در ابزار فضای کاربری بارگذاری می‌شوند؛ بنابراین نیازی نیست همانند آنچه در iptables رایج است آن‌ها را صراحتاً با گزینه -m بارگذاری کنید. این افزونه‌ها قابلیت‌هایی را پوشش می‌دهند که به وسیله ماژول‌های هسته مکمل کدهای هسته ebtables پشتیبانی می‌شوند.

مشخص کردن فیلدهای DSAP/SSAP مربوط به 802.3 یا نوع SNAP. پروتکل باید به صورت LENGTH تعیین شود (گزینه -p در بالا را مشاهده نمایید).

[!] --802_3-sap sap
فیلدهای DSAP و SSAP دو فیلد تک‌بایتی استاندارد 802.3 هستند. این بایت‌ها همواره با یکدیگر برابرند، بنابراین تنها یک بایت (هگزادسیمال) به عنوان آرگومان مورد نیاز است.
[!] --802_3-type type
چنانچه مقادیر 802.3 DSAP و SSAP برابر 0xaa باشند، باید فیلد نوع SNAP بررسی گردد تا پروتکل بار داده مشخص شود. این آرگومان یک مقدار دو بایتی (هگزادسیمال) است. تنها فریم‌های 802.3 با مقادیر DSAP/SSAP برابر 0xaa از نظر نوع بررسی می‌شوند.

تطبیق یک نشانی MAC یا جفت نشانی MAC/IP در برابر فهرستی از نشانی‌های MAC و جفت‌های نشانی MAC/IP. یک ورودی فهرست دارای قالب زیر است: xx:xx:xx:xx:xx:xx[=ip.ip.ip.ip][,]. ورودی‌های متعدد فهرست با کاما از یکدیگر جدا می‌شوند؛ تعیین نشانی IP مرتبط با نشانی MAC اختیاری است. می‌توان چندین جفت نشانی MAC/IP را با نشانی MAC یکسان اما نشانی IP متفاوت (و برعکس) تعیین کرد. اگر نشانی MAC با هیچ ورودی از این فهرست مطابقت نداشته باشد، فریم با قاعده تطبیق نخواهد داشت (مگر آنکه از "!" استفاده شده باشد).

[!] --among-dst فهرست
مقایسه مقصد MAC با فهرست ارائه‌شده. چنانچه فریم اترنت از نوع IPv4 یا ARP باشد، امکان مقایسه با جفت‌های نشانی مقصد MAC/IP از فهرست فراهم خواهد بود.
[!] --among-src فهرست
مقایسه مبدا MAC با فهرست ارائه‌شده. اگر فریم اترنت از نوع IPv4 یا ARP باشد، امکان مقایسه با جفت‌های نشانی مبدا MAC/IP از فهرست وجود دارد.
[!] --among-dst-file پرونده
مشابه با --among-dst است با این تفاوت که فهرست از فایل مشخص‌شده خوانده می‌شود.
[!] --among-src-file پرونده
مشابه با --among-src است اما فهرست داده‌ها از فایل مشخص‌شده خوانده می‌شود.

تعیین فیلدهای (R)ARP. پروتکل باید حتماً به صورت ARP یا RARP تعیین شده باشد.

[!] --arp-opcode opcode
کد عملیات (R)ARP (یک عدد ده‌دهی یا یک رشته؛ برای جزئیات بیشتر به ebtables -h arp مراجعه فرمایید).
[!] --arp-htype hardware-type
نوع سخت‌افزار؛ این می‌تواند یک عدد ده‌دهی یا رشته Ethernet باشد (که type را برابر 1 می‌گذارد). اغلب بسته‌های (R)ARP دارای نوع سخت‌افزاری Ethernet هستند.
[!] --arp-ptype protocol-type
نوع پروتکلی که (r)arp برای آن به کار می‌رود (هگزادسیمال یا رشته IPv4 که نمایانگر 0x0800 است). اکثر بسته‌های (R)ARP دارای نوع پروتکل IPv4 می‌باشند.
[!] --arp-ip-src نشانی[/ماسک]
مشخصه نشانی IP مبدا در (R)ARP.
[!] --arp-ip-dst نشانی[/ماسک]
مشخصه نشانی IP مقصد در (R)ARP.
[!] --arp-mac-src نشانی[/ماسک]
مشخصه نشانی MAC مبدا در (R)ARP.
[!] --arp-mac-dst نشانی[/ماسک]
مشخصه نشانی MAC مقصد در (R)ARP.
[!] --arp-gratuitous
بررسی بسته‌های داوطلبانه ARP (ARP gratuitous): برابری نشانی IPv4 مبدا و نشانی IPv4 مقصد را در سرآیند ARP بازرسی می‌کند.

مشخص ساختن فیلدهای IPv4. پروتکل باید الزاماً به صورت IPv4 تعیین شود.

[!] --ip-source نشانی[/ماسک]
نشانی IP مبدا. فلگ --ip-src نام مستعاری برای این گزینه به شمار می‌رود.
[!] --ip-destination نشانی[/ماسک]
نشانی IP مقصد. فلگ --ip-dst یک نام مستعار برای این گزینه است.
[!] --ip-tos tos
نوع سرویس IP به صورت اعداد هگزادسیمال. IPv4.
[!] --ip-protocol پروتکل
پروتکل IP. فلگ --ip-proto یک نام مستعار برای این گزینه است.
[!] --ip-source-port port1[:port2]
درگاه مبدا یا بازه درگاه‌ها برای پروتکل‌های IP شماره 6 (TCP)، 17 (UDP)، 33 (DCCP) یا 132 (SCTP). گزینه --ip-protocol باید به عنوان یکی از مقادیر TCP، UDP، DCCP یا SCTP مشخص شده باشد. چنانچه port1 حذف شود، 0:port2 به کار می‌رود؛ و اگر port2 حذف شود اما علامت دونقطه درج شده باشد، port1:65535 استفاده می‌گردد. فلگ --ip-sport نام مستعاری برای این گزینه است.
[!] --ip-destination-port port1[:port2]
درگاه مقصد یا بازه درگاه‌ها برای پروتکل‌های IP شماره 6 (TCP)، 17 (UDP)، 33 (DCCP) یا 132 (SCTP). گزینه --ip-protocol باید به عنوان یکی از مقادیر TCP، UDP، DCCP یا SCTP تعیین شده باشد. چنانچه port1 حذف شود، 0:port2 اعمال می‌گردد؛ و اگر port2 حذف شود ولی علامت دونقطه حفظ گردد، port1:65535 استفاده خواهد شد. فلگ --ip-dport نام مستعار این گزینه است.

مشخص ساختن فیلدهای IPv6. پروتکل باید به صورت IPv6 تعیین شده باشد.

[!] --ip6-source نشانی[/ماسک]
نشانی IPv6 مبدا. فلگ --ip6-src نام مستعاری برای این گزینه است.
[!] --ip6-destination نشانی[/ماسک]
نشانی IPv6 مقصد. فلگ --ip6-dst نام مستعاری برای این گزینه محسوب می‌شود.
[!] --ip6-tclass tclass
کلاس ترافیک IPv6 به صورت اعداد هگزادسیمال.
[!] --ip6-protocol پروتکل
پروتکل IP. فلگ --ip6-proto نام مستعار این گزینه است.
[!] --ip6-source-port port1[:port2]
درگاه مبدا یا بازه درگاه‌ها برای پروتکل‌های IPv6 شماره 6 (TCP)، 17 (UDP)، 33 (DCCP) یا 132 (SCTP). گزینه --ip6-protocol باید به عنوان یکی از مقادیر TCP، UDP، DCCP یا SCTP مشخص گردد. اگر port1 حذف شود، 0:port2 استفاده می‌شود؛ اگر port2 حذف شود اما دونقطه ذکر شده باشد، port1:65535 اعمال خواهد شد. فلگ --ip6-sport یک نام مستعار برای این گزینه است.
[!] --ip6-destination-port port1[:port2]
درگاه مقصد یا بازه درگاه‌ها برای پروتکل‌های IPv6 شماره 6 (TCP)، 17 (UDP)، 33 (DCCP) یا 132 (SCTP). گزینه --ip6-protocol باید حتماً به عنوان یکی از مقادیر TCP، UDP، DCCP یا SCTP مشخص شود. چنانچه port1 حذف گردد، 0:port2 استفاده می‌شود؛ و در صورتی که port2 حذف شود اما دونقطه درج شده باشد، port1:65535 استفاده خواهد شد. فلگ --ip6-dport یک نام مستعار برای این گزینه است.
[!] --ip6-icmp-type {type[:type]/code[:code]|typename}
مشخص کردن نوع و کد ipv6-icmp جهت تطبیق. بازه مقادیر برای هر دو مشخصه type و code پشتیبانی می‌شود. نوع و کد با استفاده از یک اسلش از یکدیگر تفکیک می‌گردند. اعداد معتبر برای type و بازه از 0 تا 255 هستند. جهت تطبیق یک نوع منفرد شامل تمامی کدهای معتبر، می‌توان به جای مقادیر عددی از نام‌های نمادین بهره گرفت. فهرست نام‌های شناخته‌شده با فرمان زیر نشان داده می‌شود:
ebtables --help ip6
این گزینه تنها برای --ip6-protocol ipv6-icmp معتبر است.

این ماژول بر مبنای نرخی محدود با استفاده از پالایه سطل ژتون (token bucket filter) تطبیق را انجام می‌دهد. قاعده‌ای که از این افزونه بهره می‌برد تا زمانی که به این حد مجاز نرسد، تطبیق خواهد داشت. از این ماژول می‌توان همراه با نظارتگر --log برای نمونه جهت ثبت وقایع به شکل محدود بهره گرفت. شیوه به‌کارگیری آن مشابه تطبیق limit در iptables است.

--limit [مقدار]
بیشینه میانگین نرخ تطبیق: به عنوان یک عدد همراه با پسوند اختیاری /second، /minute، /hour یا /day مشخص می‌گردد؛ مقدار پیش‌فرض 3/hour است.
بیشینه تعداد اولیه بسته‌ها برای تطبیق: این عدد هر بار که حد تعیین‌شده در بالا برآورده نشود یک واحد شارژ می‌گردد، تا زمانی که به این سقف برسد؛ مقدار پیش‌فرض 5 می‌باشد.

[!] --mark [مقدار][/ماسک]
فریم‌ها را با مقدار نشانه (mark) بدون علامت ارائه‌شده تطبیق می‌دهد. چنانچه یک مقدار و ماسک مشخص شده باشند، پیش از مقایسه با مقدار نشانه تعیین‌شده به دست کاربر، عملگر منطقی AND میان مقدار نشانه فریم و ماسک تعیین‌شده توسط کاربر محاسبه می‌گردد. هنگامی که تنها یک مقدار نشانه مشخص شده باشد، بسته فقط زمانی تطبیق می‌یابد که مقدار نشانه فریم دقیقاً برابر با مقدار نشانه مشخص‌شده کاربر باشد. چنانچه صرفاً یک ماسک تعیین شود، عملیات منطقی AND میان مقدار نشانه فریم و ماسک مشخص‌شده توسط کاربر گرفته می‌شود و فریم در شرایطی تطبیق می‌یابد که نتیجه این عملیات منطقی غیرصفر گردد. صرفاً تعیین یک ماسک زمانی سودمند است که هدف، تطبیق با چندین مقدار نشانه مختلف باشد.

[!] --pkttype-type نوع
تطبیق بر مبنای «کلاس» اترنت فریم که به وسیله کدهای عمومی شبکه تعیین می‌گردد. مقادیر ممکن عبارتند از: broadcast (مقصد MAC نشانی همگانی یا برودکست است)، multicast (مقصد MAC یک نشانی چندپخشی یا چندمقصدی است)، host (مقصد MAC دستگاه شبکه دریافت‌کننده می‌باشد) یا otherhost (هیچ‌یک از گزینه‌های بالا).

تعیین فیلدهای پروتکل STP BPDU (Bridge Protocol Data Unit). نشانی مقصد (-d) باید الزاماً به صورت نشانی گروه پل (BGA) مشخص شود. برای تمام گزینه‌هایی که امکان تعیین بازه‌ای از مقادیر برای آن‌ها وجود دارد، قاعده بر این است که چنانچه کران پایین حذف شود (اما علامت دونقطه باقی بماند)، کمترین کران ممکن برای آن گزینه به کار می‌رود، و اگر کران بالا حذف گردد (اما علامت دونقطه حفظ شود)، بالاترین کران ممکن برای آن گزینه لحاظ خواهد شد.

[!] --stp-type نوع
نوع BPDU (از 0 تا 255)، انواع غیرعددی معتبر عبارتند از config که نشان‌دهنده یک BPDU پیکربندی (=0) است، و tcn که نشانگر یک BPDU اعلان تغییر توپولوژی (=128) می‌باشد.
[!] --stp-flags پرچم
پرچم BPDU (از 0 تا 255)، پرچم‌های غیرعددی معتبر شامل topology-change نشانگر پرچم تغییر توپولوژی (=1)، و topology-change-ack نشان‌دهنده پرچم تایید تغییر توپولوژی (=128) است.
[!] --stp-root-prio [prio][:prio]
بازه اولویت ریشه (0 تا 65535).
[!] --stp-root-addr [نشانی][/ماسک]
نشانی MAC ریشه؛ برای جزئیات بیشتر به گزینه -s نگاه کنید.
[!] --stp-root-cost [cost][:cost]
بازه هزینه مسیر ریشه (0 تا 4294967295).
[!] --stp-sender-prio [prio][:prio]
بازه اولویت فرستنده BPDU (از 0 تا 65535).
[!] --stp-sender-addr [نشانی][/ماسک]
نشانی MAC فرستنده BPDU؛ برای جزئیات بیشتر به گزینه -s نگاه کنید.
[!] --stp-port [port][:port]
بازه شناسه درگاه (0 تا 65535).
[!] --stp-msg-age [age][:age]
بازه زمان‌سنج سن پیام (0 تا 65535).
[!] --stp-max-age [age][:age]
بازه زمان‌سنج بیشینه سن (0 تا 65535).
[!] --stp-hello-time [time][:time]
بازه زمان‌سنج hello time (از 0 تا 65535).
[!] --stp-forward-delay [delay][:delay]
بازه زمان‌سنج تاخیر بازفرستادن (0 تا 65535).

مشخص ساختن فیلدهای اطلاعات کنترل برچسب 802.1Q (TCI). پروتکل باید به صورت 802_1Q (0x8100) مشخص گردد.

[!] --vlan-id id
فیلد شناسه VLAN (VID). عددی ده‌دهی از 0 تا 4095.
[!] --vlan-prio prio
فیلد اولویت کاربر، یک رقم ده‌دهی از 0 تا 7. مقدار VID باید روی 0 ("null VID") تنظیم گردد یا بدون مقدار رها شود (در حالت اخیر VID عمداً روی 0 تنظیم می‌گردد).
[!] --vlan-encap type
نوع/طول فریم اترنت کپسوله‌شده. به صورت یک عدد هگزادسیمال از 0x0000 تا 0xFFFF یا به منزله یک نام نمادین از /etc/ethertypes تعیین می‌گردد.

نظارتگرها تنها فریم‌های در حال عبور را نظاره می‌کنند؛ آن‌ها نه فریم‌ها را دگرگون می‌سازند و نه تصمیمی پیرامون پذیرش یا رد فریم اتخاذ می‌نمایند. این ناظران فریم را فقط زمانی مشاهده می‌کنند که با قاعده منطبق باشد، و این بررسی پیش از اجرای هدف قاعده روی می‌دهد.

نظارتگر log داده‌های توصیفی مربوط به یک فریم را در syslog می‌نویسد.


ثبت گزارش با گزینه‌های پیش‌فرض ثبت وقایع: log-level= info، log-prefix=""، بدون ثبت اطلاعات ip، بدون ثبت اطلاعات arp.

سطح گزارش‌گیری را معین می‌کند. برای مقادیر مجاز، به ebtables -h log رجوع فرمایید. سطح پیش‌فرض info است.

پیشوند متن را برای چاپ در آغاز خط اطلاعات ثبت وقایع مشخص می‌سازد.

هنگامی که فریمی ساخته‌شده بر اساس پروتکل ip با قاعده تطبیق یابد، داده‌های مربوط به ip را ثبت خواهد کرد. حالت پیش‌فرض بر عدم ثبت اطلاعات پروتکل ip است.

چنانچه فریمی ایجادشده با پروتکل ipv6 با قاعده همخوانی داشته باشد، داده‌های پروتکل ipv6 را ثبت می‌کند. در حالت پیش‌فرض داده‌های ipv6 ثبت نمی‌شوند.

هنگامی که فریمی ساخته‌شده توسط پروتکل‌های (r)arp با قاعده تطبیق پیدا کند، اطلاعات (r)arp را به ثبت می‌رساند. حالت پیش‌فرض بر عدم ثبت اطلاعات (r)arp است.

نظارتگر nflog بسته را به منظور ثبت وقایع، به بک‌اند ثبت گزارش بارگذاری‌شده تحویل می‌دهد. این افزونه معمولاً در پیوند با nfnetlink_log به عنوان بک‌اند گزارش‌گیری استفاده می‌گردد که بسته را از طریق یک سوکت netlink به گروه مالتی‌کست تعیین‌شده هدایت می‌کند. یک یا چند فرآیند فضای کاربری می‌توانند با اشتراک در این گروه، بسته‌ها را دریافت دارند.


ثبت وقایع با تنظیمات پیش‌فرض لاگ‌گیری.

گروه netlink (از 1 تا 2^32-1) که بسته‌ها به آن ارسال می‌شوند (فقط برای nfnetlink_log کاربرد دارد). مقدار پیش‌فرض برابر 1 است.

رشته پیشوند برای درج در پیام گزارش، تا طول حداکثر ۳۰ نویسه، که برای متمایز ساختن پیام‌ها در لاگ‌ها کاربرد دارد.

تعداد بایت‌هایی که باید به فضای کاربر کپی شوند (تنها برای nfnetlink_log کاربرد دارد). نمونه‌های nfnetlink_log ممکن است بازه اختصاصی خود را معین نمایند، اما این گزینه آن را لغو می‌کند.

تعداد بسته‌هایی که پیش از ارسال به فضای کاربر باید در صف داخل هسته قرار گیرند (فقط برای nfnetlink_log کاربرد دارد). مقادیر بالاتر منجر به کاهش بار سربار به ازای هر بسته می‌گردد، اما تاخیر تا زمان رسیدن بسته‌ها به فضای کاربر را افزایش می‌دهد. مقدار پیش‌فرض برابر 1 است.

نظارتگر ulog با استفاده از سوکت‌های چندپخشی (multicast) نت‌لینک، بسته را به یک دیمن ثبت وقایع در فضای کاربری تحویل می‌دهد. تفاوت این افزونه با نظارتگر log در آن است که به جای یک متن توصیفی، کل بسته به فضای کاربر منتقل می‌شود و به جای استفاده از syslog، از سوکت‌های چندپخشی نت‌لینک بهره گرفته می‌شود. این نظارتگر پردازش و پارس بسته‌ها به وسیله برنامه‌های فضای کاربری را مقدور می‌سازد؛ همچنین درگاه‌های ورودی و خروجی فیزیکی پل نیز در پیام‌های نت‌لینک گنجانده می‌شوند. ماژول نظارتگر ulog در هنگام بارگذاری در هسته (برای نمونه به وسیله modprobe) دو پارامتر را پذیرا است: nlbufsiz تعیین می‌کند که اندازه بافر برای هر گروه مالتی‌کست نت‌لینک چه میزان باشد. اگر برای نمونه مقدار nlbufsiz=8192 را وارد سازید، حداکثر تا هشت کیلوبایت بسته درون هسته انباشته می‌گردد تا زمانی که به فضای کاربر روانه شوند. تخصیص فضایی افزون بر ۱۲۸ کیلوبایت مقدور نیست. همچنین لطفاً به یاد داشته باشید که این اندازه بافر برای تک‌تک گروه‌های nlgroup مورد استفاده شما تخصیص می‌یابد، بنابراین مصرف کل حافظه هسته با این ضریب افزایش خواهد یافت. مقدار پیش‌فرض 4096 است. flushtimeout مشخص می‌سازد صف پس از سپری شدن چند صدم ثانیه تخلیه گردد، حتی اگر هنوز پر نشده باشد. مقدار پیش‌فرض برابر با 10 (یک‌دهم ثانیه) است.


استفاده از تنظیمات پیش‌فرض: ulog-prefix=""، ulog-nlgroup=1، ulog-cprange=4096، ulog-qthreshold=1.

پیشوند گنجانده‌شده در بسته‌های ارسالی به فضای کاربر را تعیین می‌نماید.

تعیین می‌کند که کدام شماره گروه نت‌لینک مورد استفاده قرار گیرد (عددی از 1 تا 32). اطمینان حاصل فرمایید شماره گروه‌های نت‌لینک تعیین‌شده برای هدف iptables ULOG با شماره‌های استفاده‌شده برای نظارتگر ebtables ulog متفاوت باشند. شماره گروه پیش‌فرض 1 است.

بیشینه بازه کپی به فضای کاربر را برای بسته‌های منطبق با قاعده تعریف می‌کند. بازه پیش‌فرض 0 است که یعنی بیشینه بازه کپی به واسطه nlbufsiz مشخص می‌گردد. تعیین بازه کپی بالاتر از 128*1024 فاقد معناست، زیرا بسته‌های ارسال‌شده به فضای کاربر دارای محدودیت حجم بالایی معادل 128*1024 هستند.

پیش از ارسال بسته‌ها به فضای کاربر از طریق سوکت نت‌لینک، حداکثر به میزان آستانه بسته را صف‌بندی می‌نماید. دقت کنید که بسته‌ها می‌توانند پیش از پر شدن صف نیز به فضای کاربر فرستاده شوند؛ این امر هنگامی رخ می‌دهد که زمان‌سنج هسته ulog سررسید شود (تناوب این زمان‌سنج به flushtimeout وابسته است).

هدف arpreply می‌تواند در زنجیره PREROUTING از جدول nat به کار گرفته شود. اگر این هدف یک درخواست ARP را مشاهده نماید، به صورت خودکار با یک پاسخ ARP پاسخ خواهد داد. نشانی MAC مورد استفاده جهت پاسخ‌دهی را می‌توان مشخص کرد. پروتکل باید الزاماً به صورت ARP تعیین شده باشد. چنانچه پیام ARP یک درخواست ARP نباشد یا اگر درخواست ARP برای یک نشانی IP در شبکه اترنت نباشد، از سوی این هدف نادیده گرفته می‌شود (CONTINUE). اگر درخواست ARP مخدوش یا نامعتبر باشد، دور انداخته خواهد شد (DROP).

نشانی MAC را برای پاسخ دادن مشخص می‌کند: نشانی MAC مبدا اترنت و نشانی MAC مبدا بار مفید ARP با این نشانی پر می‌شوند.
هدف استاندارد را مشخص می‌نماید. پس از ارسال پاسخ ARP، قاعده همچنان باید یک هدف استاندارد ارائه دهد تا ebtables بداند با درخواست ARP چه باید بکند. هدف پیش‌فرض DROP است.

هدف dnat تنها در زنجیره‌های PREROUTING و OUTPUT از جدول nat قابل استفاده است. این هدف مشخص می‌سازد که نشانی MAC مقصد باید دگرگون شود.


دگرگون ساختن نشانی MAC مقصد به نشانی مشخص‌شده. فلگ --to-dst نام مستعاری برای این گزینه است.

هدف استاندارد را مشخص می‌کند. پس از اعمال dnat، قاعده همچنان موظف است هدفی استاندارد تعیین نماید تا ebtables چگونگی برخورد با فریم دگرگون‌شده را بداند. هدف پیش‌فرض ACCEPT است. قرار دادن آن روی CONTINUE به شما امکان خواهد داد تا چندین افزونه هدف را روی یک فریم یکسان اعمال کنید. قرار دادن آن روی DROP تنها در زنجیره BROUTING دارای معناست، گرچه استفاده از هدف redirect در آن زنجیره منطقی‌تر به نظر می‌رسد. RETURN نیز مجاز است. دقت داشته باشید که استفاده از RETURN در یک زنجیره پایه (به دلایل آشکار) مجاز نمی‌باشد.

هدف mark می‌تواند در تمامی زنجیره‌های هر جدولی به کار گرفته شود. چنانچه کدهای bridge-nf در هسته لینوکس کامپایل شده باشند، امکان استفاده از نشانه‌گذاری فریم/بسته در هر دوی ebtables و iptables فراهم است. هر دو ابزار نشانه‌گذاری را در جایگاهی یکسان ثبت می‌کنند؛ این موضوع گونه‌ای ارتباط و هماهنگی میان ebtables و iptables را مقدور می‌سازد.


نشانه‌گذاری فریم با مقدار نامنفی داده‌شده.

اعمال عملگر منطقی OR روی فریم با مقدار نامنفی تعیین‌شده.

اعمال عملگر منطقی AND روی فریم با مقدار نامنفی تعیین‌شده.

اعمال عملگر منطقی XOR روی فریم با مقدار نامنفی تعیین‌شده.

هدف استاندارد را معین می‌کند. پس از نشانه‌گذاری فریم، قاعده همچنان باید یک هدف استاندارد تعیین کند تا ebtables چگونگی ادامه کار را بداند. هدف پیش‌فرض ACCEPT است. قرار دادن آن روی CONTINUE می‌تواند به شما اجازه دهد در قواعد پسین زنجیره کارهای دیگری با فریم به انجام رسانید.

هدف redirect نشانی MAC مقصد را به نشانی دستگاه پلی تغییر می‌دهد که فریم از آن واصل شده است. این هدف تنها در زنجیره PREROUTING از جدول nat مجاز به استفاده است. نشانی MAC پل به عنوان نشانی مقصد به کار برده می‌شود.


هدف استاندارد را مشخص می‌کند. پس از اعمال هدایت مجدد MAC، قاعده همچنان باید یک هدف استاندارد ارائه نماید تا ebtables بداند چه تدبیری اتخاذ کند. هدف پیش‌فرض ACCEPT است. قرار دادن آن روی CONTINUE امکان استفاده از چندین افزونه هدف روی یک فریم یکسان را مقدور می‌سازد. قرار دادن آن روی DROP در زنجیره BROUTING سبب مسیریابی فریم‌ها خواهد شد. RETURN نیز مجاز است. دقت فرمایید که بهره‌گیری از RETURN در یک زنجیره پایه مجاز نیست.

هدف snat تنها در زنجیره POSTROUTING از جدول nat امکان استفاده دارد. این افزونه مشخص می‌کند که نشانی MAC مبدا باید دستخوش تغییر گردد.


دگرگون کردن نشانی MAC مبدا به نشانی مشخص‌شده. فلگ --to-src نام مستعاری برای این گزینه محسوب می‌گردد.

هدف استاندارد را معین می‌کند. پس از پیاده‌سازی snat، قاعده همچنان باید یک هدف استاندارد ارائه کند تا ebtables رفتار مناسب با فریم را بداند. هدف پیش‌فرض ACCEPT است. قرار دادن آن روی CONTINUE می‌تواند امکان به‌کارگیری چندین افزونه هدف روی همان فریم را فراهم سازد. قرار دادن آن روی DROP منطقی نیست، هرچند انجام آن نیز ممکن است. RETURN نیز مجاز است. دقت نمایید که به‌کارگیری RETURN در یک زنجیره پایه مجاز نمی‌باشد.

چنانچه بسته یک پیام arp باشد و طول نشانی سخت‌افزار در سرآیند arp برابر با ۶ بایت باشد، نشانی سخت‌افزاری مبدا درون سرآیند arp را نیز تغییر می‌دهد.

/etc/ethertypes

مشاهده کنید: http://netfilter.org/mailinglists.html

نگارشی از ebtables که این صفحه راهنما همراه آن عرضه می‌شود از تطبیق string پشتیبانی نمی‌کند. گذشته از این، پشتیبانی از گزینه‌های اتمیک (--atomic-file, --atomic-init, --atomic-save, --atomic-commit) پیاده‌سازی نشده است، اگرچه ممکن است با توجه به خاصیت اتمیک و تراکنشی بنیادین nftables، فرامین ebtables-save و ebtables-restore کاملاً جایگزین آن‌ها گردند. در پایان، این فهرست به احتمال فراوان کامل نمی‌باشد.

xtables-nft(8)، iptables(8)، ip(8)

مشاهده کنید: https://wiki.nftables.org

December 2011