DHCP Snooping در سوئیچهای سیسکو قابلیتی امنیتی برای کنترل ترافیک DHCP و جلوگیری از پاسخگویی سرورهای DHCP غیرمجاز در شبکه است. این قابلیت پیامهای DHCP را بررسی میکند و با مشخص کردن پورتهای Trusted و Untrusted، مشخص میکند کدام مسیرها برای دریافت پاسخهای DHCP مورد اعتماد هستند.
DHCP Snooping علاوه بر کنترل پیامهای DHCP، اطلاعات مربوط به تخصیص IP به کلاینتها را در یک Binding Database ثبت میکند. این اطلاعات میتوانند در قابلیتهای امنیتی دیگری مانند Dynamic ARP Inspection و IP Source Guard نیز مورد استفاده قرار بگیرند.
در این مقاله، ابتدا توضیح میدهیم DHCP Snooping چیست و چگونه کار میکند؛ سپس Trusted و Untrusted Port، Binding Database، نحوه پیکربندی و دستورات بررسی وضعیت آن را بررسی میکنیم و در ادامه به خطاهای رایج، عیبیابی و ارتباط DHCP Snooping با قابلیتهایی مانند DAI و IP Source Guard میپردازیم.
⏲ زمان تخمینی مطالعه: 14 دقیقه
فهرست موضوعات
DHCP Snooping چیست؟
DHCP Snooping یک قابلیت امنیتی در سوئیچهای شبکه است که پیامهای DHCP را بررسی میکند و از دریافت پاسخهای DHCP از منابع غیرمجاز جلوگیری میکند. این قابلیت مشخص میکند کدام پورت سوئیچ به DHCP Server معتبر یا تجهیزات مورداعتماد متصل است و کدام پورتها به کلاینتهای شبکه اختصاص دارند.
Cisco در مستندات خود DHCP Snooping را قابلیتی توصیف میکند که مانند یک فایروال بین کلاینتهای غیرقابلاعتماد و DHCP Serverهای مورداعتماد عمل میکند. این قابلیت پیامهای DHCP دریافتی از منابع غیرقابلاعتماد را بررسی و پیامهای نامعتبر را فیلتر میکند.
در DHCP Snooping، پورتهای سوئیچ به دو وضعیت Trusted و Untrusted تقسیم میشوند. پورت متصل به DHCP Server یا مسیر ارتباطی با تجهیزات مورداعتماد، Trusted در نظر گرفته میشود و پورتهای متصل به کاربران معمولاً Untrusted هستند. بهصورت پیشفرض، اینترفیسها در وضعیت Untrusted قرار دارند و برای پورت متصل به DHCP Server باید وضعیت Trusted تعریف شود.
به این ترتیب، سوئیچ میتواند پیامهای DHCP را بر اساس محل دریافت و وضعیت پورت بررسی کند. برای مثال، اگر یک دستگاه غیرمجاز در شبکه نقش DHCP Server را بر عهده بگیرد و از یک پورت Untrusted پیامهایی مانند DHCP Offer ارسال کند، سوئیچ میتواند این پیامها را فیلتر کند.
یکی دیگر از نتایج فعالسازی DHCP Snooping، ایجاد DHCP Snooping Binding Database است. این جدول اطلاعاتی مانند آدرس MAC، آدرس IP، VLAN و Interface مربوط به کلاینتهایی را که از طریق پورتهای Untrusted به شبکه متصل هستند، ثبت میکند. این اطلاعات میتواند در قابلیتهای امنیتی دیگری مانند Dynamic ARP Inspection (DAI) نیز مورد استفاده قرار گیرد. برای درک بهتر موضوع مقاله Dynamic ARP Inspection (DAI) چیست؟ را مطالعه کنید.
بنابراین، هدف اصلی DHCP Snooping فقط کنترل DHCP Server نیست؛ بلکه جلوگیری از پاسخهای DHCP غیرمجاز و ایجاد اطلاعات قابلاعتماد از ارتباط IP و MAC کلاینتها است.
چرا به DHCP Snooping نیاز داریم؟
در یک شبکه معمولی، کلاینت برای دریافت تنظیمات شبکه مانند IP Address، Subnet Mask، Default Gateway و DNS Server، درخواست DHCP ارسال میکند. اگر یک DHCP Server معتبر در شبکه وجود داشته باشد، این سرور پاسخ را برای کلاینت ارسال میکند.
مشکل زمانی ایجاد میشود که یک DHCP Server غیرمجاز (Rogue DHCP Server) وارد شبکه شود. این سرور میتواند به درخواستهای DHCP کاربران پاسخ دهد و اطلاعات نادرستی مانند Gateway یا DNS Server جعلی در اختیار آنها قرار دهد.
در این حالت، کاربر ممکن است بدون اینکه متوجه شود، بخشی از ترافیک خود را از مسیر یا سرور موردنظر مهاجم عبور دهد. این وضعیت میتواند زمینه حملاتی مانند Man-in-the-Middle یا اختلال در دسترسی کاربران به شبکه را فراهم کند.
DHCP Snooping برای جلوگیری از چنین وضعیتی استفاده میشود. سوئیچ با تعیین پورتهای Trusted و Untrusted، مشخص میکند پاسخهای DHCP از چه مسیری مجاز هستند. در نتیجه، پیامهای DHCP غیرمجاز که از پورتهای Untrusted ارسال میشوند، شناسایی و فیلتر میشوند.
DHCP Snooping چگونه کار میکند؟
بهصورت معمول، پورتی که به DHCP Server معتبر یا مسیر ارتباطی آن متصل است، Trusted تنظیم میشود و پورتهای متصل به کلاینتها در وضعیت Untrusted قرار میگیرند. سوئیچ پیامهای DHCP را بر اساس این وضعیت بررسی میکند.
فرآیند دریافت IP با پیام DHCP Discover از سمت کلاینت شروع میشود. این پیام از پورت Untrusted وارد سوئیچ میشود و به سمت DHCP Server ارسال میشود. سرور در پاسخ، پیام DHCP Offer را ارسال میکند. چون این پیام از سمت پورت Trusted وارد سوئیچ شده است، سوئیچ آن را مجاز میداند و به سمت کلاینت عبور میدهد.
در ادامه، کلاینت با ارسال DHCP Request اعلام میکند که کدام پیشنهاد را انتخاب کرده است و DHCP Server نیز با پیام DHCP ACK تنظیمات شبکه را تأیید میکند.
نکته مهم این است که اگر یک دستگاه غیرمجاز از یک پورت Untrusted بخواهد پیامهایی مانند DHCP Offer یا DHCP ACK را به سمت کلاینتها ارسال کند، سوئیچ میتواند این پیامها را فیلتر کند. به این ترتیب، DHCP Server غیرمجاز نمیتواند بهسادگی پاسخهای خود را به کلاینتهای شبکه تحمیل کند.
در کنار این بررسیها، DHCP Snooping اطلاعات مربوط به ارتباط IP، MAC، VLAN و Interface کلاینت را در جدول DHCP Snooping Binding ثبت میکند. این جدول بعداً میتواند برای قابلیتهای امنیتی دیگری مانند Dynamic ARP Inspection (DAI) و IP Source Guard مورد استفاده قرار گیرد.
| ویژگی | Trusted Port | Untrusted Port |
|---|---|---|
| وضعیت پیشفرض | خیر | بله |
| دریافت پاسخ سرور DHCP | در چارچوب قواعد مجاز است | پاسخهای سرور غیرمجاز میتوانند مسدود شوند |
| اتصال متداول | مسیر مورد اعتماد سرور DHCP | پورت متصل به کلاینت |
| ریسک تنظیم اشتباه | اعتماد بیش از حد به مسیر | احتمال مسدود شدن پاسخ معتبر در صورت طراحی نادرست |
آیا تمام Uplinkها باید Trusted باشند؟ نیاز نیست حتما تمام Uplink ها Trusted باشند. وضعیت هر پورت را بر اساس مسیر عبور پیامهای DHCP و نقش آن در توپولوژی تعیین کنید. در شبکههای چندسوئیچی، این تصمیم باید با توجه به محل سرور DHCP و نحوه عبور پاسخها گرفته شود.

