در این قسمت میخوایم با هم به بخش Interface/Bridge در میکروتیک بپردازیم؛ با ما همراه باشید.
خلاصهای از مفهوم:
Bridging میتونه شبکه هایی از جنس اترنت مثل: Ethernet over IP، استاندارد IEEE 802.11 در ap-bridge، شبکه هایی با ساختار WDS و VLAN ها رو با استفاده از MAC Bridges به همدیگه متصل کنه. در حالت کلی Interface/Bridge میتونه ارتباط بین Hostهای دو شبکه خصوصی رو مثل یک پل ارتباطی فراهم کنه. این امر به گونهایست که انگا دو شبکه خصوصی ما حالا به یک شبکه بزرگتر تبدیل شدهاند. جالب اینجاست که شما در این شبکه ساخته شده توسط Bridge هیچگونه تفاوتی بین Host شبکه اول و دوم احساس نمیشود. همچنین الگوریتمی در Bridge ها وجود دارد که از بوجود اومدن Loop در شبکه ما جلوگیری میکنه.
ویژگیها:
- DHCP Option-82 این ویژگی به شما اجازه میدهد تا اطلاعات اضافی به پیامهای DHCP که توسط کلاینتها ارسال میشود، در اختیار داشته باشین. این اطلاعات اضافی به عنوان “DHCP Option 82” یا “Relay Agent Information Option” شناخته میشود. این ویژگی میتواند برای جلوگیری از حملات DHCP Spoofing استفاده شود. اطلاعات اضافی که در Option 82 اضافه میشود میتواند شامل شناسههای پورت، اطلاعات جغرافیایی، یا شناسههای VLAN باشد.
- admin-mac به طور پیشفرض، آدرس MAC یک Bridge از یکی از پورتهای آن گرفته میشود، اما با تنظیم admin-mac میتوانید آدرس MAC خاصی رو به صورت دستی تعیین کنید. این خاصیت زمانی میتونه کارآمد باشه که میخواین آدرس MAC خاصی برای Bridge تعریف کنید. admin-mac برای کاهش تغییرات غیر منتظره و همچنین ساده تر کردن مدیریت شبکه استفاده میشه.
- ageing-time مربوط به مدت زمانی است که یک آدرس MAC در MAC-table یک Bridge ذخیره میشود. مدت زمان انقضای این آدرسها از اهمیت بالایی برخوردار است چرا که میتونه بر عملکرد و کارایی شبکه تاثیر بزاره.
- arp پروتکل ARP برای ترجمه آدرسهای IP به آدرسهای MAC در شبکههای اترنت استفاده میشود و به شما این امکان را میدهد که نحوه رفتار دستگاه با پروتکل ARP را مشخص کنید.
+ enabled در این حالت، ARP به صورت عادی عمل میکند. دستگاه ARP Requests رو ارسال و ARP Replies رو دریافت میکند و جدول ARP را بهروزرسانی میکند.
+ proxy-arp در این حالت، دستگاه به عنوان یک پراکسی برای درخواستهای ARP عمل میکند. این به این معناست که اگر دستگاه درخواست ARP برای آدرسی دریافت کند که در شبکه محلی (LAN) نیست، ولی در شبکهای است که دستگاه به آن دسترسی دارد، دستگاه به جای مقصد اصلی به درخواست پاسخ میدهد.
+ reply-only در این حالت، دستگاه فقط به درخواستهای ARP پاسخ میدهد و هیچ درخواست ARP ای ارسال نمیکند. این گزینه معمولاً در شبکههایی که جدولهای ARP به صورت استاتیک تنظیم شدهاند استفاده میشود.+ disabled در این حالت، ARP بهکلی غیرفعال میشود. دستگاه هیچ درخواست یا پاسخی به ARP نمیفرستد و دریافت نمیکند. - arp-timeout بازه زمانیست که ر کورد ARP پس از دریافت هیچ بسته ای از IP در ARP-table تگهداری میشود. مقدار خودکار آن همان مقدار arp-timeout در IP/Setiings است که پیش فرض آن ۳۰ ثانیه میباشد.
- auto-mac به صورت خودکار یک آدرس MAC از پورتهای Bridge انتخاب کرده و به عنوان MAC Bridge از آن استفاده میکند. این آدرس از اولین پورتی که داخل Bridge اد شده گرفته میشود.
- commentمیتونین توضیحات مختصری راجب هر interface داشته باشین.
- dhcp-snoopingفعال یا غیر فعال کردن DHCP Snooping بر روی Bridge.
- disabledفعال یا غیر فعال کردن Bridge.
- ether-type نوع Ether را برای ما تغییر میده و برای تعیین اینکه آیا بسته دارای تگ VLAN هست یا نه استفاده میشه. بسته هایی که دارای Ether-type یکی هستند به عنوان بسته های برچسب گذاری شده در نظر گرفته میشوند. در نظر داشته باشید که این ویژگی زمانی عمل میکند که VLAN filtering روی yes تنظیم شده باشد.
- fast-forwardبا فعالسازی این ویژگی، بستهها با کمترین تأخیر از یک پورت به پورت دیگر منتقل میشوند، که این امر منجر به کاهش بار پردازشی روی CPU و افزایش سرعت انتقال دادهها در شبکه میشود.
- forward-delay پس از راهاندازی روتر یا فعال کردن interface هامون در وضعیت listening/learning قرار میگیره.
- frame-typesاین امکان را میدهد که انواع بستههای (frames) شبکه که یک bridge میتواند دریافت و پردازش کند رو مشخص کنید. این ویژگی به خصوص برای تنظیمات پیشرفته و بهینهسازی عملکرد شبکه مورد استفاده قرار میگیرد. در نظر داشته باشین که این قابلیت تنها زمانی عمل میکنه که VLAN filtering روی yes تنظیم شده باشد.
- igmp-snooping با نظارت بر پیام
های IGMP (Internet Group Management Protocol)، به سوئیچها و روترها کمک میکند تا فقط بستههای Multicast را به پورتهای مورد نیاز ارسال کنند. این امر باعث کاهش ترافیک غیرضروری و بهبود کارایی شبکه میشود. - igmp-version نسخه IGMP رو میتونین انتخاب کنین. در نظر داشته باشین این ویژگی زمانی عمل میکند که igmp-snooping روی yes تنظیم شده باشد.
- ingress-filterring به شما امکان میدهد که کنترل دقیقتری روی بستههایی که وارد یک bridge میشوند، داشته باشید. این ویژگی به خصوص برای افزایش امنیت شبکه و جلوگیری از برخی حملات شبکه مفید است. و میتونین تصمیم بگیرین که کدام بستهها باید به وسیله bridge پذیرفته شوند و کدام بستهها باید حذف شوند.
- l2mtu حداکثر سایز یک بسته لایه دویی (Frame) رو بدون MAC Header که میتونه توسط این interface ارسال بشه رو نشون میده.
- last-member-interval نشاندهنده زمانی است که دستگاه باید منتظر بماند تا از حضور آخرین عضو گروه Multicast در شبکه اطمینان حاصل کند. این پارامتر بعد از دریافت پیام IGMP Leave (پیام ترک گروه) از یک Host، فعال میشود. اگر تا پایان این زمان، هیچ پیام Join جدیدی برای گروه Multicast دریافت نشود، دستگاه فرض میکند که هیچ عضوی برای آن گروه در شبکه باقی نمانده است و میتواند تصمیم بگیرد که آن گروه Multicast را حذف کند تا از ارسال بیفایده بستههای Multicast به دستگاههایی که به آنها نیاز ندارند جلوگیری کند.
- last-member-query-count این ویژگی به تنظیم تعداد پرسوجوهای اخیر برای یک عضو گروه در پروتکل IGMP میپردازد. پرسوجوهای IGMP برای جمعآوری اطلاعات درباره اعضای فعال یک گروه multicast ارسال میشوند.
- max-hops یک ویژگی است که برای محدود کردن تعداد هاپها یا پرشهای مجاز برای بستهها استفاده میشود. این ویژگی به خصوص برای جلوگیری از loop در توپولوژی شبکه و کنترل ترافیک مفید است.
- max-message-age نشاندهنده حداکثر زمانی است که یک پیام BPDU (Bridge Protocol Data Unit) میتواند در شبکه باقی بماند و اعلام کند که یک برگه توپولوژی دیگر (که ممکن است به دلایل مختلف از جمله از دست رفتن یا تغییر مسیر ناگهانی اتفاق افتاده است) راهاندازی مجدد شود.
- membership-interval نشاندهنده فاصله زمانی است که دستگاه (مانند یک switch یا bridge) باید منتظر بماند تا از حضور فعال اعضای گروه Multicast در شبکه اطمینان حاصل کند. این فاصله زمانی به طور مستقیم تأثیرگذار بر عملکرد IGMP Snooping و مدیریت بهینه تر ترافیک Multicast است.
- mld-version میتونید نسخه MLD رو انتخاب کنین. نسخه ۲ آن از source-specific multicast پشتیبانی میکند.
- mtu: به اندازه حداکثر بستههای دادهای اشاره دارد که میتوانند از یک پورت به دیگری ارسال شوند. این تنظیمات میتواند بر روی هر پورت یا Bridge Interface اعمال شود تا اطمینان حاصل شود که شبکه به درستی کار میکند و بستهها به درستی انتقال مییابند.
- multicast-querier: در MikroTik، میتوان Multicast querier رو بر روی یک interface bridge تنظیم کرد تا از ارسال پرسوجوهای IGMP به صورت خودکار و بهینه برای تمامی گروههای Multicast در شبکه مسئول باشد. این ویژگی به کنترل درست ترافیک Multicast و جلوگیری از ارسال بیش از حد پرسوجوها کمک میکند.
- multicast-router: در MikroTik، Multicast Router به عنوان یک پارامتر مهم برای تنظیمات interface bridge برای پشتیبانی از Multicast Routing معرفی میشود. با فعال کردن Multicast Router، دستگاه MikroTik به عنوان یک Router Multicast عمل میکند که مسئول ارسال و دریافت بستههای Multicast در شبکه است.
- name: نام interface bridge رو میتونیم از اینجا تعیین کنیم.
- priority: توسط STP برای تعیین root bridge استفاده می شود و توسط MSTP برای تعیین CIST و root bridge منطقه ای IST استفاده می شود.
- protocol-mode: برای تنظیم نحوه رفتار Bridge Interface با پروتکلهای مختلف مورد استفاده قرار میگیرد. این ویژگی میتواند بر روی هر Bridge Interface تنظیم شود تا بهترین عملکرد را برای شرایط خاص شبکه فراهم کند.
- pvid: در MikroTik، هر پورت در Bridge Interface میتواند یک PVID داشته باشد که مشخص میکند بستههایی که از این پورت وارد میشوند و VLAN Tag ندارند، به کدام VLAN اختصاص دارند.
- querier-interval: به کنترل فرکانس ارسال پرسوجوهای IGMP توسط Multicast Querier برای شناسایی اعضای گروههای Multicast میپردازد. این فاصله زمانی تأثیر زیادی بر عملکرد و کارایی Multicast در شبکه دارد.
- query-interval: برای تغییر فاصله زمانی که درخواست ها عضویت عمومی IGMP ارسال میکنه استفاده میشود در نظر داشته باشید که این ویژگی زمانی عمل میکنه که IGMP snooping و multicast querier روی yes تنظیم شده باشد.
- region-name: میتونین MSTP region name رو تعیین کنین. در نظر داشته باشین این ویژگی فقط زمانی عمل میکنه که protocol-mode بر روی mstp تنظیم شده باشد.
- region-revision: میتونین ادر یان بخش MSTP configuration revision number رو تنظیم کنین. در نظر داشته باشین این ویژگی فقط زمانی عمل میکنه که protocol-mode بر روی mstp تنظیم شده باشد.
- startup-query-count: برای تغییر مدت زمانی که یک bridge شروع به ارسال درخواست های IGMP general membership queries پس از فعال شدن bridge می کند، استفاده می شود. در نظر داشته باشین که این ویژگی فقط زمانی عمل میکند که igmp-snooping و multicast-querier روی yes تنظیم شده باشد.
- Startup Query Interval: مشخص میکند که Multicast Querier با چه فاصله زمانی باید پرسوجوهای اولیه IGMP رو برای شناسایی اعضای گروههای Multicast ارسال کند. این تنظیمات برای زمانی که دستگاه MikroTik راهاندازی مجدد میشود یا تغییراتی در توپولوژی شبکه ایجاد میشود، بسیار مهم است.
- Transmit Hold Count: مشخص میکند که یک bridge چند بسته (BPDU – Bridge Protocol Data Units) میتواند در یک بازه زمانی مشخص ارسال کند. این ویژگی برای کنترل جریان ترافیک و جلوگیری از ارسال بیش از حد بستهها که میتواند باعث ازدحام و کاهش کارایی شبکه شود، مورد استفاده قرار میگیرد.
Bridge Settings:
- use-ip-firewall: یک ویژگی است که به شما اجازه میدهد تا ترافیک عبوری از bridge رو به فایروال IP ارسال کنید، به این معنا که قوانین فایروال IP میتوانند روی ترافیک لایه ۲ (مانند
Ethernet) اعمال شوند. با فعال کردن این گزینه، شما میتوانید ترافیک شبکه را دقیقتر و با استفاده از قوانین فایروال IP کنترل کنید. - use-firewall-ip-for-pppoe: به شما امکان میدهد تا ترافیک PPPoE (Point-to-Point Protocol over Ethernet) که از طریق bridge عبور میکند را توسط فایروال IP فیلتر کنید. این قابلیت به شما اجازه میدهد تا قوانین فایروال IP را برای ترافیک PPPoE اعمال کنید، که میتواند به بهبود امنیت و مدیریت دقیقتر ترافیک کمک کند. در نظر داشته باشید که این ویژگی زمانی عمل میکند که use-ip-firewall بر روی yes تنظیم شده باشد.
- use-ip-firewall-for-vlan: به شما امکان میدهد تا ترافیک VLAN که از طریق bridge عبور میکند را توسط فایروال IP فیلتر کنید. این قابلیت به شما اجازه میدهد تا قوانین فایروال IP را برای ترافیک VLAN اعمال کنید، که میتواند به بهبود امنیت و مدیریت دقیقتر ترافیک کمک کند. در نظر داشته باشید که این ویژگی زمانی عمل میکند که use-ip-firewall بر روی yes تنظیم شده باشد.
- allow-fast-path: امکان فعال کردن FastPath به صورت globally.
- bridge-fast-path-active: به شما امکان میدهد تا بررسی کنید که آیا حالت Fast Path برای یک bridge فعال است یا خیر. حالت Fast Path به منظور افزایش عملکرد و کاهش تاخیر در پردازش ترافیک شبکه طراحی شده است و به ویژه در سناریوهای با ترافیک بالا میتواند مفید باشد.
- bridge-fast-path-packets: نشاندهنده تعداد بستههایی است که از طریق مسیر سریع پردازش شدهاند. وقتی Fast Path فعال است، بستهها با کمترین میزان پردازش نرمافزاری مسیریابی میشوند که میتواند عملکرد شبکه را بهبود بخشد.
- bridge-fast-path-bytes: نشاندهنده تعداد بایتهایی است که از طریق مسیر سریع پردازش شدهاند. وقتی Fast Path فعال است، دادهها با کمترین میزان پردازش نرمافزاری مسیریابی میشوند که میتواند عملکرد شبکه را بهبود بخشد.
- bridge-fast-forward-packets: تعداد بستههایی رو نشان میدهد که با استفاده از مکانیزم Fast Forward پردازش شدهاند. مکانیزم Fast Forward باعث میشود تا بستهها با کمترین میزان پردازش نرمافزاری و با سرعت بیشتر مسیریابی شوند.
- bridge-fast-forward-bytes: نشاندهنده تعداد بایتهایی است که با استفاده از قابلیت Fast Forward پردازش شدهاند. وقتی Fast Forward فعال است، دادهها با کمترین میزان پردازش نرمافزاری و حداکثر سرعت ممکن از طریق bridge مسیریابی میشوند که میتواند عملکرد و بهینهسازی شبکه را بهبود بخشد.
Port Settings:
- auto-isolate: وقتی این ویژگی بر روی یک پورت فعال باشد، دستگاههای متصل به آن پورت قادر به برقراری ارتباط با دستگاههای متصل به دیگر پورتهای شبکه نخواهند بود. این اقدام به جلوگیری از ارتباطات غیرمجاز و افزایش امنیت شبکه کمک میکند.
- bpdu-guard: ویژگی (Bridge Protocol Data Unit Guard) به شما کمک میکند تا از وقوع حوادثی مثل network loops که ممکن است باعث اختلال در شبکه بشن، جلوگیری کنید. این ویژگی به طور خاص برای محافظت از spanning tree شبکه مفید است.
- bridge: میتونید چندین پورت رو در یک گروه bridge قرار داده و این گروه را به عنوان یک واحد شبکهسازی مدیریت کنید.
- broadcast-flood: بردکستها در شبکهها به عنوان پیامهایی استفاده میشوند که به تمام دستگاههای متصل به یک شبکه ارسال میشوند و در برخی موارد ممکن است منجر به مصرف بالای پهنای باند یا ایجاد مشکلات در عملکرد شبکه شوند.
- edge: پورت ها رو به عنوان edge-port یا non-edge و یا به صورت discovery-edge میتونید فعال کنین. edge port ها به یک شبکه LAN متصل میشوند که به هیچ bridge دیگهای متصل نیستند. همچنین یک edge port از قرار گرفتن در وضعیت learning and listening داخل STP صرفنظر میکند و مستقیما به وضعیت forwarding ارسال میشود این امر باعث کاهش STP initialization time میشود. اگر پورت ما کانفیگ شده باشد که به صورت discovery edge port عمل کنه به محض اینکه تشخیص بده یک BDPU داره به سمت edge port ما میاد؛ پورت به حالت non-edge port در میاد. در نظر داشته باشید که این ویژگی زمانی که protocol-mode بر روی none تنظیم شده باشد هیچ تاثیری نخواهد داشت.
+ در حالت “no”: به معنای غیرفعال بودن edge است. به این معنی که پورت در حالتهای Learning و Listening در STP شرکت میکند. این نوع پورتها قادر به تبادل BPDU با سایر دستگاهها هستند و میتوانند به عنوان مسیرهای ممکن در spanning tree شرکت کنند.
+ در حالت “no-discover”: پورتهای non-edge با فعال بودن این تنظیمات، به عنوان پورتهای non-edge در STP عمل میکنند و در حالتهای Learning و Listening شرکت میکنند. اما اگر BPDU دریافت نکنند، ممکن است به Edge Port تبدیل شوند.
+ در حالت “yes”: این تنظیمات به معنای فعال بودن Edge بدون discovery است. به این معنی که پورت به عنوان Edge تشخیص داده میشود و به طور مستقیم به حالت Forwarding در STP منتقل میشود بدون نیاز به مشاهده BPDU.
+ در حالت “yes-discover”: در این حالت، پورت به عنوان Edge تشخیص داده میشود و با فعال بودن discovery، به صورت مستقیم به حالت ارسال در STP منتقل میشود. اگر پورت BPDU دریافت کند، ممکن است وضعیتش به حالت عادی non-edge برگردد.
+در حالت “auto”: این تنظیمات همانند no-discover عمل میکند، با این تفاوت که در صورت تشخیص wireless interface غیرفعال bridge-mode، خودکار به Edge تنظیم میشود بدون نیاز به discovery. - external-fdb: این بخش از wireless registration table استفاده میکنه برای بالا بردن سرعت در bridge host learning. در صورتی که هیچ wireless interface در bridge نباشد، شما میتونید external-fbd رو در حالت yes قرار بدین تا از قابلیت MAC learning صرفنظر کند. در این صورت bridge شما مانند یک Hub عمل خواهد کرد.
- fast-leave: این ویژگی به شما امکان میدهد تا سریعتر اعضای یک گروه multicast رو مدیریت کنید، که این امر میتواند به بهبود عملکرد شبکه به ویژه در محیطهایی که ترافیک multicast زیادی دارند کمک کند در نظر داشته باشین این قابلیت زمانی عمل میکنه که igmp-snooping بر روی yes تنظیم شده باشد.
- frame-types: برای شما allowed ingress frame types رو بر روی یک پورت bridge مشخص میکنه. در نظر داشته باشین که این قابلیت فقط زمانی عمل میکنه که vlan-filtering بر روی yes تنظیم شده باشد.
- ingress-filtering: به شما این امکان رو میده تا VLAN ingress filtering رو بتونین فعال یا غیر فعال کنید. همچنین این قابلیت بررسی میکند که آیا ingress port ما عضوی از VLAN ID های دریافتی در bridge VLAN table ما هست یا نه. این ویژگی باید با frame-types استفاده شود تا تعیین شود ingress traffic باید در حالت tagged باشد یا نه.
- learn: یکی از ویژگیهای مهم در شبکههای کامپیوتری است که به bridge اجازه میدهد تا MAC address tables خودشون رو به صورت خودکار پر کنند.+ در حالت “yes”: در این حالت MAC learning فعال میشود.
+ در حالت “no”: در این حالت MAC learning غیر فعال میشود.
+در حالت “auto”: بررسی میکند که آیا bridge port ما wireless interface هست یا نه. اگر چنین بود، به جای استفاده از MAC learning table، از wireless registration table استفاده میکند. این کار زمانی انجام میشود که wireless interface در حالتهای مشخص شده (ap-bridge، bridge، wds-slave) باشد و حالت bridge برای این wireless interface غیرفعال باشد. - multicast-router: به نحوه برخورد و مدیریت ترافیک Multicast توسط پورتها و تجهیزات شبکه اشاره دارد. این تنظیمات به سوئیچها و پلها bridges کمک میکنند تا به درستی ترافیک multicast را مدیریت و مسیریابی کنند.
- horizon: شما میتونین از split horizon bridge برای جلوگیری از loop در شبکتون استفاده کنین. برای این کار مقدار ثابتی رو برای گروهی از portها تنظیم کنید تا از ارسال دیتا به portهایی با horizon value یکسان جلوگیری شود. این ویژگی یک software feature است که hardware offloading رو غیر فعال میکنه
- internal-path-cost: این قابلیت به هزینه (cost) یک مسیر به interface برای MSTI0 درون یک region اشاره دارد . در نظر داشته باشید که این ویژگی زمانی عمل میکند که protocol-mode بر روی yes تنظیم شده باشد.
- interface: نام یک interface رو میتونی از این قسمت وارد کنین.
- path-cost: هزینه (cost) یک مسیر به interface. اگر از پروتکل STP استفاده کنین برای شما بهترین مسیر رو از نظر هزینه (cost) پیدا میکند، اگر از پروتکل MSTP استفاده کنید بهترین مسیر رو بین region های مختلف تشخیص میدهد.
- point-to-point: تشخیص میدهد که یکی از پورتهای bridge ما با استفاده از لینک point-to-point به همدیگر متصل هستند یا نه. در نظر داشته باشید که اگر این ویژگی بر روی yes تنظیم شده باشد شما دارید کاری میکنید که لینکتون به صورت point-to-point باشد. همچنین از ظریق لینک درست شده BDPUهای دیوایسهای دیگر رو هم شناسایی میکند و نگه میدارد. اگر روی no تنظیم شده باشد انتظار میرود که لینک شما BDPUهای دیوایس های دیگر رو هم دریافت کند. در نظر داشته باشد اگر دیوایس دیگری هم به غیر از دستگاه های مبدا و مقصد بخواهد از لینک استفاده بنماید این ویژگی باید بر روی no تنظیم شده باشد. همچنین اگر Ethernet link ما Full-duplex باشد. به صورت خودکار لینک point-to-point برای ما فعال میشود.
- priority: این ویژگی به اولویت و تقدم interface ها اشاره دارد.اگر STP استفاده شده باشد، root-port رو را تشخیص میدهد. اگر MSTP استفاده شده باشد، root-port را بین regionهای مختلف تشخیص میدهد.
- pvid: مشخص میکند که ترافیک ورودی که untagged هست به کدام VLAN اختصاص داده شود. در نظر داشته باشید که این ویژگی فقط زمانی عمل میکند که vlan-filtering بر روی yes تنظیم شده باشد.
- restricted-role: اگر این ویژگی بر روی پورتی تنظیم شده باشد، STP این پورت رو دیگه از root-port شدن محروم میکنه. در نظر داشته باشید این ویژگی تنها زمانی عمل میکند که protocol-mode بر روی mstp تنظیم شده باشد.
- restricted-tcn: به وسیله این ویژگی فرستادن Topology Change Notification (TCN) برای پورتها غیر فعال میشود. در نظر داشته باشید که تنها زمانی این ویژگی عمل میکند که protocol-mode بر روی mstp تنظیم شده باشد.
- tag-stacking: تمامی packetها رو به عنوان untagged packets میفرستد و packet های موجود رو با یک tag VLAN دیگه برچسبگذاری میکند صرف نظر از اینکه آیا packetها قبلا tag VLAN داشتهاند یا نه. بستههای ما (packets) با یک VLAN ID که با مقدار pvid مطابقت دارد tag میشوند و از EtherType استفاده میکنند. در نظر داشته باشید این ویژگی تنها زمانی عمل میکند که vlan-filtering بر روی yes تنظیم شده باشد.
- trusted: این ویژگی هنگامی که بر روی یک پورت فعال باشد به DHCP packets اجازه میدهد که به سمت DHCP Server از طریق این پورت ارسال شوند. عمدتا برای این استفاده میشود که بتوانیم یک سری محدودیت ها را برای سرورهای غیر مجاز اعمال کنیم.(جهت ارائه اطلاعات مخرب برای کاربران تحت شبکه)
- unknown-multicast-flood: این تنظیمات به کنترل نحوه برخورد با multicast traffic که مقصد آن در multicast address table شناخته نشده است، کمک میکند. وقتی
unknown-multicast-flood
فعال باشد، multicast traffic ناشناخته به همه bridge portها ارسال میشود. این تنظیم به صورت پیشفرض در بسیاری از دستگاهها فعال است. وقتیunknown-multicast-flood
غیرفعال باشد، multicast traffic ناشناخته فقط به پورتهای مشخص شده ارسال میشود و به همه پورتها ارسال نمیشود. - unknown-unicast-flood: این ویژگی به نحوه برخورد با unknown unicast traffic مربوط میشود.شما میتوانید رفتار bridge رو در مواجهه با unknown unicast traffic با استفاده از گزینه
unknown-unicast-flood
کنترل کنید. این تنظیمات مشخص میکنند که آیا unknown unicast traffic باید به همه پورتها ارسال شود یا نه.
Host Table:
- age: این ویژگی به مدت زمانی که تا آخرین packet از سمت host دریافت شده است مربوط میشود. فقط رمانی نشان داده میشود که ورودی ها از سمت dynamic , non-external و non-local host باشند.
- bridge: ورودی bridge ما به این بخش تعلق دارد.
- disabled: با این ویژگی ورودی static host غیر فعال خواهد شد.
- dynamic: با این ویژگی host به صورت dynamic ساخته میشود.
- external: زمانی که host با استفاده از یک external table گرفته شده باشد. مثلا از یک switch chip یا wireless registration table. همچنین با اضافه کردن ورودی یک static host به یک bridge port سختافزاری باعث میشود که یک external flag فعال نشان داده شود.
- invalid: با این ویژگی host entry در حالت invalid قرار میگیر:د. میتواند برای Host هایی که به صورت static کانفیگ شدن در interface های از قبل حذف شده نشان داده شود.
- local: زمانی که ورودی Hostها از طرف خود bridge ساخته شوند. در نظر داشته باشید که میتواند تمام local interface ها را نشان دهد.
- mac-address: به همان MAC ادرس خود Host اشاره دارد.
- on-interface: به bridged-interfaceهایی که host ها به آن متصل هستند.
Monitoring:
برای گرفتن active host table:
[admin@Farkiantech] > interface bridge host print
Flags: X – disabled, I – invalid, D – dynamic, L – local, E – external
# MAC-ADDRESS VID ON-INTERFACE BRIDGE AGE
۰ D E D4:CA:6D:E1:B5:7E ether2 bridge1
۱ DL E4:8D:8C:73:70:37 bridge1 bridge1
۲ D D4:CA:6D:E1:B5:7F ether3 bridge2 ۲۷s
۳ DL E4:8D:8C:73:70:38 bridge2 bridge2
Static entries:
- bridge: به interface bridge که قراره MAC Address به آن اختصاص داده شود.
- disabled: ورودی Static MAC Address رو فعال یا غیر فعال میکنه.
- interface: نام interface رو میتونین اینجا وارد کنین.
- mac-address: به MAC Address که به صورت static به host ما اضافه میشود.
- vid: به ورودی MAC Address هایی که به صورت static اضافه شدهاند یک VLAN ID میدهد.
Bridge Monitoring:
- current-mac-address: همان MAC Address که بر روی bridge تنظیم شده.
- designated-port-count: به ما تعداد designated bridge port ها رو میدهد.
- port-count: به ما تعداد پورت های bridge رو میدهد.
- root-bridge: آن bridge که به عنوان root bridge شناخته شده (بوسیله پروتکل Spanning Tree)را به ما نشان میدهد.
- root-bridge-id: به ما یک ID برای root bridge میدهد(این ID یک فرم است که متشکل از bridge-priority و bridge-MAC-address میباشد).
- root-path-cost: هزینه (cost) کلی که از بک مسیر به طرف root bridge محاسبه میشود.
- root-port: پورتی که به root bridge متصل هست.
- state: وضعیت یک bridge را به ما نشان میدهد.
برای مانیتورینگ یک bridge:
[admin@Farkiantech] /interface bridge> monitor bridge1 state: enabled current-mac-address: 00:0C:42:52:2E:CE root-bridge: yes root-bridge-id: 0x8000.00:00:00:00:00:00 root-path-cost: 0 root-port: none port-count: 2 designated-port-count: 0 [admin@Farkiantech] /interface bridge>
Bridge Port Monitoring:
- edge-port: نشان میدهد که آیا یک پورت edge-port هست یا نه.
- edge-port-discovery: نشان میدهد که آیا پورت ما بر روی تشخیص edge-port به صورت خودکار تنظیم شده است یا نه.
- external-fdb: نشان میدهد که آیا registration teble به جای forwarding database استفاده میشود یا نه
- forwarding: نشان میدهد که پورت ما توسط STP بلاک نشده باشد.
- hw-offload-group: به ما switch chip که پورت از آن استفاده میکند را نشان میدهد.
- learning: نشان میدهد که آیا پورت ما قادر به گرفتن MAC آدرس ها هست یا نه.
- multicast-router: نشان میدهد که آیا multicast router بوسیله پورت ما شناسایی شده است یا نه.
- port-number: این فیلد نشاندهنده شماره پورت مربوط به یک interface خاص در bridge است. این شماره پورت به ترتیب پورتهای فیزیکی یا مجازی در دستگاه MikroTik اختصاص داده میشود.
- point-to-point-port: به ما نشان میدهد پورتی که به bridge ما متصل هست دارد از full-duplex (yes)ستفاده میکند یا از half-duplex (no).
- role: اشاره دارد به نقش هایی که الگوریتم STP برای پورت اختصاص میدهد:
+ Disabled port: در این حالت net admin میتواند یک پورت را غیر فعال کند.
+ Root port: یک port forwarding که بهترین پورت از non-root bridge به سمت root bridge است.
+ Alternative port: یک مسیر جایگرین به سمت root port. این مسیر با root port فرق دارد.
+ Designated port: یک port forwarding برای تمامی LAN segmentها.
+ Backup port: یک backup path (مسیر پشتیبان) به بخشی که bridge port دیگری قبلا متصل بوده. - sending-rstp: زمانی که یک پورت اقدام به ارسال RSTP یا MSTP میکند. زمانی که RSTP یا MSTP فعال باشد و پورت ما STP BDPU دریافت کند، پورت به صورت STP بسته ها را منتقل میکند.
- status: وضعیت پورت را به ما نشان میدهد.
برای مانیتورینگ یک bridge port:
[admin@Farkiantech] > /interface bridge port monitor 0 status: in-bridge port-number: 1 role: designated-port edge-port: no edge-port-discovery: yes point-to-point-port: no external-fdb: no sending-rstp: no learning: yes forwarding: yes [admin@Farkiantech] /interface bridge port>
Bridge Hardware Offloading:
از RouterOS نسخه ۶٫۴۱، اگر دستگاه دارای Build-in switch chip باشد، میتوان چندین پورت رو با هم سوئیچ کرد. در حالی که bridge یک ویژگی نرمافزاری است که CPU’s resources رو مصرف میکند، قابلیت bridge hardware offloading به شما این امکان رو میدهد که از Build-in switch chip برای ارسال packet استفاده کنید، این به شما امکان میدهد که به throughput بالاتری برسید. در نسخههای قبلی قبل از RouterOS نسخه ۶٫۴۱ باید از ویژگی master-port برای جابجایی multiple port با هم استفاده میکردید، اما در RouterOS نسخه ۶٫۴۱ این خاصیت با ویژگی bridge hardware offloading جایگزین شده است که به شما امکان میدهد پورتها رو تغییر دهید و از برخی از ویژگی های bridge، به عنوان مثال، پروتکل spanning tree استفاده کنید. جزئیات بیشتر در مورد ویژگی قدیمی master-port رو می توانید در صفحه Master-port پیدا کنید.
در زیر لیستی از deviceها و featureها که از بارگذاری سخت افزاری ساپورت می کنند، آمده است.
این ویژگی در VLAN switching setups به درستی کار نخواهد کرد. میتوان DHCP packetها رو فقط برای یک VLAN بهدرستی ردیابی کرد، اما این امر مستلزم آن است که این پیامهای DHCP با tag VLAN صحیح با استفاده از یک قانون ACL برچسبگذاری شوند.
Bridge Hardware Offloading باید به عنوان switching port در نظر گرفته شود، اما با ویژگی های ممکن بیشتر. با فعال کردنhardware offloading، به یک switch chip داخلی اجازه میدهید تا packet ها رو با استفاده از منطق switching پردازش کند. نمودار زیر نشان می دهد که switching قبل از هر اقدام مرتبط با نرم افزار اتفاق می افتد:
بسته ای که توسط یکی از پورت ها دریافت میشود همیشه اول از switch logic عبور می کند. switch logic تصمیم می گیرد که بسته به کدام پورت ها برود (معمولاً این تصمیم بر اساس آدرس MAC مقصد بسته گرفته می شود، اما ممکن است معیارهای دیگری نیز وجود داشته باشد که احتمالا بر اساس بسته و کانفیگ ما درگیر شوند). در بیشتر موارد بسته برای RouterOS قابل مشاهده نخواهد بود (فقط آمار نشان میدهد که یک بسته از آن عبور کرده است)، این به این دلیل است که بسته قبلاً توسط switch chip پردازش شده و هرگز به CPU نرسیده است، اگرچه در شرایط خاص ممکن است اجازه دهد یک بسته توسط CPU پردازش شود. برای اجازه دادن به پردازش یک بسته توسط CPU، باید بسته را به CPU ارسال کنید و اجازه ندهید switch chip بسته را مستقیماً از طریق یک پورت سوئیچ ارسال کند، معمولاً به این کار، ارسال بسته به پورت CPU سوئیچ (یا پورت CPU Bridge) گفته می شود.
با ارسال یک بسته به پورت CPU سوئیچ، switch chip را از ارسال مستقیم بسته منع می کنید، این به CPU اجازه می دهد بسته را پردازش کند و ارسال کند. ارسال بسته به پورت CPU به شما این فرصت را میدهد که بسته ها را به شبکه های مختلف هدایت کنید، کنترل ترافیک و سایر اقدامات مربوط به پردازش بسته نرم افزاری رو انجام دهید. برای اینکه یک بسته توسط CPU پردازش شود، باید بسته به نیاز خود و دستگاهی که از آن استفاده می کنید، تغییرات خاصی در کانفیگ خودتون ایجاد کنید (معمولاً ارسال بسته ها به CPU برای VLAN filtering setting مورد نیاز است).
- port switching با کانفیگ bridge و hardware offloading فعال از RouterOS نسخه ۶٫۴۱:
/interface bridge add name=bridge1 /interface bridge port add bridge=bridge1 interface=ether2 hw=yes add bridge=bridge1 interface=ether3 hw=yes add bridge=bridge1 interface=ether4 hw=yes add bridge=bridge1 interface=ether5 hw=yes
مطمئن شوید که hardware offloading فعال شده است(با چک کردن علامت H)
[admin@Farkiantech] > interface bridge port print Flags: X - disabled, I - inactive, D - dynamic, H - hw-offload # INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON ۰ H ether2 bridge1 yes 1 0x80 10 10 none ۱ H ether3 bridge1 yes 1 0x80 10 10 none ۲ H ether4 bridge1 yes 1 0x80 10 10 none ۳ H ether5 bridge1 yes 1 0x80 10 10 none
Bridge VLAN Filtering:
Bridge VLAN Filtering از RouterOS نسخه ۶٫۴۱ انتقال Layer2 و تغییرات VLAN tag آگاه از VLAN را در داخل bridge فراهم می کند. این مجموعه از ویژگیها عملکرد bridge رو بیشتر شبیه یک switch ethernet سنتی میکند و اجازه میدهد بر مشکلات سازگاری spanning tree در مقایسه با کانفیگ زمانی که VLAN interfaces شبه تانل ها bridge میشوند، غلبه کنیم. کانفیگ Bridge VLAN Filtering برای مطابقت با استانداردهای STP (IEEE 802.1D)، RSTP (IEEE 802.1W) بسیار توصیه می شود و برای فعال کردن پشتیبانی MSTP (IEEE 802.1s) در RouterOS اجباری است.
تنظیم اصلی VLAN، در vlan filtering است که به صورت جهانی، آگاهی vlan و پردازش vlan tag را در bridge کنترل میکند. اگر vlan-filtering=no، bridge تگ های VLAN را نادیده می گیرد، در حالت یادگیری مشترک VLAN (SVL) کار می کند و نمی تواند vlan tagها بسته ها را تغییر دهد. روشن کردن vlan-filtering تمام عملکردهای مربوط به Bridge VLAN و حالت مستقل VLAN-learning (IVL) را فعال می کند. علاوه بر پیوستن به پورت ها برای ارسال لایه دویی، bridge به خودی خود یک interface نیز می باشد، بنابراین دارای port VLAN ID (pvid) است.
- bridge: همان bridge interface که ورودی VLAN مربوطه برای آن در نظر گرفته شده است.
- disabled: ورودی Bridge VLAN را فعال یا غیرفعال می کند.
- tagged: این ویژگی interface list ها رو با یک VLAN tag که اقدام در خروج را اضافه می کند. این تنظیم مقادیر رو میتونین با استفاده از کاما انجام بدین. به عنوان مثال: tagged=ether1,ether2.
- untagged: این ویژگی interface list رو با یک VLAN tag که اقدام در خروج را حذف می کند. این تنظیم مقادیر رو میتونین با استفاده از کاما انجام بدین. به عنوان مثال: untagged=ether3,ether4.
- vlan-ids: لیست VLAN ID برای کانفیگ پورت خاص. این تنظیم محدوده VLAN ID. این تنظیم مقادیر رو میتونین با استفاده از کاما انجام بدین. به عنوان مثال: vlan-ids=100-115,120,122,128-130.
bridge host table اجازه می دهد تا آدرس های MAC آموخته شده را نظارت کنید و هنگامی که vlan filtering فعال است، VLAN ID آموخته شده را نیز نشان می دهد:
[admin@Farkiantech] > interface bridge host print where !local Flags: L - local, E - external-fdb BRIDGE VID MAC-ADDRESS ON-INTERFACE AGE bridge1 200 D4:CA:6D:77:2E:F0 ether3 7s bridge1 200 E4:8D:8C:1B:05:F0 ether2 2s bridge1 300 D4:CA:6D:74:65:9D ether4 3s bridge1 300 E4:8D:8C:1B:05:F0 ether2 2s bridge1 400 4C:5E:0C:4B:89:5C ether5 0s bridge1 400 E4:8D:8C:1B:05:F0 ether2 0s
VLAN Example (Trunk and Access Ports):
برای جلوگیری از عدم دسترسی به دستگاه قبل از کانفیگ کامل VLAN ها، یک bridge با VLAN filtering غیرفعال ایجاد کنید:
/interface bridge add name=bridge1 vlan-filtering=no
bridge port ها رو اضافه کنید و pvid رو برای VLAN access port مشخص کنید تا untagged traffic آنها را به VLAN مورد نظر اختصاص دهید:
/interface bridge port add bridge=bridge1 interface=ether2 add bridge=bridge1 interface=ether6 pvid=200 add bridge=bridge1 interface=ether7 pvid=300 add bridge=bridge1 interface=ether8 pvid=400
ورودی های Bridge VLAN رو اضافه کنید. tagged port و untagged portها را در آنها مشخص کنید:
/interface bridge vlan add bridge=bridge1 tagged=ether2 untagged=ether6 vlan-ids=200 add bridge=bridge1 tagged=ether2 untagged=ether7 vlan-ids=300 add bridge=bridge1 tagged=ether2 untagged=ether8 vlan-ids=400
در پایان، وقتی پیکربندی VLAN کامل شد، Bridge VLAN Filtering را فعال کنید:
/interface bridge set bridge1 vlan-filtering=yes
VLAN Example (Trunk and Hybrid Ports):
برای جلوگیری از عدم دسترسی به روتر قبل از پیکربندی کامل VLAN ها، یک bridge با VLAN filtering غیرفعال ایجاد کنید.
/interface bridge add name=bridge1 vlan-filtering=no
bridge port رو اضافه کنید و pvid را روی پورت های hybrid VLAN مشخص کنید تا untagged traffic رو به VLAN مورد نظر اختصاص دهید.
/interface bridge port add bridge=bridge1 interface=ether2 add bridge=bridge1 interface=ether6 pvid=200 add bridge=bridge1 interface=ether7 pvid=300 add bridge=bridge1 interface=ether8 pvid=400
در پایان، وقتی کانفیگ VLAN کامل شد، Bridge VLAN Filtering را فعال کنید.
/interface bridge set bridge1 vlan-filtering=yes
VLAN Example (InterVLAN Routing by Bridge):
برای جلوگیری از عدم دسترسی به روتر قبل از کانفیگ کامل VLAN ها، یک bridge با vlan filtering غیرفعال ایجاد کنید:
/interface bridge add name=bridge1 vlan-filtering=no
bridge port رو اضافه کنید و pvid را برای پورت های دسترسی VLAN مشخص کنید تا traffic untagged آنها را به VLAN مورد نظر اختصاص دهید:
/interface bridge port add bridge=bridge1 interface=ether6 pvid=200 add bridge=bridge1 interface=ether7 pvid=300 add bridge=bridge1 interface=ether8 pvid=400
ورودی های Bridge VLAN رو اضافه کنید و tagged port و untagged port مشخص کنید. در این مثال اینترفیس bridge1 داریم که VLAN trunk است که ترافیک را برای انجام مسیریابی InterVLAN ارسال می کند:
/interface bridge vlan add bridge=bridge1 tagged=bridge1 untagged=ether6 vlan-ids=200 add bridge=bridge1 tagged=bridge1 untagged=ether7 vlan-ids=300 add bridge=bridge1 tagged=bridge1 untagged=ether8 vlan-ids=400
interface VLAN رو بر روی bridge1 کانفیگ کنید تا امکان مدیریت ترافیک VLAN تگ شده در سطح مسیریابی رو فراهم کند و آدرس های IP رو برای اطمینان از مسیریابی بین VLAN ها طبق برنامه تنظیم کنید:
/interface vlan add interface=bridge1 name=VLAN200 vlan-id=200 add interface=bridge1 name=VLAN300 vlan-id=300 add interface=bridge1 name=VLAN400 vlan-id=400 /ip address add address=20.0.0.1/24 interface=VLAN200 add address=30.0.0.1/24 interface=VLAN300 add address=40.0.0.1/24 interface=VLAN400
در پایان، هنگامی که کانفیگ VLAN کامل شد، Bridge VLAN Filtering را فعال کنید:
/interface bridge set bridge1 vlan-filtering=yes
Management access configuration:
راه های بسیار زیادی برای تنظیم management access در یک device که bridge VLAN filtering در آن پیادهسازی شده وجود دارد. در بخش پایین روشهای مجبوب برای فعال کردن این دسترسی به یک روتر یا سوییچ میباشد. در ابتدای کار یک bridge بسازید که VLAN filtering در آن فعال نشده باشد:
/interface bridge add name=bridge1 vlan-filtering=no
در صورتی که از VLAN filtering استفاده نمیکنید تنها کاری که باید بکنید اینه که یک IP address برای bridge interface بسازید:
/ip address add address=192.168.99.1/24 interface=bridge1
در صورتی که از VLAN filtering استفاده میکنید. در ابتدا شما باید یک VLAN interface بر روی bridge بسازید. سپس IP Address رو بر روی اون تنظیم کنید. در مثال پایین ما از VLAN با ID دلخواه ۳۶۹ استفاده کردیم:
/interface vlan add interface=bridge1 name=MGMT vlan-id=369 /ip address add address=192.168.99.1/24 interface=MGMT
همچنین اگر شما میخواهید اجازه دسترسی به یک سری پورت ها رو وارد کنین میتونید از مثال زیر کمک بگیرید:
/interface bridge vlan add bridge=bridge1 tagged=bridge1,ether3,ether4,sfp-sfpplus1 vlan-ids=369
بعد از انجام تمام این مراحل میتونید VLAN filtering رو فعال کنید:
/interface bridge set bridge1 vlan-filtering=yes
در این مثال، R1، R2، R3 و R4 ممکن است هر ترافیک دارای VLAN tag رو ارسال کنند، میتواند ۸۰۲٫۱ad، ۸۰۲٫۱Q یا هر نوع ترافیک دیگری باشد، اما SW1 و SW2 به ترافیک مجزا بین روترها نیاز دارند به شکلی که R1 قادر به انجام آن باشد. فقط با R3 و R2 فقط با R4 ارتباط برقرار می کند. برای انجام این کار، میتوانید تمام ترافیک ورودی رو با یک تگ CVID جدید برچسب گذاری کنید و فقط به این VLAN ها در پورت های خاصی اجازه دهید. با انتخاب EtherType مناسب شروع کنید، از این دستورات در SW1 و SW2 استفاده کنید:
/interface bridge add name=bridge1 vlan-filtering=no ether-type=0x8100
در این راهاندازی ether1 و ether2 هر VLAN tag موجود رو نادیده میگیرند و یک تگ VLAN جدید اضافه میکنند، از پارامتر pvid برای تگگذاری تمام ترافیک ورودی در هر پورت استفاده میکنند و اجازه میدهند برچسبها روی این پورتها انباشته شوند، از این دستورات در SW1 و SW2 استفاده کنید:
/interface bridge port add interface=ether1 bridge=bridge1 pvid=200 tag-stacking=yes add interface=ether2 bridge=bridge1 pvid=300 tag-stacking=yes add interface=ether3 bridge=bridge1
پورت های دارای tag و بدون tag رو در bridge VLAN tag مشخص کنید، فقط باید VLAN ID تگ بیرونی رو مشخص کنید، از این دستورات در SW1 و SW2 استفاده کنید:
/interface bridge vlan add bridge=bridge1 tagged=ether3 untagged=ether1 vlan-ids=200 add bridge=bridge1 tagged=ether3 untagged=ether2 vlan-ids=300
هنگامی که Bridge VLAN table کانفیگ می شود، میتونید bridge VLAN filtering را فعال کنید، که برای اینکه پارامتر PVID تأثیری داشته باشد، لازم است، از این دستورات در SW1 و SW2 استفاده کنید:
/interface bridge set bridge1 vlan-filtering=yes
Fast forward:
Fast Forward اجازه میدهد تا packet ها رو تحت شرایط خاص سریعتر ارسال کنید. وقتی Fast Forward فعال باشد،bridge میتواند بستهها رو حتی سریعتر پردازش کند، چون که میتواند چندین بررسی مرتبط با bridge، از جمله MAC learning رو رد کند. در بخش زیر میتوانید لیستی از شرایطی رو که برای فعال بودن Fast Forward باید رعایت شود را بیابید:
پل فوروارد سریع روی بله تنظیم شده است.
bridge فقط ۲ پورت در حال اجرا دارد.
هر دو پورت bridge fast path رو پشتیبانی میکنند،fast path روی پورت ها و در سطح جهانی روی bridge فعال است.
Bridge hardware offloading غیرفعال است.
bridge VLAN filtering غیرفعال است.
Bridge DHCP snooping غیرفعال است.
Unknown-multicast-flood روی yes تنظیم شده است.
Unknown-unicast-flood روی yes تنظیم شده است.
broadcast-flood روی yes تنظیم شده است.
MAC Address برای Bridge با MAC Address یکی از bridge slaveها مطابقت دارد.
Horizon برای هر دو پورت روی none تنظیم شده است.
میتونید چک کنید که چه تعداد packet توسط fast forward پردازش شده:
[admin@ّFarkiantech] > /interface bridge settings print use-ip-firewall: no use-ip-firewall-for-vlan: no use-ip-firewall-for-pppoe: no allow-fast-path: yes bridge-fast-path-active: yes bridge-fast-path-packets: 0 bridge-fast-path-bytes: 0 bridge-fast-forward-packets: 1279812 bridge-fast-forward-bytes: 655263744
در RouterOS v6 شما میتونید بر وضعیت fast forward رو monitor کنید:
[admin@ّFarkiantech] > /interface bridge monitor bridge1 state: enabled current-mac-address: D4:CA:6D:E1:B5:82 root-bridge: yes root-bridge-id: 0x8000.00:00:00:00:00:00 root-path-cost: 0 root-port: none port-count: 2 designated-port-count: 0 fast-forward: yes
IGMP Snooping:
IGMP Snooping که multicast stream را کنترل میکند و از multicast flooding جلوگیری میکند، از نسخه ۶٫۴۱ در RouterOS پیاده سازی شده است.
تنظیمات آن در bridge menu قرار می گیرد و در هر bridge interface به طور مستقل کار می کند.
سوئیچهای سری CRS1xx/2xx/3xx هم از IGMP Snooping با hardware offloading پشتیبانی میکنند.
نحوه فعال سازی IGMP Snooping بر روی Bridge:
/interface bridge set bridge1 igmp-snooping=yes
نحوه نظارت بر multicast group در Bridge multicast Database:
[admin@ّFarkiantech] > interface bridge mdb print BRIDGE VID GROUP PORTS bridge1 200 229.1.1.2 ether3 ether2 ether1 bridge1 300 231.1.3.3 ether4 ether3 ether2 bridge1 400 229.10.10.4 ether4 ether3 bridge1 500 234.5.1.5 ether5 ether1
نظارت بر روی پورتهای که به ی multicast router متصل هستند:
[admin@ّFarkiantech] > /interface bridge port monitor [f] interface: ether1 ether2 status: in-bridge in-bridge port-number: 1 2 role: designated-port designated-port edge-port: yes yes edge-port-discovery: yes yes point-to-point-port: yes yes external-fdb: no no sending-rstp: yes yes learning: yes yes forwarding: yes yes multicast-router: yes no
DHCP Snooping and DHCP Option 82:
با شروع از RouterOS نسخه ۶٫۴۳، Bridge از DHCP Snooping و DHCP Option 82 پشتیبانی میکند. DHCP Snooping یک ویژگی امنیتی لایه دویی است که سرورهای DHCP غیرمجاز رو از ارائه اطلاعات مخرب به کاربران محدود میکند. در RouterOS میتوانید مشخص کنید کدام پورتهای Bridge قابل اعتماد هستند (جایی که سرور DHCP شناخته شده است و پیامهای DHCP باید ارسال شوند) و کدام پورتها غیرقابل اعتماد هستند (معمولاً برای access portها استفاده میشوند، پیامهای سرور DHCP دریافتی حذف میشوند). DHCP Option 82 یک اطلاعات اضافی (Agent Circuit ID و Agent Remote ID) است که توسط دیوایسهای دارای قابلیت DHCP Snooping ارائه شده است که امکان شناسایی خود دستگاه و کلاینتهای DHCP رو فراهم میکند.
در این مثال، SW1 و SW2 دستگاههای DHCP Snooping و گزینه ۸۲ فعال هستند. ابتدا باید یک bridge ایجاد کنیم، interface ها رو اختصاص دهیم و پورت های قابل اعتماد رو مارک کنیم. از این دستورات در SW1 استفاده کنید:
/interface bridge add name=bridge /interface bridge port add bridge=bridge interface=ether1 add bridge=bridge interface=ether2 trusted=yes
برای کانفیگ SW2 هم با SW1 مشابه خواهد بود، اما ما باید ether1 رو به عنوان مورد اعتماد مارک کنیم، چون این interface قرار است پیام های DHCP را با گزینه ۸۲ که قبلاً اضافه شده است، دریافت کند. اگر می خواهید همه پورت ها را با گزینه ۸۲ اضافه شده دریافت کنند، باید به عنوان قابل اعتماد مارک کنید، در غیر این صورت این پیام ها حذف می شوند. همچنین، ما ether3 را به همان bridge اضافه می کنیم و این پورت رو غیرقابل اعتماد می گذاریم، تصور کنید یک سرور DHCP غیر مجاز وجود دارد. از این دستورات در SW2 استفاده کنید:
/interface bridge add name=bridge /interface bridge port add bridge=bridge interface=ether1 trusted=yes add bridge=bridge interface=ether2 trusted=yes add bridge=bridge interface=ether3
سپس باید DHCP Snooping و Option 82 را فعال کنیم. در صورتی که DHCP server شما از DHCP Option 82 پشتیبانی نمی کند یا هیچ سیاست مربوط به گزینه ۸۲ را اجرا نمی کنید، این گزینه می تواند غیرفعال شود. از این دستورات در SW1 و SW2 استفاده کنید:
/interface bridge set [find where name="bridge"] dhcp-snooping=yes add-dhcp-option82=yes
و حالا هر دو دیوایس ما پیام های DHCP دریافت شده در پورت های bridge رو تجزیه و تحلیل میکنند. SW1 مسئول افزودن و حذف گزینه ۸۲ DHCP است. SW2 در بخش rogue DHCP server form دریافت هر گونه پیام کشف را محدود می کند و پیام های DHCP server مخرب رو از ether3 حذف می کند.
Firewall Bridge:
firewall bridge ، فیلتر کردن packet ها رو پیاده سازی میکند و در نتیجه توابع امنیتی رو فراهم میکند که برای مدیریت دادهها از طریق bridge استفاده می شود.
packet flow diagram نشان میدهد که چگونه packet ها از طریق روتر پردازش می شوند. این امکان وجود دارد که ترافیک bridge رو مجبور به عبور ip firewall filter rules/ کنید.
ما در این قسمت دو تا bridge firewall table داریم:
+ filter-bridge firewall با سه تا predefined chain:
input – filter packets: جایی که مقصد bridge ما محسوب میشود(به خصوص packet هایی که روت خواهند شد چون در هر صورت به MAC table میرسند.)
output – filters packets: دیتایی که از سمت bridge میاد(به خصوص بسته هایی که دوت شدند.)
forward – packet filter: آنهایی که قرار است bridge شوند.
+ nat – bridge network address translation: راههایی رو برای تغییر MAC Address مبدا/مقصد packetهایی که از یک bridge عبور میکنند، ارائه میکند. دارای دو تا built-in chains:
srcnat: برای hide کردن یک host یا یک network در پشت یک MAC Address مختلف استفاده می شود. این chiain به packetهایی که از router خارج می شوند از طریق یک interface bridge اعمال می شود.
dstnat: برای هدایت برخی از packetها به مقاصد دیگر استفاده می شود.
شما میتوانید packet markها رو در firewall bridge (filter و NAT) قرار دهید، که همان packet markها در IP firewall است که توسط ip firewall mangle/ گذاشته شده است. به این ترتیب، packet mark قرار داده شده توسط firewall bridge رو می توان در IP firewall استفاده کرد و بالعکس.
خصوصیات کلی firewall bridge در این بخش توضیح داده شده است. برخی از پارامترهایی که بین قوانین nat و filter متفاوت هستند در بخش های بعدی توضیح داده شده است.
۸۰۲٫۳-sap (integer; Default: ) | DSAP (Destination Service Access Point) and SSAP (Source Service Access Point) are 2 one byte fields, which identify the network protocol entities which use the link layer service. These bytes are always equal. Two hexadecimal digits may be specified here to match a SAP byte. |
۸۰۲٫۳-type (integer; Default: ) | Ethernet protocol type, placed after the IEEE 802.2 frame header. Works only if 802.3-sap is 0xAA (SNAP – Sub-Network Attachment Point header). For example, AppleTalk can be indicated by SAP code of 0xAA followed by a SNAP type code of 0x809B. |
action (accept | drop | jump | log | mark-packet | passthrough | return | set-priority; Default: ) | Action to take if packet is matched by the rule:
|
arp-dst-address (IP address; Default: ) | ARP destination IP address. |
arp-dst-mac-address (MAC address; Default: ) | ARP destination MAC address |
arp-gratuitous (yes | no; Default: ) | Matches ARP gratuitous packets. |
arp-hardware-type (integer; Default: ۱) | ARP hardware type. This is normally Ethernet (Type 1). |
arp-opcode (arp-nak | drarp-error | drarp-reply | drarp-request | inarp-reply | inarp-request | reply | reply-reverse | request | request-reverse; Default: ) | ARP opcode (packet type)
|
arp-packet-type (integer 0..65535 | hex 0x0000-0xffff; Default: ) | ARP Packet Type. |
arp-src-address (IP address; Default: ) | ARP source IP address. |
arp-src-mac-address (MAC addres; Default: ) | ARP source MAC address. |
chain (text; Default: ) | Bridge firewall chain, which the filter is functioning in (either a built-in one, or a user-defined one). |
dst-address (IP address; Default: ) | Destination IP address (only if MAC protocol is set to IP). |
dst-mac-address (MAC address; Default: ) | Destination MAC address. |
dst-port (integer 0..65535; Default: ) | Destination port number or range (only for TCP or UDP protocols). |
in-bridge (name; Default: ) | Bridge interface through which the packet is coming in. |
in-interface (name; Default: ) | Physical interface (i.e., bridge port) through which the packet is coming in. |
in-interface-list (name; Default: ) | Set of interfaces defined in interface list. Works the same as in-interface . |
ingress-priority (integer 0..63; Default: ) | Matches the priority of an ingress packet. Priority may be derived from VLAN, WMM, DSCP or MPLS EXP bit. |
ip-protocol (dccp | ddp | egp | encap | etherip | ggp | gre | hmp | icmp | icmpv6 | idpr-cmtp | igmp | ipencap | ipip | ipsec-ah | ipsec-esp | ipv6 | ipv6-frag | ipv6-nonxt | ipv6-opts | ipv6-route | iso-tp4 | l2tp | ospf | pim | pup | rdp | rspf | rsvp | sctp | st | tcp | udp | udp-lite | vmtp | vrrp | xns-idp | xtp; Default: ) | IP protocol (only if MAC protocol is set to IPv4)
|
jump-target (name; Default: ) | If action=jump specified, then specifies the user-defined firewall chain to process the packet. |
limit (integer/time,integer; Default: ) | Restricts packet match rate to a given limit.
|
log-prefix (text; Default: ) | Defines the prefix to be printed before the logging information. |
mac-protocol (۸۰۲٫۲ | arp | homeplug-av | ip | ipv6 | ipx | length | lldp | loop-protect | mpls-multicast | mpls-unicast | packing-compr | packing-simple | pppoe | pppoe-discovery | rarp | service-vlan | vlan | integer 0..65535 | hex 0x0000-0xffff; Default: ) | Ethernet payload type (MAC-level protocol). To match protocol type for VLAN encapsulated frames (0x8100 or 0x88a8), a vlan-encap property should be used.
|
out-bridge (name; Default: ) | Outgoing bridge interface. |
out-interface (name; Default: ) | Interface that the packet is leaving the bridge through. |
out-interface-list (name; Default: ) | Set of interfaces defined in interface list. Works the same as out-interface . |
packet-mark (name; Default: ) | Match packets with certain packet mark. |
packet-type (broadcast | host | multicast | other-host; Default: ) | MAC frame type:
|
src-address (IP address; Default: ) | Source IP address (only if MAC protocol is set to IPv4). |
src-mac-address (MAC address; Default: ) | Source MAC address. |
src-port (integer 0..65535; Default: ) | Source port number or range (only for TCP or UDP protocols). |
stp-flags (topology-change | topology-change-ack; Default: ) | The BPDU (Bridge Protocol Data Unit) flags. Bridge exchange configuration messages named BPDU periodically for preventing loops
|
stp-forward-delay (integer 0..65535; Default: ) | Forward delay timer. |
stp-hello-time (integer 0..65535; Default: ) | STP hello packets time. |
stp-max-age (integer 0..65535; Default: ) | Maximal STP message age. |
stp-msg-age (integer 0..65535; Default: ) | STP message age. |
stp-port (integer 0..65535; Default: ) | STP port identifier. |
stp-root-address (MAC address; Default: ) | Root bridge MAC address. |
stp-root-cost (integer 0..65535; Default: ) | Root bridge cost. |
stp-root-priority (integer 0..65535; Default: ) | Root bridge priority. |
stp-sender-address (MAC address; Default: ) | STP message sender MAC address. |
stp-sender-priority (integer 0..65535; Default: ) | STP sender priority. |
stp-type (config | tcn; Default: ) | The BPDU type:
|
tls-host (string; Default: ) | Allows to match https traffic based on TLS SNI hostname. Accepts GLOB syntax for wildcard matching. Note that matcher will not be able to match hostname if TLS handshake frame is fragmented into multiple TCP segments (packets). |
vlan-encap (۸۰۲٫۲ | arp | ip | ipv6 | ipx | length | mpls-multicast | mpls-unicast | pppoe | pppoe-discovery | rarp | vlan | integer 0..65535 | hex 0x0000-0xffff; Default: ) | Matches the MAC protocol type encapsulated in the VLAN frame. |
vlan-id (integer 0..4095; Default: ) | Matches the VLAN identifier field. |
vlan-priority (integer 0..7; Default: ) | Matches the VLAN priority (priority code point) |
Bridge Packet Filter:
این بخش گزینههای فیلترینگ خاص bridge packet filter رو توصیف میکند، که مختص به interface bridge filter/ هستند.
- action: در بخش زیر فرمانهایی که بر روی بسته های ما تاثیرگذار هستند رو مشاهده میکنید.+accept: بسته تایید شده و هیچ اقدامی بر روی آن اعمال نمیشود+drop: بسته را بدون ارسال ICMP reject massage (پیغامی تحت عنوان رد کردن بسته ها) drop میکند.+jump:پرش به زنجیره ای که با مقدار آرگومان jump-target مشخص شده است.+log: یک پیغام میتونید داشته باشید تحت عنوان log سیستممون+mark: بستهها رو میتونید مارک کنید تا بعدا از آنها استفاده کنید.+passthrough: این rule مثل disabled عمل میکند البته توانایی شمارش packet ها رو ندارد.+return: به chain قبلی برمیگرده جایی که ممکنه از اون jump rule انجام شده باشد.+set-priority: مقدار اولویت مشخص شده توسط پارامتر new-priority را بر روی بستههایی که از طریق یک لینک که قابلیت transporting priority رو دارد ارسال میشوند.
Bridge NAT:
+accept: بسته تایید شده و هیچ اقدامی بر روی آن اعمال نمیشود.
+arp-reply: شما میتونید پاسخی برای ARP Request ارسال کنید با MAC Address مشخص شده.
+drop: بسته را بدون ارسال ICMP reject massage (پیغامی تحت عنوان رد کردن بسته ها) drop میکند.
+dst-nat: میتواند MAC Address بسته مقصد رو عوض کند (فقط برای valid یا dst chain)
+jump:پرش به زنجیره ای که با مقدار آرگومان jump-target مشخص شده است.
+log: یک پیغام میتونید داشته باشید تحت عنوان log سیستممون
+mark: بستهها رو میتونید مارک کنید تا بعدا از آنها استفاده کنید.
+passthrough: این rule مثل disabled عمل میکند البته توانایی شمارش packet ها رو ندارد.
+redirect: بسته رو به خود bridge هدایت میکند (فقط برای valid یا dst chain).
+return: به chain قبلی برمیگرده جایی که ممکنه از اون jump rule انجام شده باشد.
+set-priority: مقدار اولویت مشخص شده توسط پارامتر new-priority را بر روی بستههایی که از طریق یک لینک که قابلیت transporting priority رو دارد ارسال میشوند.
+src-nat: میتواند MAC Address بسته مبدا رو عوض کند (فقط برای valid یا dst chain).
+to-arp-reply-mac-address: هنگامی که arp reply انتخاب شده باشد MAC Address مبدا در Ethernet frame و ARP payload قرار میگیرد.
+to-dst-mac-address: هنگامی که dst-nat انتخاب شده باشد MAC Address مقصد در Ethernet frame قرار میگیرد.
+to-src-mac-address: هنگامی که src-nat انتخاب شده باشد MAC Address مبدا در Ethernet frame قرار میگیرد.
برای مشاهده ترجمهها و مطالب بیشتر اینجا کلیک کنید.