هر بار که یک لپتاپ، تلفن یا دوربین به شبکه وصل میشود، پیش از هر کاری یک IP ، گیتوی و DNS میخواهد. سرویسی که این کار را بیصدا انجام میدهد DHCP است. در شبکههای کوچک و شعبهها، به سرور جداگانه نیازی نیست: روتر یا سوئیچ لایه ۳ سیسکو خودش میتواند سرور DHCP باشد. در شبکههای بزرگ هم که سرور DHCP مرکزی دارید، روتر و سوئیچ باید درخواستها را به آن برسانند (DHCP Relay) و از شبکه در برابر سرورهای DHCP جعلی محافظت کنند (DHCP Snooping).
در این مطلب نحوه کار DHCP ، کانفیگ کامل سرور روی IOS ، آدرسهای رزرو، گزینههای رایج (از جمله TFTP برای تلفنهای IP) ، Relay با ip helper-address ، DHCP Snooping و دستورهای بررسی را مرور میکنیم.
DHCP روی سیسکو در یک نگاه
| چهار پیام | Discover ، Offer ، Request ، Acknowledge (DORA) |
| پورتها | UDP 67 (سرور) و UDP 68 (کلاینت) |
| سرور روی IOS | ip dhcp pool + ip dhcp excluded-address |
| Relay | ip helper-address روی اینترفیس یا SVI کلاینتها |
| گزینه TFTP | Option 150 (سیسکو) و Option 66 |
| امنیت | DHCP Snooping روی سوئیچهای Access |
فهرست مطالب
DHCP چطور کار میکند
| مرحله | پیام | از / به | کار |
|---|---|---|---|
| 1 | Discover | کلاینت ← broadcast | «سرور DHCP کجاست؟» |
| 2 | Offer | سرور ← کلاینت | پیشنهاد یک IP و تنظیمات |
| 3 | Request | کلاینت ← broadcast | «همان IP پیشنهادی را میخواهم» |
| 4 | Acknowledge | سرور ← کلاینت | تأیید و شروع مدت اجاره (Lease) |
چون Discover یک broadcast است، از روتر عبور نمیکند؛ یعنی سرور DHCP یا باید در همان VLAN باشد، یا روتر و سوئیچ لایه ۳ باید درخواست را Relay کنند.
کانفیگ سرور DHCP روی روتر یا سوئیچ
! addresses that DHCP must never hand out (gateway, servers, printers) ip dhcp excluded-address 192.168.10.1 192.168.10.20 ! ip dhcp pool USERS network 192.168.10.0 255.255.255.0 default-router 192.168.10.1 dns-server 192.168.20.10 8.8.8.8 domain-name shabake.local lease 1 ! ip dhcp pool VOICE network 192.168.11.0 255.255.255.0 default-router 192.168.11.1 option 150 ip 192.168.20.30 lease 7 ! ip dhcp conflict logging
| دستور | کار |
|---|---|
network |
محدوده آدرس pool ؛ باید با subnet اینترفیسی که درخواست روی آن میرسد یکی باشد |
default-router |
گیتوی کلاینتها (میتواند چند آدرس باشد) |
dns-server |
تا ۸ سرور DNS |
lease 1 |
مدت اجاره به روز (پیشفرض ۱ روز)؛ برای شبکه مهمان کوتاهتر، برای ثابتها بلندتر |
option 150 ip |
آدرس سرور TFTP برای تلفنهای IP سیسکو (Option 66 استاندارد مشابه بهصورت نام یا متن است) |
option 19 بهعنوان «آدرس TFTP» نام برده شده بود؛ این اشتباه است. Option 19 مربوط به IP Forwarding است. برای TFTP از Option 150 (تلفنهای سیسکو) یا Option 66 استفاده کنید.آدرس رزرو برای یک دستگاه
برای پرینتر یا دوربینی که باید همیشه یک IP داشته باشد، یک pool جداگانه با آدرس سختافزاری آن بسازید:
ip dhcp pool PRINTER-FL2 host 192.168.10.50 255.255.255.0 client-identifier 0100.1a2b.3c4d.5e default-router 192.168.10.1
برای بیشتر کلاینتها client-identifier برابر 01 بهعلاوه MAC آدرس است. MAC و شناسه کلاینت را از خروجی show ip dhcp binding بردارید. روی بعضی دستگاهها بهجای آن hardware-address کار میکند.
DHCP Relay : سرور در شبکه دیگر
در شبکه سازمانی معمولاً یک سرور DHCP مرکزی (مثلاً Windows Server) در VLAN سرورهاست. روی SVI یا اینترفیس روتر که گیتوی کلاینتهاست، آدرس سرور را تعریف کنید:
interface Vlan10 ip address 192.168.10.1 255.255.255.0 ip helper-address 192.168.20.10
روتر broadcast کلاینت را بهصورت unicast به سرور میفرستد و آدرس گیتوی (GIADDR) را در آن میگذارد تا سرور بفهمد از کدام scope آدرس بدهد. نکته: ip helper-address بهطور پیشفرض چند پروتکل UDP دیگر (مثل TFTP ، DNS و NetBIOS) را هم Relay میکند؛ اگر لازم نیست، با no ip forward-protocol udp … محدود کنید.
DHCP Snooping : جلوگیری از سرور جعلی
کافی است یک کاربر مودم یا روتر خانگی با DHCP روشن را به پورت شبکه وصل کند تا بخشی از کلاینتها IP و گیتوی اشتباه بگیرند و اینترنتشان قطع شود؛ یا بدتر، یک مهاجم عمداً گیتوی را به خودش تغییر دهد. DHCP Snooping روی سوئیچ Access فقط به پورتهای مورد اعتماد (آپلینک به سمت سرور DHCP) اجازه پاسخ DHCP میدهد:
ip dhcp snooping ip dhcp snooping vlan 10,11 no ip dhcp snooping information option ! interface TenGigabitEthernet1/1/1 description Uplink to Distribution ip dhcp snooping trust ! interface range GigabitEthernet1/0/1 - 48 ip dhcp snooping limit rate 15
جدول Snooping (کدام MAC روی کدام پورت چه IPی گرفته) پایه قابلیتهای امنیتی دیگر مثل Dynamic ARP Inspection و IP Source Guard هم هست. دستور no ip dhcp snooping information option وقتی لازم است که سرور DHCP شما پیامهای دارای Option 82 را رد میکند.
بررسی و عیبیابی
R1# show ip dhcp binding R1# show ip dhcp pool R1# show ip dhcp conflict R1# show ip dhcp server statistics SW# show ip dhcp snooping SW# show ip dhcp snooping binding R1# debug ip dhcp server events
| علامت | علت محتمل |
|---|---|
| کلاینت 169.254.x.x میگیرد | پاسخ DHCP نمیرسد: helper-address ، VLAN ، یا Snooping بدون پورت trust |
| IP تکراری در شبکه | آدرسهای ثابت در excluded-address نیستند |
| pool پر شده | lease طولانی در شبکه مهمان؛ clear ip dhcp binding * و کاهش lease |
| بعضی کلاینتها گیتوی اشتباه میگیرند | سرور DHCP جعلی در شبکه؛ DHCP Snooping را فعال کنید |
پرسشهای متداول
DHCP روی روتر یا سرور مرکزی؟
برای شعبه کوچک روتر کافی است. برای سازمان با چند صد کلاینت و نیاز به گزارش و یکپارچگی با DNS ، سرور مرکزی و Relay.
اطلاعات DHCP بعد از ریاستارت روتر از بین میرود؟
جدول اجارهها در RAM است؛ برای نگهداشتن آن از ip dhcp database با آدرس یک سرور TFTP یا FTP یا فلش استفاده کنید.
روی Catalyst 9000 هم همین دستورهاست؟
بله؛ هم سرور DHCP ، هم Relay و هم Snooping با همین دستورها کار میکنند.
منابع
مطالب مرتبط: روتینگ توسط سوئیچ سیسکو و آموزش ابتدایی کانفیگ سوئیچ سیسکو.
مشاوره با AKA NET
برای طراحی آدرسدهی، DHCP و امنیت لایه ۲ در شبکههای سیسکو با آکانت (AKA NET) تماس بگیرید.
تلفن: 09121308444 | ایمیل: aka@aka.ir | aka.ir
I want to learn network
, If Study Hard and Practice on real Devices
as soon as , you will be a network expert .
I hope our Shabake.ir helps you in this way 🙂
feel free to ask us