preloader
UDP Relay-IP (قسمت_۳۴)

UDP Relay-IP (قسمت_۳۴)

مدت زمان مطالعه: نام نویسنده: امین کمالی تاریخ انتشار: ۷ اسفند ۱۳۹۷

UDP RELAY

در این مقاله قصد داریم مفهوم IP Helper در سوئیچ های SMB را برای شما شرح دهیم.

می دانیم روتر ها بسته های Broadcast را از خود عبور نمی دهند و Route نمی کنند و اگر روتری یا سوئیچی که در حالت L3 باشد ، فریمی دریافت کند که مقصد بسته در لایه دو برادکست یعنی FF:FF:FF:FF:FF:FF باشد و در لایه سوم مقصد بسته ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵ باشد ، آن بسته را در لایه های بالاتر بررسی می کند و اگر در لایه های بالاتر متوجه شود که مقصد و هدف بسته خودش است ، جواب بسته را می دهد (مثلا DHCP Discover ، مقصد این بسته در لایه دو و سه برادکست است ولی در لایه چهارم از پروتکل UDP و لایه هفتم DHCP استفاده می کند و اگر روتری این بسته را دریافت کند بعد از تحلیل بسته در لایه دوم و سوم متوجه نمی شود که آیا مقصد این بسته خودش است یا خیر پس مجبور است بسته را در لایه بالاتر تحلیل کند و اگر بر روی روتر سرویس DHCP فعال باشد یعنی بر روی پورت UDP 67 به اصطلاح Listen کند بسته را در لایه هفتم بررسی می کند و خود را مقصد بسته می داند و جواب بسته را ارسال م کند).

حال اگر بر روی روتر سرویس DHCP فعال نباشد ، روتر بعد از تحلیل بسته در لایه های دوم و سوم ، نمی داند که مقصد بسته خودش است یا خیر و مجبور است در لایه چهارم بررسی کند و چون روتر سرویس DHCP نمی دهد و روی پورت ۶۷ از UDP سرویس نمی دهد ، بسته را در لایه چهارم رها کرده و Drop میکند.

نکته : یکی از حملات خطرناکی که باعث اختلال در شبکه و از کار افتادن سرویس های می شود Broadcast Storm می باشد و Attacker فریم های برادکست را با سرعت بالا در شبکه پخش می کند و سوئیچ ها این بسته ها را علاوه بر flood کردن بر روی تمامی پورت ها، خود سوئیچ آن بسته را تحلیل می کند و تمامی دستگا ه های داخل یک Broadcast Domain مجبور به تحلیل این بسته ها هستند و قسمت خطرناک تر آنجاست که بسته های Broadcast را در دستگاه های شبکه مستقیم CPU تحلیل می کند زیرا اکثر بسته های برادکست جز قسمت Control Plane می باشند.

DHCP Discover و ARP Request دو نوع ترافیک از جنس برادکست می باشد که معروف است که البته بسته های ARP هدر IP ندارند و فقط در لایه دو برادکست می باشند.

UDP Relay یا IP Helper چیست؟

شما به کمک این ویژگی می توانید در اینترفیس های روتر یا سوئیچ لایه سه ، بسته های از جنس UDP که مقصد آنها Broadcast می باشند را در Unicast کنید.

به شکل زیر توجه کنید.

C:\Users\a.kamali\Desktop\Capture.PNG

فرض کنید که یکی از کامپیوتر های درخواست DHCP ارسال کند به سوئیچ ، چون مقصد این فریم در لایه دوم برادکست است ، سوئیچ آن را بر روی همه پورت های خود ارسال می کند و روتر آن را دریافت می کند و چون مقصد بسته در لایه دوم و سوم برادکست است روتر آن را در لایه چهارم بررسی می کند و چون روتر سرویس DHCP نمی دهد بسته را دور می ریزد و هیچ گاه کامپیوتر ها نمی توانند از DHCP Server تنظیمات TCP/IP را دریافت کنند.

این مشکل از آنجایی سرچشمه گرفت که DHCP Server و کامپیوتر های در دو Broadcast Domain جدا هستند و روتر نمی تواند بسته های برادکست را روت کند بین دو Broadcast Domain .