DHCP Snooping Binding Table چیست؟
Binding Table یا Binding Database جدولی است که ارتباط میان آدرس IP کلاینت و مشخصات مربوط به تخصیص آن را نگهداری میکند. این اطلاعات به سوئیچ کمک میکنند دستگاههایی را که از طریق DHCP آدرس گرفتهاند، شناسایی کند.
نمونهای از این جدول را در نظر بگیرید:
| MAC Address | IP Address | VLAN | Interface | Lease (sec) |
|---|---|---|---|---|
| 00:11:22:33:44:55 | 192.168.10.20 | 10 | Gi1/0/5 | 86400 |
جدول بالا فرضی است و فقط نمونهای از اطلاعات ثبت شده را نشان میدهد. Binding Database شامل تمام دستگاههای شبکه نیست. برای مثال اطلاعات دستگاهی که به صورت دستی IP گرفته است معمولاً بهصورت خودکار در DHCP Snooping Binding Database ثبت نمیشود.
مشاهده Binding های ثبتشده در DHCP Snooping
Switch# show ip dhcp snooping binding
برای مشاهده اطلاعات Bindingهای ثبتشده در سوئیچ، از دستور show ip dhcp snooping binding استفاده کنید. این دستور اطلاعاتی مانند MAC Address، IP Address، VLAN، Interface و مدت اعتبار Lease را نمایش میدهد.
تفاوت Binding Table و ARP Table
Binding Table و ARP Table ممکن است هر دو IP و MAC را نمایش دهند، اما هدف آنها متفاوت است. Binding Table اطلاعات مربوط به تخصیص آدرس از طریق DHCP Snooping را نگهداری میکند. ARP Table نیز نگاشت IP به MAC را برای ارتباط در شبکه محلی ثبت میکند.
بنابراین وجود یک IP در ARP Table همیشه به معنای وجود Binding متناظر نیست. این تفاوت هنگام فعال سازی DAI یا عیبیابی ارتباط کلاینتها اهمیت پیدا میکند.
آموزش کانفیگ DHCP Snooping در Cisco
در این مثال کاربران در VLAN 10 قرار دارند. سرور DHCP از طریق پورت GigabitEthernet1/0/48 در دسترس است و پورتهای GigabitEthernet1/0/1 تا GigabitEthernet1/0/47 به کاربران اختصاص دارند. دستورات زیر را فقط در صورتی اجرا کنید که مدل سوئیچ و نسخه IOS یا IOS XE از آنها پشتیبانی کنند.
مرحله ۱؛ فعالسازی DHCP Snooping
Switch# configure terminal
Switch(config)# ip dhcp snooping
این دستور قابلیت را در سطح سوئیچ فعال میکند.
مرحله ۲؛ فعالسازی روی VLAN 10
Switch(config)# ip dhcp snooping vlan 10
با این دستور DHCP Snooping برای VLAN 10 فعال میشود. اگر کاربران در VLAN دیگری باشند، باید تنظیمات آن VLAN نیز بررسی شود.
مرحله ۳؛ Trusted کردن پورت سرور DHCP
Switch(config)# interface GigabitEthernet1/0/48
Switch(config-if)# ip dhcp snooping trust
Switch(config-if)# exit
در این مثال پورت Gi1/0/48 برای دریافت پاسخهای معتبر DHCP در نظر گرفته شده است. به همین دلیل آن را Trusted میکنیم. اگر سرور یا مسیر پاسخها در جای دیگری قرار داشته باشد، باید پورت مناسب را بر اساس توپولوژی واقعی انتخاب کنید.
مرحله ۴؛ تنظیم Rate Limit
Switch(config)# interface range GigabitEthernet1/0/1-47
Switch(config-if-range)# ip dhcp snooping limit rate 15
Switch(config-if-range)# exit
این دستور تعداد پیامهای DHCP دریافتی از پورتهای مشخصشده را محدود میکند. عدد 15 در این مثال فقط یک مقدار نمونه است. اگر حد مجاز را پایینتر از نیاز واقعی پورت تنظیم کنید، بخشی از درخواستهای معتبر نیز ممکن است Drop شوند. بنابراین مقدار آن را با توجه به حجم درخواستهای مورد انتظار انتخاب کنید.
مرحله ۵؛ ذخیره تنظیمات
ابتدا از حالت پیکربندی خارج شوید و سپس تنظیمات را ذخیره کنید:
Switch(config)# end
Switch# copy running-config startup-config
پس از اعمال تنظیمات، وضعیت DHCP Snooping و دریافت IP توسط کلاینتها را بررسی کنید. اگر پیامهای DHCP بهدرستی عبور میکنند و کلاینتها آدرس میگیرند، تنظیمات را ذخیره کنید. در شبکه عملیاتی بهتر است این تغییرات در زمان نگهداری برنامهریزیشده انجام شوند.
دستورهای بررسی DHCP Snooping در Cisco
پس از پیکربندی، وضعیت قابلیت و اطلاعات ثبت شده را بررسی کنید.
| کاربرد | دستور |
|---|---|
| مشاهده وضعیت کلی و VLANهای فعال | show ip dhcp snooping |
| مشاهده Bindingهای ثبتشده | show ip dhcp snooping binding |
| بررسی آمار پیامها و Dropها در نسخههای پشتیبانیشده | show ip dhcp snooping statistics |
| بررسی تنظیمات جاری | show running-config |
| بررسی VLANها و عضویت پورتها | show vlan brief |
DHCP Snooping چه حملاتی را کاهش میدهد؟
DHCP Snooping در درجه اول برای کنترل پیامهای DHCP و کاهش خطر سرورهای غیرمجاز کاربرد دارد. نقش آن در حملات مختلف یکسان نیست.
| تهدید | نقش DHCP Snooping |
|---|---|
| Rogue DHCP Server | فیلتر کردن پاسخهای غیرمجاز از پورتهای Untrusted |
| DHCP Spoofing / Rogue DHCP Server | فیلتر کردن پاسخهای DHCP غیرمجاز از پورتهای Untrusted |
| DHCP Starvation | محدود کردن نرخ پیامهای DHCP روی پورتهای تنظیمشده |
| IP Spoofing | نیازمند کنترل تکمیلی مانند IP Source Guard |
تفاوت DHCP Snooping و DAI چیست؟
Dynamic ARP Inspection یا DAI برای اعتبارسنجی پیامهای ARP به کار میرود.DHCP Snooping اطلاعات تخصیص IP را ثبت میکند و DAI میتواند از این Bindingها برای بررسی نگاشت IP و MAC استفاده کند.
| ویژگی | DHCP Snooping | DAI |
|---|---|---|
| ترافیک هدف | DHCP | ARP |
| وظیفه | کنترل پیامهای DHCP و ثبت Binding | اعتبارسنجی پیامهای ARP |
| تهدید مرتبط | Rogue DHCP Server | ARP Spoofing |
| ارتباط | منبع اطلاعات Binding | مصرفکننده Bindingهای قابل استفاده |
مثلا اگر دستگاهی پیامی ارسال کند که در آن نگاشت IP و MAC با اطلاعات معتبر شبکه سازگار نباشد، DAI میتواند آن را طبق قواعد خود بررسی و در صورت لزوم مسدود کند. در مقاله DAI چیست؟ میتوانید نحوه اعتبارسنجی پیامهای ARP و ارتباط آن با Bindingهای DHCP Snooping را جداگانه بخوانید.
تفاوت DHCP Snooping و IP Source Guard چیست؟
IP Source Guard یا IPSG ترافیک IP ورودی از پورتهای تحت کنترل را بر اساس Binding های معتبر یا تنظیمات استاتیک پشتیبانیشده محدود میکند.
| ویژگی | DHCP Snooping | IP Source Guard |
|---|---|---|
| وظیفه | کنترل DHCP و ثبت Binding | فیلتر کردن ترافیک IP بر اساس منبع مجاز |
| اطلاعات مورد استفاده | پیامهای DHCP | Bindingهای DHCP Snooping یا Bindingهای استاتیک |
| هدف امنیتی | کاهش خطر پاسخ DHCP غیرمجاز | کاهش خطر جعل IP مبدأ |
اگر یک دستگاه بخواهد از آدرس IP نامعتبر روی پورتی استفاده کند که IP Source Guard روی آن فعال شده است، سوئیچ میتواند ترافیک ناسازگار با Binding مجاز را محدود کند. برای دستگاههایی که IP استاتیک دارند، باید روش مناسب ثبت اطلاعات نیز در نظر گرفته شود.
↙ ↘
DHCP Snooping، DAI و IP Source Guard هرکدام بخش متفاوتی از ترافیک شبکه را کنترل میکنند. DHCP Snooping اطلاعات مربوط به تخصیص IP را در Binding Database ثبت میکند. DAI میتواند از این اطلاعات برای بررسی پیامهای ARP استفاده کند و IP Source Guard نیز برای کنترل ترافیک IP ورودی از کلاینت میتواند به اطلاعات Binding متکی باشد.
بنابراین DHCP Snooping میتواند مبنای اطلاعات موردنیاز برای عملکرد DAI و IP Source Guard باشد، اما فعالسازی آن بهتنهایی این دو قابلیت را فعال نمیکند. DAI و IP Source Guard باید جداگانه و متناسب با ساختار شبکه پیکربندی شوند.
خطاهای رایج در تنظیم DHCP Snooping
چند اشتباه رایج میتوانند باعث اختلال در دریافت IP یا کاهش امنیت شبکه شوند:
- تنظیم اشتباه :Trustممکن است پاسخ معتبر DHCP مسدود شود یا پاسخ غیرمجاز از یک مسیر مورد اعتماد عبور کند.
- فعال نکردن قابلیت روی VLAN موردنظر: پیامهای DHCP آن VLAN تحت تنظیمات مورد انتظار قرار نمیگیرند.
- Rate Limit نامتناسب: محدودیت بیش از حد پایین میتواند باعث Drop شدن درخواستهای معتبر شود.
- ناسازگاری تنظیمات Option 82 یا :DHCP Relay پیامهای معتبر ممکن است در مسیر عبور بین سوئیچها و سرور مسدود شوند.
- نادیده گرفتن توپولوژی چندسوئیچی: تنظیم یکسان Trust برای همه Uplinkها ممکن است با مسیر واقعی پیامهای DHCP سازگار نباشد.
جمعبندی
پیش از فعالسازی DHCP Snooping، مسیر پاسخهای DHCP و نقش هر پورت را مشخص کنید. سپس تنظیمات VLAN و Trust را اعمال کنید و با بررسی Bindingها و دریافت IP توسط کلاینتها، از درست کار کردن پیکربندی مطمئن شوید. اگر قصد خرید سوئیچ سیسکو را دارید، پشتیبانی مدل و نسخه نرمافزاری آن از قابلیتهای امنیتی مورد نیاز شبکه را هم در انتخاب خود در نظر بگیرید.
سوالات متداول درباره DHCP Snooping
DHCP Snooping چیست؟
DHCP Snooping قابلیتی امنیتی در سوئیچ است که پیامهای DHCP را بررسی میکند، پاسخهای غیرمجاز را فیلتر میکند و اطلاعات تخصیص IP را ثبت میکند.
Trusted Port و Untrusted Port چه تفاوتی دارند؟
Trusted Port برای مسیر مورد اعتماد DHCP تنظیم میشود، در حالی که Untrusted Port بهصورت پیشفرض غیرقابل اعتماد است و پاسخهای غیرمجاز DHCP از آن میتوانند مسدود شوند.
Binding Table در DHCP Snooping چیست؟
Binding Table اطلاعاتی مانند MAC، IP، VLAN، Interface و Lease دستگاههایی را که از DHCP آدرس گرفتهاند ثبت میکند.
دستور مشاهده Bindingهای DHCP Snooping چیست؟
برای مشاهده Bindingهای ثبتشده میتوانید از دستور show ip dhcp snooping binding استفاده کنید.
اگر بعد از فعال کردن DHCP Snooping کلاینت IP نگرفت چه کنیم؟
ابتدا فعال بودن DHCP Snooping روی VLAN، وضعیت Trust پورتها و Rate Limit را بررسی کنید. سپس در صورت استفاده از DHCP Relay یا Option 82، مسیر عبور پیامها را بررسی کنید.
آیا DHCP Snooping به DAI نیاز دارد؟
خیر. DHCP Snooping مستقل از DAI کار میکند، اما DAI میتواند از Bindingهای DHCP Snooping برای اعتبارسنجی پیامهای ARP استفاده کند.
DHCP Snooping چه ارتباطی با IP Source Guard دارد؟
این دو قابلیت مستقل هستند؛ IP Source Guard میتواند از Bindingهای DHCP Snooping برای محدود کردن ترافیک IP بر اساس منبع مجاز استفاده کند.
آیا DHCP Snooping برای همه شبکهها لازم است؟
خیر. استفاده از آن به ساختار شبکه، اهمیت امنیت لایه دوم، محل DHCP Server و پشتیبانی سوئیچ و سیستمعامل از این قابلیت بستگی دارد.
DHCP Snooping چگونه از Rogue DHCP جلوگیری میکند؟
با تعیین پورتهای Trusted و فیلتر کردن پاسخهای DHCP غیرمجاز از پورتهای Untrusted، خطر فعالیت DHCP Server غیرمجاز را کاهش میدهد.