دسته: مقاله

DHCP Snooping

برای درک بهتره DHCP Snooping بهتره اول یه کوچولو در مورد DHCP و نحوه کار کردنش بدونیم . پروسه IP گرفتن از DHCP چهارتا مرحله داره :

DORA :

  • DHCP Discover : کامپیوتر ، یه داد توی شبکه میزنه و میگه : آیا سروری وجود دارد که به من IP بده ؟
  • DHCP Offer : سرور به محض گرفتن پیام کمک از کامپیوتر ، یه عکس از یه IP تپل ، مپل با مخلفاتش مثه MASK ، GW برا کامپیوتر میفرسته و میگه دوسش داری؟
  • DHCP Request : کامپیوتر پیشنهاد سرور رو میگیره ، اندازه و براندازش میکنه ، سبک ، سنگینش میکنه و میگه من میخوامش .
  • DHCP Acknowledge : تو این مرحله ، سرور به کامپیوتر میگه باشه مال تو و از سبد محصولاتش اون IP رو حذف میکنه.

dhcp_principle

حالا فرض کنیم که یه نفر شیطونی کرده و توی شبکه یه سرور DHCP تقلبی راه انداخته و شروع کرده به توزیع IP های فیک(Fake) با ظاهری خوب ولی بدردنخور مثه ۱٫۱٫۱٫۱ و از اونجایی که کامپیوترها جو گیرن و به اولین پیشنهاد IP اوکی میدن توی بد دردسری میوفتن و ارتباطشون با کل شبکه  قطع میشه و البته اگه شیطونمون یکم حرفه ایی باشه ، به جای اینکه ارتباط کامپیوتر رو با شبکه قطع کنه میتونه ترافیک رو اول به سمت خودش برای آنالیز و بعد به سمت شبکه هدایت کنه . اینجوری ارتباط کامپیوتر با شبکه قطع نیست ، ولی اطلاعات اول میرن پیش شیطون ، یه بررسی میشن ، بعد به راهشون ادامه میدن. اطلاعاتم که میدونیم میتونه شامل  تمام یوزر پسوردها ، اطلاعات بانکی و خلاصه هر چیزی که شما در شبکه رد و بدل میکنید باشه.

DHCP snooping یه راه جلوگیری از کار کردن DHCP Server های تقلبی  با استفاده از فیلتر کردن DHCP Offer ها توی شبکمونه. به این صورت که وقتی شما DHCP Snooping رو روی یک سوئیچ فعال میکنید بصورت پیش فرض تمام DHCP Offer ها رو از هر پورتی که دریافت کنه فیلتر میکنه. این حرکت ، یه مشکل کوچیک ایجاد میکنه و اونم اینه که دیگه سرور DHCP خودتونم کار نمیکنه و پیشنهادتش (DHCP Offer) فیلتر میشه. برای رفع این مشکل باید تمام پورت هایی که به سرور DHCP اصلی میرسن رو برای DHCP Snooping معرفی کنیم یا به اصطلاح Trust کنیم. من خودم اول فکر میکردم ، که اگه فقط پورتی که به DHCP Server وصل هست رو Trust کنیم کافیه ولی باید حواسمون باشه که ممکنه کامپیوتر ما  قرار باشه از چندتا سوئیچ رد شه  بعد به DHCP Server برسه ، پس باید حتما Trust روی پورتهایی که بین سوئیچ ها هستند و روشون  Snooping  فعال هست هم زده بشه وگرنه DHCP Offer توی سوئیچ بعد فیلتر میشه.

برای فعال کردن DHCP Snooping توی سوئیچ های سیسکو ، کافیه توی محیط Global کامند ip dhcp snooping رو بزنیم و بعد توی پورت هایی که به سرور خودمون ختم میشن کامند ip dhcp snooping trust رو بزنیم

“امیدوارم از این به بعد توی طراحی و مشاورمون برای مشتری این امکان رو لحاظ کنیم و برای مشتریمون ارزش قائل شیم”

یه خاطره از DHCP Snooping

Telegram_logo.svg_

