در دو آموزش قبلی ایجاد VLAN در شرایطی که دستگاه FortiGate در حالت NAT یا Transparent عمل کند را مورد بررسی قرار دادیم. جهت آشنایی می توانید به آموزش های VLAN Configuration in NAT Mode و VLAN Configuration in Transparent Mode مراجعه نمایید.
پس از انجام تنظیمات VLAN ممکن است با مشکلاتی مواجه شوید. از آن جایی که VLAN ها در واقع Interface هایی هستند که دارای IP Address می باشند، در نتیجه همانند Interface های فیزیکی عمل کرده و ممکن است مشکلات مشابهی داشته باشند که شما می توانید با ابزاری از قبیل Ping ،Traceroute ، Packet Sniffing و Diag Debug و آن ها را شناسایی کنید. در این آموزش بعضی از این مشکلات احتمالی را مورد بررسی قرار خواهیم داد.
در بعضی از مواقع ممکن است با این مورد مواجه شوید کهHost های موجود در یک شبکه توانایی برقراری ارتباط با شبکه های دیگر را نداشته باشند. این مشکل زمانی اتفاق می افتد که پکت های مربوط به Request و Response مسیر های متفاوتی را طی می کنند. به زبان ساده تر پکت های Response ازهمان مسیری که پکت های Request فرستاده شده اند بر نمی گردند .اگر دستگاه FortiGate پکت های Response را شناسایی کند در حالی که پکت های Request مربوطه را شناسایی نکرده باشد در نتیجه پکت ها را به عنوان پکت های نا معتبر Block می کند. همچنین دستگاه FortiGate پکتی که در چندین Interface مکررا وارد شده باشد را به عنوان یک حمله ی احتمالی Block می کند .این مشکل با عنوان Asymmetric Routing شناخته می شود. به طور پیش فرض دستگاه FortiGate در چنین مواقعی پکت ها را Block کرده و یا Session را Drop می کند. شما می توانید با وارد کردن دستورات زیر،Asymmetric routing را فعال و مجاز کنید.
بدین منظور از منوی سمت چپ به مسیر Global > Dashboard > Status رفته و CLI Console Widget را انتخاب کرده و دستورات را وارد کنید:
config system settings
set asymroute enable
end
توجه شود که اگر VDOM را فعال کرده اید، دستورات فوق را باید برای هر کدام از VDOM هایی که با چنین مشکلی مواجه هست وارد کنید.
config vdom
edit vdom_name
config system settings
set asymroute enable
end
end
توجه شود که مجاز کردنAsymmetric Routing بهترین راه حل نیست. زیرا با این عمل امنیت شبکه ی خود را کاهش خواهید داد. به منظور ارائه ی یک راه حل بلند مدت، بهتر است که تنظیمات Routing خود را تغییر داده و یا نحوه ی اتصال دستگاه FortiGate به شبکه را تغییر دهید.
به طور پیش فرض دستگاه FortiGate ترافیک لایه ی دو را عبور نمی دهد اگر پروتکل های لایه ی دو از قبیل IPX ،PPTP یا L2TP درشبکه ی شما مورد استفاده قرار گرفته اند، نیاز است که تنظیماتی در دستگاه FortiGate جهت اجازه ی عبور این پروتکل ها انجام شود.
جهت مجاز کردن استفاده از پروتکل های لایه ی دو می توانید از منوی سمت چپ به مسیر Global > Dashboard > Status رفته و CLI Console Widget را انتخاب و دستورات زیر را وارد کنید:
config system interface
edit name of interface
set l2forward enable
end
توجه شود که اگر VDOM را فعال کرده اید، دستورات فوق را باید برای VDOM مورد نظر خود وارد کنید:
config vdom
edit name of vdom
config system settings
set l2forward enable
end
end
با فعال کردن ترافیک لایه ی دو ممکن است در شبکه Loop ایجاد شود. این مشکل بسیار مشابه Broadcast Storm می باشد و زمانی اتفاق می افتد که بیش از یک مسیر لایه ی دو به سمت مقصد داشته باشید. در صورت بروز این مشکل ممکن است ترافیک شبکه Overflow شده و شبکه از کار بیافتد. شما می توانید با فعال کردن Spanning Tree Protocol - STP در روتر و سوئیچ های شبکه، از ایجاد Loop جلوگیری کنید.
از دیگر ترافیک های لایه ی دو می توان به ترافیک ARP اشاره کرد ARP مخفف Address Resolution Protocol می باشد. پکت های ARP نقش حیاتی را در ایجاد و بر قراری ارتباطات در یک شبکه ایفا می کنند در واقع نقش ARP تبدیل آدرس منطقی یا همان IP Address به آدرس فیزیکی یا همان MAC Address می باشد. پروتکل ARP به طور پیش فرض در پورت های دستگاه FortiGate فعال می باشد.
ترافیک ARP می تواند باعث بروز بعضی از مشکلات شود. به خصوص در شرایطی که دستگاه FortiGate در حالت Transparent عمل می کند. در این حالت دستگاه مانند یک سوئیچ عمل کرده و پکت های ARP از یک پورت به سمت تمامی پورت های دیگر از جمله پورت های VLAN فرستاده و Broadcast می شوند. بعضی از سوئیچ های لایه ی دو زمانی که یک MAC Address توسط چندین پورت سوئیچ یا بیش از یک VLAN معرفی شود، دچار اختلال می شوند. این اختلال زمانی که سوئیچ لایه ی دو برای هر VLAN یک جدول MAC Address جداگانه نداشته باشد رخ می دهد. در صورت ایجاد اختلال، سوئیچ ممکن است ریست شود و سرعت شبکه به طور قابل توجه ای کند شود. در ادامه راه حل هایی برای مشکل فوق معرفی خواهد شد:
Multiple VDOMs Solution
روش کار بدین صورت است که به ازای هر VLAN یک VDOM بر روی دستگاه FortiGate ایجاد می شود. در ادامه باید یک پورت ورودی VLAN و یک پورت خروجی VLAN برای هر VDOM در نظر گرفته شود. در این صورت پکت های ARP بین VDOM ها فرستاده نمی شود. با انجام تنظیمات فوق هر VLAN در یک VDOM محدود شده و متعاقبا مدیریت هر VDOM نیز آسان تر می شود. در نتیجه ی این تنظیمات یک MAC Address توسط چندین پکت ARP معرفی نخواهد شد. در عوض سوئیچ ها پکت های ARP با VLAN ID و MAC Address های متفاوت را دریافت می کنند.
با وجود کارآمد بودن این راه حل ولی در شرایط زیر نباید از این روش استفاده شود:
1. تعداد VLAN ها از تعداد VDOM های دارای لایسنس بیشتر باشد.
2. Interface های فیزیکی کافی نداشته باشید.
در عوض می توانید بر اساس Operation Mode دستگاه از یکی از دو روش زیر استفاده کنید:
1. اگر دستگاه Fortigate در حالت NAT قرار دارد از Vlanforward Solution استفاده شود.
2. اگر دستگاه Fortigate در حالت Transparent قرار دارد از Forward-domain Solution استفاده شود.
Vlanforward Solution
در حالت NAT می توانید از دستورVlanforward استفاده کنید. بطور پیش فرض vlanforward فعال است و ترافیک یک VLAN به سمت همه ی VLAN های دیگری که در این Interface قرار دارند فرستاده می شود. با غیر فعال کردن vlanforward هر VLAN بر روی Interface مورد نظر، ترافیک را تنها به همان VLAN می فرستد. و هیچ گونه Cross-Talk بین VLAN وجود نخواهد داشت. در نتیجه پکت های ARP تنها از یک مسیر در شبکه فرستاده می شوند.
جهت غیر فعال کردن Vlanforward از منوی سمت چپ به مسیر Global > Dashboard > Status رفته و CLI Console Widget را انتخاب کرده و دستورات زیر را رابرای Interface مورد نظر وارد کنید:
config system interface
edit name of interface
set vlanforward disable
end
Forward-domain Solution
در حالت Transparent می توانید از دستور Forward-domain استفاده کنید. با استفاده از این دستور یک Tag به ترافیک VLAN اضافه می شود در نتیجه این ترافیک متعلق به یک Collision Group خاص می شود. و تنها VLAN های دیگری که دارای این Tag هستند این ترافیک را دریافت می کنند. به طور پیش فرض همه ی Interface ها و VLAN ها در Collision Group شماره ی 0 قرار دارند. از مزیت های این راه حل می توان به سهولت در مدیریت، نیاز به پورت های فیزیکی کمتر و دسترسی و انعطاف پذیری بالاتر اشاره کرد. در ادامه با یک مثال دستور فوق را مورد بررسی قرار خواهیم داد.
در این مثال Collision Group شماره ی 340 شامل ترافیک VLAN 340 بر روی Port1 و ترافیک Tag نشده بر روی Port 2 می باشد. Collision Group شماره ی 341 شامل ترافیک VLAN 341 بر روی port 1 و ترافیک Tag نشده بر روی Port 3 می باشد. دیگر Interface ها درCollision Group شماره ی 0 قرار دارند. این تنظیمات VLAN 340 وVLAN 341 را در Port 1 از یکدیگر جدا می کند. جهت وارد کردن دستورات از منوی سمت چپ به مسیر Global > Dashboard > Status رفته و CLI Console Widget را انتخاب کنید:
config system interface
edit port1
next
edit port2
set forward_domain 340
next
edit port3
set forward_domain 341
next
edit port1-340
set forward_domain 340
set interface port1
set vlanid 340
next
edit port1-341
set forward_domain 341
set interface port1
set vlanid 341
end
در شبکه هایی که کامپیوتر ها از سیستم عامل Microsoft Windows استفاده می کنند و Resolve کردن Host Name به IP Address توسط WINS Server انجام می شود، جهت ارتباط Host ها با WINS Server از پروتکل NetBIOS استفاده می شود. جهت پشتیبانی از این نوع شبکه نیاز است که عمل Forwarding درخواست های NetBIOS به سمت WINS server را فعال کنید. در ادامه با یک مثال دستور مربوطه را مورد بررسی قرار خواهیم داد. در این مثال WINS Server دارای آدرس 192.168.111.222 می باشد .جهت وارد کردن دستورات از منوی سمت چپ به مسیر Global > Dashboard > Status رفته و CLI Console Widget را انتخاب کنید:
config system interface
edit internal
set netbios_forward enable
set wins-ip 192.168.111.222
end
نکته:
- توجه شود این دستورات در حالت NAT اعمال می شود.
- اگر VDOM را فعال کرده اید، قبا از وارد کردن دستورات فوق ابتدا VDOM مورد نظر را انتخاب کنید.
STP Forwarding
دستگاه FortiGate در Spanning Tree Protocol - STP مشارکت نمی کند. اگر از FortiGate استفاده می کنید وSTP را برای شبکه ی خود اجرا کرده اید، نیاز است تغییراتی در تنظیمات دستگاه FortiGate انجام دهید. در غیر این صورت STP دستگاه FortiGate را به عنوان یک Blocked Link در نظر گرفته و ترافیک را به مسیر دیگری می فرستد. بطور پیش فرض دستگاه FortiGate پروتکل STP را Block می کند.
با استفاده از دستورات زیر می توانید عمل Forwarding پروتکل STP و دیگر پروتکل های لایه ی دو را بر روی Inteface مورد نظر فعال کنید. جهت وارد کردن دستورات از منوی سمت چپ به مسیر Global > Dashboard > Status رفته و CLI Console Widget را انتخاب کنید:
config system interface
edit name of interface
set l2forward enable
set stpforward enable
end