این مشکل قابل حل است و فقط کافی است روی اینترفیسی از روتر که در Broadcast Domain کامپیوتر های است بسته های DHCP را Unicast کنیم سمت سرور DHCP که این کار معروف به UDP Relay می باشد.

برای انجام تنظیمات UDP Relay در سوئیچ های SMB یک مثال شرح می دهیم.

به شکل زیر دقت کنید.

C:\Users\a.kamali\Desktop\Capture.PNG

می دانیم DNS پروتکل لایه هفتی می باشد که در لایه چهارم از UDP با پورت ۵۳ استفاده میکند و معمولا مقصد بسته های آن در لایه دو و سه Unicast می باشد.

ولی در مثال ما آدرس DNS سرور در PC-1 و PC-2 به صورت ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵ می باشد ، یعنی PC-1 و PC-2 درخواست های Query DNS خود را به مقصد برادکست ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵ ارسال می کند و سوئیچ Catalyst 2960 آن بسته های را بر روی تمامی پورت های عضو Vlan 10 ارسال می کند.

حال که بسته DNS به سوئیچ SG300 رسید ، سوئیج که در حالت L3 می باشد بسته را در لایه دو و سه بررسی می کند و متوجه نمی شود که آیا مقصد بسته خودش است یا خیر پس مجبور است بسته را در لایه چهارم که UDP است بررسی کند و چون SG300 در شبکه DNS Server نیست ، نمی تواند سرویس DNS دهد و بسته را در لایه ۴ دور می ریزد.

مشکل کجاست؟

درخواست های DNS کامپیوتر ها از نوع UDP و برادکست است و به خاطر برادکست بودن آن ها SG300 آن ها را دور میریزد.

راه حل:

باید در SG300 ، UDP Relay را پیاده سازی کنیم تا بسته های DNS کامپیوتر ها را Unicast کند سمت DNS Server شبکه با آدرس ۱۹۲٫۱۶۸٫۲۰٫۱۰۰٫

به صفحه Web از سوئیچ SG300 متصل شوید و در قسمت IP Configuration گزینه UDP Relay/IP Helper را انتخاب کنید.

C:\Users\a.kamali\Desktop\Capture.PNG

روی گزینه Add کلیک کنید.

C:\Users\a.kamali\Desktop\Capture.PNG

Source IP Interface

آدرس IP ای که بر روی آن پورت بسته های برادکست دریافت می شود را مشخص کنید ( در مثال ما GE 10 با آدرس ۱۹۲٫۱۶۸٫۱۰٫۱ می باشد)

UDP Destination Port

کدام ترافیک های UDP را Unicast کند.(در مثال ما DNS یا Domain می باشد که پورت آن UDP 53 می باشد)

Destination IP Address

آدرس سرور و Unicast را مشخص می کنید.(در مثال ما آدرس DNS Server برابر با ۱۹۲٫۱۶۸٫۲۰٫۱۰۰ می باشد)

نکته : فقط ترافیک های UDP که برادکست هستند را با IP Helper یا UDP Relay می توانید Unicast کنید.

نکته : در سوئیچ های SMB برای Unicast کردن ترافیک های DHCP از قسمت UDP Relay استفاده نمیکنید و در قسمت DHCP Relay به صورت مجزا استثنا باید انجام شود که در مقاله بعدی توضیح می دهیم.

 

در شکل زیر ساختار بسته DNS را قبل از UDP Relay می بینید.

C:\Users\a.kamali\Desktop\Capture.PNG

بعد از این که SG300 بسته را Unicast به سمت سرور ارسال کرد ( After UDP Relay)

C:\Users\a.kamali\Desktop\Capture 2.PNG

نکته : بعد از Unicast کردن ترافیک به سمت سرور ، سرور در جواب بسته ها را به مقصد کامپیوتر ها ارسال می کند زیرا سوئیچ هنگام UDP Relay کردن ، آدرس مبدا ترافیک را عوض نکرده است.

 

دیدگاه خود را برای ما ارسال کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هیچ دیدگاهی به ثبت نرسیده است.
udp relay
امین کمالی
مطالب نویسنده