لوپ موقت

یکی از دوستام تعریف میکرد ، که یه سازمان  راجب به مشکلی که با IP Telephony هاشون داشتن بهش زنگ زدن. مشکل این بود که تلفن ها از DHCP سرور آی پی نمیگرفتن و خلاصه کل پروژه IP Telephony سازمان رو هوا بود ، فقط اونجاهی که خیلی مهم بود رو با IP دستی حلش کرده بودند. خلاصه اون دوست ما با یه کامند کوچیک اما گرون مشکل رو حل کرده بود.

یکی از امکانات پیشرفته Spanning Tree که غالبا نادیده گرفته میشه پورت فسته (PortFast). توی یک مقاله میخوندم که مهندسین وقتی به مشکل DHCP خوردن به PortFast برای رفع این مشکل فکر کردن. مشکل اینجا بود وقتی که پروتکل STP روی یک سوئیچ فعال باشه ، هر پورت حداقل ۳۰ ثانیه زمان میبره که آپ شه یا درست تر که بگم بره تو حالت فوروارد ،(۱۵ ثانیه Listen و ۱۵ ثانیه Learn) ، که همین ۳۰ ثانیه باعث میشه که برخی از تجهیزات از گرفتن آی پی از DHCP Server ناامیدشن و از APIPA IP استفاده کنن.

PortFast باعث میشکه که پورت بدون درنگ به حالت فوروارد(Forward) بره و یجورایی اون ۱۵ ثانیه Listen و ۱۵ ثانیه Learn رو دور بزنه. این کانفیگ رو ما باید فقط و فقط روی پورت هایی بزنیم که مطمئن هستیم که به End Device خوردن یا Access کانفیگ شدن . اگر اشتباها این کامند رو روی پورتی بزنیم که به سوئیچ دیگه ایی خورده یا  Trunk کانفیگ شده ، میتونه  بسته به نوع شبکه باعث یک لوپ موقت ۲ ثانیه ایی بشه.

” بله ، یک لوپ موقت “

توی اینترنت که نگاه میکردم ، اطلاعات ضد و نقیض و اشتباه در مورد کارکرد PortFast زیاده و  خیلی ها به اشتباه فکر میکنن که PortFast پرتکل STP رو غیرفعال (Disable) میکنه و دیگه روی اون پورت نه BPDU ارسال و نه دریافت میشه . اما نه تنها روی اون پورت BPDU ارسال میشه ، بلکه وضعیت پورت بستگی به BPDU هایی که دریافت میکنه داره. اگر پورتی که PortFast کانفیگ شده ، BPDU دریافت کنه ، بصورت اتوماتیک Portfast رو غیرفعال میکنه .

PortFast رو به دو شکل میشه کانفیگ کرد ، یکی بصورت گلوبال (Spanning-tree portfast default) که بصورت اتوماتیک تمام اینترفیس هایی که Access هستند Portfast کار میکنند یا به ازای هر اینترفیس بصورت مجزا (Spanning-tree portfast) باید  Portfast رو کانفیگ کنیم ، به هر حال در هر دو صورت پورت بایستی در حالت Access باشه. این امکان وجود داره که PortFast رو برای پورت ترانک هم کانفیگ کرد . اگر از کامند spanning-tree portfast trunk برای فعال کردن portfast استفاده کنیم ، برای هردو حالت پورت (Access , Trunk) portfast فعال خواهد شد.

PortFast علاوه بر دور زدن اون ۳۰ ثانیه ، TCN رو هم غیرفعال میکنه. TCN یا همون Topology Change Notification یه پیام کوتاه که سوئیچ بابت آپ یا دان شدن پورت ارسال میکنه.حالا اگر پورتی ، PortFast کانفیگ شده باشه دیگه بابت تغییرات پورت این پکت رو ارسال نمیکنه.

خلاصه اون دوست باهوش ما تونسته بود با زدن یک کامند کوچیک مشکل IP گرفتن تلفن ها رو حل کنه و کلی هم پول گرفته بود. سواد دیگه !