DHCP و DNS در سیسکو – روز 23

قبل از این مقاله بهتره “EtherChannel و HSRP در شبکههای سیسکو” رو مطالعه کنید، تصور کنید که برای هر دستگاهی که میخواهید به شبکه متصل کنید، باید به صورت دستی آدرس IP را پیکربندی کنید. همچنین، در نظر بگیرید که برای دسترسی به هر وبسایت، باید آدرس IP آن را وارد کنید. این فرآیند پیچیده و زمانبر خواهد بود.
امروز دو پروتکل مهم را بررسی میکنیم که این فرآیند را خودکار میکنند:
- Dynamic Host Configuration Protocol (DHCP)
- Domain Name System (DNS)
این دو پروتکل، مدیریت شبکه و تجربه کاربران اینترنت را بسیار سادهتر میکنند. در ادامه، فرآیند پیکربندی IP در دستگاههای انتهایی (End Devices) در سیستمعاملهای Windows، macOS و Linux را نیز بررسی خواهیم کرد.
DHCPv4: تخصیص خودکار آدرس IP
پروتکل DHCPv4 به دستگاهها امکان میدهد تا هنگام اتصال به شبکه، به صورت دینامیک یک آدرس IP دریافت کنند. فرآیند تخصیص آدرس به این شکل است که کلاینت DHCPv4 در هنگام اتصال، درخواستی را برای دریافت آدرس IP به سرور DHCPv4 ارسال میکند.
سرور DHCP یک آدرس را از محدودهای از پیش تعیینشده (که به آن Pool گفته میشود) انتخاب کرده و آن را برای مدتی مشخص به کلاینت اختصاص میدهد. شکل زیر این فرآیند را نشان میدهد.
مراحل فرآیند تخصیص آدرس IP در DHCPv4
هنگامی که یک دستگاه با پیکربندی DHCP به شبکه متصل میشود، مراحل زیر اجرا میشود:
1. ارسال درخواست کشف سرور DHCP (DHCPDISCOVER)
- کلاینت DHCP یک پیام DHCPDISCOVER را از طریق Broadcast ارسال میکند تا ببیند آیا سروری برای ارائه آدرس IP در شبکه وجود دارد یا خیر.
2. پاسخ سرور با پیشنهاد آدرس (DHCPOFFER)
- اگر سرور DHCP موجود باشد، با ارسال یک پیام DHCPOFFER به کلاینت، یک پیشنهاد ارائه میدهد. این پیشنهاد شامل:
- آدرس IP پیشنهادی
- ماسک زیرشبکه (Subnet Mask)
- آدرس سرور DNS
- Default Gateway
- مدت زمان اجاره (Lease Time) آدرس IP
3. انتخاب پیشنهاد و ارسال درخواست (DHCPREQUEST)
- کلاینت ممکن است از چندین سرور DHCP پیشنهاد دریافت کند، اما یکی را انتخاب کرده و یک پیام DHCPREQUEST ارسال میکند که نشاندهنده پذیرش پیشنهاد از یک سرور خاص است.
4. تأیید نهایی تخصیص آدرس (DHCPACK)
- سرور انتخابشده، یک پیام DHCPACK را برای تأیید ارسال میکند. این پیام نشان میدهد که آدرس IP برای کلاینت رزرو شده و میتواند از آن استفاده کند.
اگر آدرس دیگر معتبر نباشد، سرور یک پیام DHCPNAK ارسال کرده و فرآیند باید از ابتدا تکرار شود. در صورتی که کلاینت قبل از انقضای زمان Lease بخواهد آدرس را تمدید کند، درخواست خود را با یک پیام DHCPREQUEST ارسال میکند. در غیر این صورت، اگر کلاینت از شبکه خارج شود، آدرس IP به Pool بازگردانده میشود.
گزینههای پیکربندی DHCPv4 در روترهای سیسکو
در روترهای Cisco، میتوان درخواستهای DHCP را به دو روش مدیریت کرد:
- به عنوان یک DHCP Server که آدرسهای IP را به کلاینتها اختصاص میدهد.
- به عنوان یک DHCP Relay Agent که درخواستهای DHCP را به سرور دیگری ارسال میکند.
علاوه بر این، یک روتر سیسکو میتواند بهعنوان یک DHCP Client نیز عمل کند و از یک سرور DHCP برای یکی از اینترفیسهای خود آدرس IP دریافت کند.
به عنوان مثال، یک روتر میتواند برای یک LAN متصل به خود نقش DHCP Server را ایفا کند، درحالیکه درخواستهای DHCP را از دیگر LANها به یک سرور DHCP دیگر فوروارد میکند. همچنین، ممکن است یکی از اینترفیسهای آن برای دریافت آدرس DHCP از یک سرور Remote پیکربندی شود.
پیکربندی روتر سیسکو به عنوان DHCPv4 Server
روتری که Cisco IOS Software را اجرا میکند، میتواند بهعنوان DHCPv4 Server پیکربندی شود. سرویس DHCPv4 در سیسکو، آدرسهای IPv4 را از محدودههای تعریفشده تخصیص داده و مدیریت میکند.
مراحل پیکربندی DHCP Server در روتر سیسکو
مرحله 1: حذف آدرسهای رزرو شده از محدوده DHCP
قبل از اختصاص آدرسها به کلاینتها، لازم است که آدرسهای خاصی که نباید در DHCP Pool قرار بگیرند، مشخص شوند. این کار با دستور زیر انجام میشود:
R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.9
R1(config)# ip dhcp excluded-address 192.168.10.254
R1(config)# ip dhcp excluded-address 192.168.11.1 192.168.11.9
R1(config)# ip dhcp excluded-address 192.168.11.254
این تنظیم باعث میشود که آدرسهای 192.168.10.1 تا 192.168.10.9 و 192.168.11.254 و 192.168.11.1 تا 192.168.11.9 و 192.168.11.254 برای DHCP تخصیص داده نشوند.
مرحله 2: ایجاد محدوده آدرسهای DHCP (DHCP Pool)
بعد از حذف آدرسهای رزرو شده، محدوده IP Pool برای تخصیص آدرسها باید ایجاد شود:
R1(config)# ip dhcp pool LAN-POOL-10
R1(dhcp-config)#
با این دستور، تنظیمات مربوط به محدوده DHCP آغاز میشود.
مرحله 3: تعیین پارامترهای تخصیص آدرس
در این مرحله، مقادیر مربوط به پیکربندی DHCP تعیین میشود. برخی از دستورات لازم عبارتند از:
وظیفه | دستور پیکربندی |
---|---|
تعریف محدوده آدرسها | network network-number mask |
تعریف Default Gateway | default-router address |
تعریف DNS Server | dns-server address |
تعیین مدت زمان اجاره | lease days [hours] [minutes] |
مثلاً برای DHCP Pool LAN-POOL-10 میتوان دستورات زیر را استفاده کرد:
R1(dhcp-config)# network 192.168.10.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.10.1
R1(dhcp-config)# dns-server 192.168.50.195 209.165.202.158
R1(dhcp-config)# domain-name cisco.com
R1(dhcp-config)# lease 2
R1(dhcp-config)# netbios-name-server 192.168.10.254
توپولوژی نمونه DHCPv4
شکل زیر نمونهای از یک توپولوژی DHCP را نشان میدهد:
- R1 بهعنوان DHCP Server عمل میکند.
- کلاینتها PC1 و PC2 از R1 آدرس IP دریافت میکنند.
- روتر R1 دارای دو LAN است که هرکدام دارای محدوده DHCP جداگانه هستند.
تأیید عملکرد DHCPv4
برای بررسی عملکرد DHCP در روتر سیسکو میتوان از دستورات زیر استفاده کرد:
بررسی لیست کلاینتهای DHCP
R1# show ip dhcp binding
خروجی این دستور شامل آدرسهای اختصاص دادهشده، مدت زمان اجاره (Lease Expiration) و اطلاعات کلاینتها است.
بررسی آمار سرویس DHCP
R1# show ip dhcp server statistics
این دستور وضعیت درخواستهای DHCP شامل تعداد DHCPDISCOVER، DHCPOFFER، DHCPREQUEST، DHCPACK را نمایش میدهد.
پیکربندی کلاینت DHCPv4 در ویندوز
برای بررسی وضعیت دریافت آدرس IP توسط کلاینتهای متصل به DHCP، از دستور زیر استفاده کنید:
C:\> ipconfig /all
خروجی این دستور شامل اطلاعات مهمی مانند:
- آدرس IP اختصاصیافته
- Default Gateway
- DNS Server
- Lease Expiration Time
نمونه خروجی:
دستورات مدیریت DHCP در کلاینت ویندوز
آزادسازی آدرس DHCP
C:\> ipconfig /release
این دستور باعث آزادسازی آدرس IP فعلی کلاینت میشود.
دریافت مجدد آدرس از DHCP Server
C:\> ipconfig /renew
این دستور کلاینت را مجبور میکند که یک آدرس جدید از DHCP Server درخواست کند.
پیکربندی روتر برای ارسال درخواستهای DHCPv4 به سرور ریموت (DHCP Relay)
در شبکههای پیچیده، سرورهای DHCPv4 معمولاً در Farm Server قرار دارند و در بیشتر موارد، کلاینتها و سرورهای DHCP در یک زیرشبکه مشترک نیستند. در چنین شرایطی، Broadcastهای DHCPDISCOVER که توسط کلاینتها ارسال میشود، به سرور DHCP نمیرسد، زیرا روترها بهطور پیشفرض ترافیک Broadcast را عبور نمیدهند.
برای حل این مشکل، از دستور ip helper-address
در روتر R1 استفاده میشود تا Broadcastهای DHCP را بهعنوان یک Unicast به آدرس سرور DHCP ارسال کند.
توپولوژی DHCP Relay
در شکل بالا، توپولوژی نمونهای از DHCP Relay نشان داده شده است:
- روتر R1 دارای دو اینترفیس G0/0 و G0/1 است که به دو LAN متصل هستند.
- سرور DHCP در شبکه 192.168.11.0/24 قرار دارد و به هر دو LAN سرویس میدهد.
- کلاینتهای PC1 و PC2 برای دریافت IP Address از DHCP Server پیکربندی شدهاند.
در این سناریو، بدون دستور ip helper-address
، Broadcastهای DHCP که توسط PC1 و PC2 ارسال میشوند، توسط R1 دور ریخته خواهند شد. بنابراین، برای فوروارد کردن درخواستها، باید R1 را بهعنوان DHCP Relay Agent تنظیم کنیم.
پیکربندی DHCP Relay در روتر سیسکو
برای فوروارد کردن پیامهای DHCPDISCOVER، باید دستورات زیر را در اینترفیس متصل به کلاینتها اجرا کنیم:
R1(config)# interface gigabitethernet 0/0
R1(config-if)# ip helper-address 192.168.11.5
🔹 توضیح دستورات:
- دستور
interface gigabitethernet 0/0
: وارد حالت پیکربندی اینترفیس برای پورت متصل به کلاینتها (PC1 و PC2) میشود. - دستور
ip helper-address 192.168.11.5
: درخواستهای DHCP دریافتشده از کلاینتها را به سرور DHCP با آدرس 192.168.11.5 ارسال میکند.
پروتکلهایی که ip helper-address
فوروارد میکند
بهطور پیشفرض، دستور ip helper-address
علاوه بر DHCP، هشت سرویس UDP دیگر را نیز فوروارد میکند:
پورت | سرویس UDP |
---|---|
37 | Time Service |
49 | TACACS |
53 | DNS |
67 | DHCP/BOOTP Server |
68 | DHCP/BOOTP Client |
69 | TFTP |
137 | NetBIOS Name Service |
138 | NetBIOS Datagram Service |
اگر نیاز به اضافه کردن پروتکلهای دیگر داشته باشید، میتوانید از دستور زیر استفاده کنید:
R1(config)# ip forward-protocol udp [port-number protocol]
برای غیرفعال کردن یک پروتکل خاص، باید فرم no
از دستور را استفاده کنید:
R1(config)# no ip forward-protocol udp 69
این دستور، فورواردینگ TFTP (پورت 69) را غیرفعال میکند.
پیکربندی یک روتر به عنوان DHCPv4 Client
در بسیاری از دفاتر کوچک و شعب سازمانها، روترهای Cisco بهعنوان DHCPv4 Client پیکربندی میشوند تا از ISP یا یک سرور DHCP آدرس IP دریافت کنند.
روش تخصیص آدرس IP به روتر به نوع ISP بستگی دارد، اما در سادهترین حالت، اینترفیس متصل به مودم کابل یا DSL را میتوان با استفاده از دستور ip address dhcp
پیکربندی کرد.
توپولوژی روتر به عنوان DHCP Client
در شکل بالا، سناریوی زیر را مشاهده میکنید:
- روتر BRANCH از اینترفیس GigabitEthernet 0/1 برای اتصال به ISP استفاده میکند.
- اینترفیس G0/1 بهعنوان یک DHCP Client پیکربندی شده و از ISP Router آدرس IP دریافت میکند.
پیکربندی روتر BRANCH بهعنوان DHCP Client
برای پیکربندی اینترفیس G0/1 بهعنوان یک DHCP Client، از دستورات زیر استفاده میشود:
BRANCH(config)# interface g0/1
BRANCH(config-if)# ip address dhcp
BRANCH(config-if)# no shutdown
🔹 توضیح دستورات:
interface g0/1
: ورود به حالت پیکربندی اینترفیس G0/1.ip address dhcp
: تنظیم اینترفیس برای دریافت آدرس IP بهصورت داینامیک از DHCP Server (ISP Router).no shutdown
: فعال کردن اینترفیس.
هنگامی که اینترفیس فعال شود، پیام زیر را دریافت میکنید که نشان میدهد DHCP Address به اینترفیس اختصاص داده شده است:
*Mar 15 08:45:34.632: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0/1 assigned
DHCP address 209.165.201.12, mask 255.255.255.224, hostname BRANCH
بررسی وضعیت آدرس IP در اینترفیس
برای مشاهده آدرس تخصیصیافته توسط DHCP، از دستور زیر استفاده کنید:
BRANCH# show ip interface g0/1
🔹 خروجی این دستور:
GigabitEthernet0/1 is up, line protocol is up
Internet address is 209.165.201.12/27
Broadcast address is 255.255.255.255
Address determined by DHCP
این خروجی نشان میدهد که:
- اینترفیس فعال است (
is up, line protocol is up
). - آدرس IP دریافت شده 209.165.201.12/27 است.
- آدرس Broadcast تعیین شده 255.255.255.255 است.
- این آدرس توسط DHCP تعیین شده است (
Address determined by DHCP
).
DHCPv6 و روشهای تخصیص آدرس در IPv6
در IPv6، دو روش برای دریافت آدرس Unicast عمومی بهصورت خودکار وجود دارد:
- SLAAC (Stateless Address Autoconfiguration) – تخصیص آدرس بدون نیاز به سرور DHCP.
- Stateful DHCPv6 (Dynamic Host Configuration Protocol for IPv6) – تخصیص آدرس با استفاده از سرور DHCPv6.
SLAAC: تخصیص خودکار آدرس در IPv6
در روش SLAAC، از پیامهای Router Solicitation (RS) و Router Advertisement (RA) در پروتکل ICMPv6 برای دریافت اطلاعات آدرسدهی و تنظیمات پیکربندی استفاده میشود.
کلاینت، پس از دریافت پیام RA، آدرس IPv6 خود را ایجاد کرده و سپس با ارسال یک پیام خاص به نام Neighbor Solicitation (NS)، صحت یکتایی آدرس خود را بررسی میکند. این فرآیند با استفاده از Duplicate Address Detection (DAD) انجام میشود.
این پیامها بخشی از پروتکل کشف همسایه (NDP – Neighbor Discovery Protocol) هستند و عملکرد آنها به شرح زیر است:
1. پیام Router Solicitation (RS)
- زمانی که یک کلاینت بخواهد بهصورت خودکار اطلاعات آدرسدهی خود را دریافت کند، یک پیام RS به روتر ارسال میکند.
- این پیام به آدرس چندپخشی (Multicast)
FF02::2
فرستاده میشود که مخصوص تمام روترهای IPv6 است.
2. پیام Router Advertisement (RA)
- پس از دریافت RS، روتر یک پیام RA ارسال میکند.
- این پیام شامل پیشوند (Prefix) شبکه و طول پیشوند (Prefix Length) است.
- روترهای سیسکو بهطور پیشفرض هر 200 ثانیه یک پیام RA ارسال میکنند.
- این پیام به آدرس چندپخشی
FF02::1
که مخصوص تمام دستگاههای IPv6 است، فرستاده میشود.
3. پیام Neighbor Solicitation (NS)
- NS معمولاً برای یافتن آدرس MAC یک همسایه استفاده میشود.
- در فرآیند SLAAC، کلاینت از پیام NS برای بررسی یکتایی آدرس IPv6 خود استفاده میکند.
- این فرآیند که DAD (Duplicate Address Detection) نام دارد، از تخصیص آدرسهای تکراری جلوگیری میکند.
- اگر کلاینت، پیامی به نام Neighbor Advertisement (NA) دریافت کند، متوجه میشود که آدرس IPv6 موردنظر تکراری است.
مراحل فرآیند SLAAC (مطابق با شکل بالا)
مرحله 1: ارسال پیام RS توسط کلاینت
- PC-B یک پیام RS به آدرس FF02::2 ارسال میکند تا به روتر IPv6 محلی اطلاع دهد که به RA نیاز دارد.
مرحله 2: دریافت و پاسخدهی روتر با پیام RA
- RouterA پیام RS را دریافت کرده و در پاسخ، یک پیام RA ارسال میکند.
- این پیام شامل:
- پیشوند شبکه (Prefix):
2001:DB8:AAAA::/64
- طول پیشوند (Prefix Length):
/64
- پیشوند شبکه (Prefix):
- این پیام به آدرس FF02::1 (تمام دستگاههای IPv6) ارسال میشود.
مرحله 3: ایجاد آدرس IPv6 توسط کلاینت
- PC-B با استفاده از اطلاعات RA، آدرس IPv6 خود را ایجاد میکند.
- 64 بیت اول را از Prefix شبکه گرفته و 64 بیت دوم را با استفاده از:
- فرمت EUI-64 یا
- یک عدد تصادفی
ایجاد میکند.
- آدرس Link-Local روتر بهعنوان Default Gateway تنظیم میشود.
مرحله 4: بررسی یکتایی آدرس با DAD
- قبل از استفاده از آدرس IPv6 جدید، PC-B یک پیام NS ارسال میکند تا بررسی کند که آیا آدرس تکراری است یا خیر.
- اگر پیام NA دریافت شود، نشاندهنده این است که آدرس تکراری است و باید آدرس جدیدی ساخته شود.
مدیریت پیامهای RA در سیستمعامل کلاینت
برخی از کلاینتها ممکن است پیامهای RA را نادیده بگیرند و فقط از سرور DHCPv6 استفاده کنند. در این حالت، میتوان کلاینت را طوری تنظیم کرد که همیشه از DHCPv6 استفاده کند.
تنظیمات مدیریت SLAAC و DHCPv6 در روتر سیسکو
یک پیام RA میتواند شامل دو فلگ مهم برای تعیین روش دریافت آدرس IPv6 باشد:
- Managed Config Flag (
M
Flag)- وقتی این فلگ فعال باشد، کلاینت باید از DHCPv6 برای دریافت آدرس استفاده کند.
- Other Config Flag (
O
Flag)- وقتی این فلگ فعال باشد، کلاینت میتواند اطلاعاتی مانند DNS Server را از DHCPv6 دریافت کند، اما آدرس IPv6 را از SLAAC دریافت میکند.
🔹 پیکربندی روتر برای فعال کردن یکی از این فلگها:
Router(config-if)# no ipv6 nd managed-config-flag
Router(config-if)# no ipv6 nd other-config-flag
- اگر هر دو فلگ غیرفعال باشند، کلاینت فقط از SLAAC برای دریافت آدرس استفاده خواهد کرد.
- اگر M-Flag فعال باشد، کلاینت فقط از DHCPv6 استفاده خواهد کرد.
- اگر O-Flag فعال باشد، کلاینت آدرس را از SLAAC دریافت میکند اما تنظیمات دیگر (مانند DNS) را از DHCPv6 میگیرد.
Stateless و Stateful DHCPv6 در IPv6
در IPv6، پروتکل DHCPv6 میتواند به دو صورت Stateless و Stateful کار کند. این روشها تعیین میکنند که کلاینتها چگونه آدرس و سایر اطلاعات شبکه را دریافت کنند.
Stateless DHCPv6
در روش Stateless DHCPv6:
- کلاینت آدرس IPv6 خود را از طریق SLAAC (پیامهای RA) ایجاد میکند.
- سپس، کلاینت برای دریافت تنظیمات اضافی (مانند آدرسهای DNS) به سرور DHCPv6 درخواست ارسال میکند.
- در این روش، کلاینت هیچ آدرس IP را مستقیماً از DHCPv6 دریافت نمیکند.
پیکربندی Stateless DHCPv6 در روتر سیسکو
در این روش، O-Flag باید فعال شود تا کلاینت متوجه شود که اطلاعات پیکربندی اضافی از طریق DHCPv6 موجود است:
Router(config-if)# ipv6 nd other-config-flag
Stateful DHCPv6
در روش Stateful DHCPv6:
- کلاینت تمام اطلاعات آدرسدهی را مستقیماً از سرور DHCPv6 دریافت میکند.
- این روش مشابه DHCP در IPv4 است، زیرا DHCPv6 مسئول اختصاص آدرس، Default Gateway، DNS و سایر پارامترها است.
- SLAAC در این روش نقشی ندارد.
پیکربندی Stateful DHCPv6 در روتر سیسکو
برای فعالسازی این روش، M-Flag باید تنظیم شود:
Router(config-if)# ipv6 nd managed-config-flag
عملکرد Stateless و Stateful DHCPv6
شکل زیر فرآیند کامل DHCPv6 را نشان میدهد که شامل SLAAC، Stateless DHCPv6 و Stateful DHCPv6 است.
مراحل فرآیند DHCPv6
مرحله 1: ارسال پیام RS توسط کلاینت
- PC1 پس از بوت شدن، یک پیام Router Solicitation (RS) ارسال میکند تا فرآیند دریافت آدرس IPv6 آغاز شود.
مرحله 2: دریافت پیام RA از روتر
- R1 یک پیام Router Advertisement (RA) ارسال میکند.
- اگر M-Flag و O-Flag تنظیم نشده باشند → کلاینت از SLAAC استفاده میکند.
- اگر M-Flag یا O-Flag تنظیم شده باشد → کلاینت فرآیند DHCPv6 را آغاز میکند.
مرحله 3: ارسال درخواست DHCPv6 SOLICIT
- PC1 یک پیام DHCPv6 SOLICIT به آدرس چندپخشی
FF02::1:2
ارسال میکند. - این پیام درخواست میکند که آیا سرور DHCPv6 در دسترس است یا خیر.
مرحله 4: پاسخ سرور DHCPv6 با پیام ADVERTISE
- سرور DHCPv6 با ارسال پیام ADVERTISE در پاسخ به SOLICIT، حضور خود را به کلاینت اعلام میکند.
مرحله 5: ارسال درخواست اطلاعات یا آدرس توسط کلاینت
- اگر M-Flag فعال باشد → کلاینت پیام DHCPv6 REQUEST ارسال میکند (برای دریافت آدرس IPv6).
- اگر O-Flag فعال باشد → کلاینت پیام DHCPv6 INFORMATION-REQUEST ارسال میکند (برای دریافت اطلاعات مانند DNS).
مرحله 6: پاسخ نهایی سرور DHCPv6
- سرور DHCPv6 اطلاعات درخواستشده را به کلاینت ارسال میکند.
جمعبندی
روش | نحوه دریافت آدرس IPv6 | نیاز به SLAAC | نیاز به DHCPv6 | فعالسازی در روتر |
---|---|---|---|---|
SLAAC | کلاینت خودش آدرس را ایجاد میکند | ✅ بله | ❌ خیر | no ipv6 nd managed-config-flag و no ipv6 nd other-config-flag |
Stateless DHCPv6 | از SLAAC برای آدرس استفاده میشود، از DHCPv6 برای اطلاعات اضافی | ✅ بله | ✅ بله (فقط اطلاعات اضافی) | ipv6 nd other-config-flag |
Stateful DHCPv6 | سرور DHCPv6 آدرس را اختصاص میدهد | ❌ خیر | ✅ بله (همه اطلاعات) | ipv6 nd managed-config-flag |
با این روشها، میتوان تصمیم گرفت که آیا IPv6 Address باید توسط SLAAC ساخته شود یا مستقیماً توسط DHCPv6 اختصاص یابد.
گزینههای پیکربندی DHCPv6 در روتر سیسکو
روتر Cisco میتواند بهعنوان یکی از سه نقش زیر در DHCPv6 عمل کند:
- Stateless DHCPv6 Server
- Stateful DHCPv6 Server
- DHCPv6 Client
یک روتر ممکن است در بخشهای مختلف شبکه، هر سه نقش را بهطور همزمان اجرا کند، بسته به اینکه هر اینترفیس چه وظیفهای دارد.
پیکربندی روتر به عنوان Stateless DHCPv6 Server
در این سناریو، روتر R1 بهعنوان DHCPv6 Server عمل میکند، و روتر R3 بهعنوان DHCPv6 Client پیکربندی شده است.
توپولوژی Stateless DHCPv6
در شکل بالا:
- R1 سرور Stateless DHCPv6 است.
- R3 کلاینت DHCPv6 است.
- ارتباط بین این دو روتر از طریق G0/1 برقرار است.
مراحل پیکربندی روتر R1 بهعنوان Stateless DHCPv6 Server
- فعالسازی IPv6 Unicast Routing
- ایجاد DHCPv6 Pool و تنظیمات مرتبط
- فعالسازی DHCPv6 روی اینترفیس متصل به کلاینت
- تنظیم
O-Flag
در پیامهای RA برای مشخص کردن Stateless DHCPv6
پیکربندی روتر به عنوان DHCPv6 Client
برای پیکربندی یک اینترفیس روتر بهعنوان DHCPv6 Client، مراحل زیر انجام میشود:
مراحل پیکربندی روتر R3 بهعنوان DHCPv6 Client
- فعالسازی IPv6 روی اینترفیس
- فعالسازی قابلیت دریافت آدرس از DHCPv6 به روش Autoconfig
پیکربندی روتر به عنوان Stateful DHCPv6 Server
تفاوت اصلی بین Stateful و Stateless DHCPv6
- در Stateless DHCPv6، کلاینت آدرس IPv6 خود را از طریق SLAAC دریافت میکند و فقط اطلاعات DNS و سایر پارامترهای شبکه را از سرور DHCPv6 میگیرد.
- در Stateful DHCPv6، کلاینت همه اطلاعات آدرسدهی IPv6 را مستقیماً از DHCPv6 Server دریافت میکند، مشابه DHCP در IPv4.
🔹 در Stateful DHCPv6:
- سرور، آدرسهای اختصاص دادهشده را نگه میدارد و مانیتور میکند.
- در سمت کلاینت، دستور
ipv6 address dhcp
بهجایipv6 address autoconfig
استفاده میشود. - در پیامهای RA،
M-Flag
بهجایO-Flag
فعال میشود.
پیکربندی روتر R1 به عنوان Stateful DHCPv6 Server
برای پیکربندی R1 بهعنوان سرور Stateful DHCPv6، مراحل زیر را دنبال کنید:
🔹 1. فعالسازی IPv6 Unicast Routing
🔹 2. ایجاد DHCPv6 Pool و تعریف تنظیمات
✅ Prefix آدرسدهی تنظیم میشود تا کلاینتها بتوانند آدرس IPv6 را دریافت کنند.
✅ مدت زمان (Lifetime) روی infinite
تنظیم شده است تا آدرسها همیشه معتبر بمانند.
✅ DNS Server و نام دامنه تنظیم میشوند.
🔹 3. فعالسازی DHCPv6 روی اینترفیس مربوطه و تنظیم M-Flag
✅ اینترفیس G0/1
آدرسدهی میشود.
✅ M-Flag
فعال میشود تا کلاینتها بدانند که باید تمام اطلاعات خود را از DHCPv6 دریافت کنند.
بررسی وضعیت DHCPv6 در R1
پس از پیکربندی، میتوان وضعیت DHCPv6 را بررسی کرد.
🔹 1. نمایش وضعیت DHCPv6 Pool
R1# show ipv6 dhcp pool
🔹 خروجی:
DHCPv6 pool: M-FLAG-SET
Address allocation prefix: 2001:DB8:1:1::/64 valid 4294967295 preferred 4294967295 (1 in use, 0 conflicts)
DNS server: 2001:DB8:ACAD:1::5
Domain name: cisco.com
Active clients: 1
✅ Prefix اختصاص دادهشده: 2001:DB8:1:1::/64
✅ کلاینتهای فعال: 1
🔹 2. نمایش آدرسهای اختصاص دادهشده توسط DHCPv6
R1# show ipv6 dhcp binding
🔹 خروجی:
Client: FE80::32F7:DFF:FEA3:1640
DUID: 00030001087F0DA31640
Address: 2001:DB8:1:1::8902:6D86:E76:C616
Preferred lifetime: INFINITY, Valid lifetime: INFINITY
✅ آدرس اختصاص دادهشده به کلاینت: 2001:DB8:1:1::8902:6D86:E76:C616
✅ لایفتایم نامحدود تنظیم شده است (Infinite).
عیبیابی مشکلات DHCP در شبکه
پروتکل DHCP یکی از پرکاربردترین روشهای تخصیص آدرسهای IP در شبکه است، اما در برخی مواقع، ممکن است مشکلاتی در عملکرد آن به وجود بیاید. این مشکلات میتوانند ناشی از نقصهای نرمافزاری در سیستمعاملها، درایورهای NIC، تنظیمات اشتباه DHCP Server، یا خطاهای DHCP Relay باشند.
در ادامه، رایجترین مشکلات مربوط به DHCP و روشهای عیبیابی آنها را بررسی میکنیم.
حل مشکل تعارض آدرسهای IPv4 (IP Address Conflicts)
یکی از مشکلات رایج در DHCP، تعارض آدرس IP است. این مشکل زمانی رخ میدهد که:
- یک کلاینت هنوز در شبکه متصل است اما زمان Lease آدرس IP آن به پایان رسیده است.
- اگر کلاینت Lease را تمدید نکند، سرور DHCP ممکن است همان آدرس را به کلاینت دیگری اختصاص دهد.
- در صورتی که کلاینت اولیه راهاندازی مجدد (Reboot) شود، مجدداً درخواست IP Address میدهد.
- اگر سرور DHCP با تاخیر پاسخ دهد، کلاینت ممکن است از آخرین آدرس IP قبلی خود استفاده کند که باعث تداخل دو کلاینت با یک آدرس IP یکسان میشود.
روشهای تشخیص و حل مشکل
- از دستور زیر در روتر سیسکو استفاده کنید تا تمامی تعارضهای IP ثبتشده در سرور DHCP نمایش داده شوند:
show ip dhcp conflict
- سرور DHCP از
ping
برای تشخیص تعارضها استفاده میکند. - کلاینتها از پروتکل ARP برای بررسی تعارض IP استفاده میکنند.
- در صورت مشاهده تعارض (Conflict)، آدرس از Pool حذف شده و تا زمانی که مدیر شبکه مشکل را برطرف نکند، اختصاص داده نخواهد شد.
بررسی اتصال شبکه با استفاده از آدرس IP استاتیک
زمانی که مشکلات DHCP را عیبیابی میکنید، ابتدا باید بررسی کنید که آیا ارتباط شبکهای به درستی کار میکند یا خیر.
مراحل بررسی
- یک آدرس IP استاتیک را روی یک کلاینت شبکه تنظیم کنید.
- بررسی کنید که کلاینت میتواند با منابع شبکه ارتباط برقرار کند.
- اگر با IP استاتیک نیز ارتباط برقرار نشد، مشکل از DHCP Server نیست و باید عیبیابی شبکه انجام شود.
بررسی تنظیمات پورت سوئیچ
در بسیاری از موارد، مشکلات پیکربندی سوئیچ مانع از عملکرد صحیح DHCP میشوند. اگر کلاینتها نتوانند از DHCP آدرس دریافت کنند، بررسی کنید که:
- آیا سوئیچ بین کلاینت و سرور DHCP قرار دارد؟
- آیا سوئیچ به درستی پیکربندی شده است؟
- مشکلاتی مانند Trunking، STP، RSTP یا PortFast وجود دارد؟
نکات کلیدی در پیکربندی سوئیچ
- پورتهای Trunk و Channeling را بررسی کنید.
- استفاده از
PortFast Configuration
میتواند بسیاری از مشکلات رایج DHCP را حل کند.
بررسی عملکرد DHCPv4 در یک Subnet یا VLAN
تشخیص اینکه مشکل DHCP از سرور DHCP است یا از Relay Agent، اهمیت زیادی دارد.
🔹 نکات کلیدی برای بررسی DHCP در Subnet/VLAN
- اگر کلاینت و DHCP Server در یک Subnet/VLAN یکسان باشند و DHCP درست کار کند، مشکل از DHCP Relay Agent است.
- اگر مشکل DHCP حتی در همان Subnet/VLAN نیز وجود داشته باشد، احتمالاً مشکل از DHCP Server است.ش DHCP در یک Subnet/VLAN یکسان.
با اجرای این مراحل، میتوان بهطور مؤثر مشکلات مربوط به DHCP را در شبکه برطرف کرد.
عملکرد DNS در شبکههای کامپیوتری
DNS (Domain Name System) یک سیستم توزیعشده از سرورها است که وظیفه تبدیل نامهای دامنه به آدرسهای IP را بر عهده دارد. در این سیستم، نام دامنه بخشی از شناسه یکتای منبع (URI – Uniform Resource Identifier) است.
ساختار URI
هنگامی که یک کاربر آدرس یک وبسایت را در مرورگر خود وارد میکند، این آدرس شامل سه بخش اصلی است:
- پروتکل (Protocol): مانند
http://
یاhttps://
- نام دامنه (Domain Name): مانند
www.cisco.com
- صفحه وب (Web Page): مانند
/index.html
🔹 مثال:
http://www.cisco.com/index.html
به اشتباه از این آدرس بهعنوان URL یاد میشود، در حالی که اصطلاح رسمی و صحیح، URI است.
فرآیند عملکرد DNS
1. ارسال درخواست حل نام (Name Resolution Request)
هنگامی که کاربر URI را در مرورگر وارد میکند:
- کلاینت یک درخواست DNS ارسال میکند تا نام دامنه
www.cisco.com
را به یک آدرس IP تبدیل کند. - درخواست شامل یک UDP Packet است که روی پورت 53 ارسال میشود.
- آدرس مبدأ: 64.100.1.1 (کلاینت)
- آدرس مقصد: 192.31.7.1 (سرور DNS)
2. دریافت پاسخ از سرور DNS
- سرور DNS، آدرس IP مرتبط با نام دامنه را جستجو میکند.
- در پاسخ، سرور آدرس 198.133.219.25 را به کلاینت ارسال میکند.
3. ایجاد ارتباط با وبسرور
- پس از دریافت آدرس IP، کلاینت یک اتصال TCP روی پورت 80 (HTTP) یا 443 (HTTPS) به وبسرور مقصد برقرار میکند.
انواع رکوردهای DNS
سرور DNS انواع مختلفی از رکوردها را برای نگهداری و حل نامها ذخیره میکند:
رکورد | کاربرد |
---|---|
A | نگاشت نام دامنه به آدرس IPv4 |
NS | مشخص کردن Name Server اصلی |
AAAA | نگاشت نام دامنه به آدرس IPv6 (تلفظ: “Quad-A”) |
MX | مشخص کردن Mail Exchange Server برای ایمیلها |
هنگامی که کلاینت درخواست حل نام (Name Resolution) را ارسال میکند، سرور DNS ابتدا رکوردهای ذخیرهشده خود را بررسی میکند.
اگر نام دامنه موردنظر در سرور موجود نباشد، DNS از سایر سرورها برای حل نام کمک میگیرد.
ساختار سلسلهمراتبی DNS Root Servers
سرورهای Root DNS وظیفه مدیریت دامنههای سطح بالا (TLD – Top-Level Domains) را بر عهده دارند. برخی از TLDهای عمومی شامل:
دامنه | کاربرد |
---|---|
.com | کسبوکارهای تجاری |
.edu | موسسات آموزشی |
.gov | سازمانهای دولتی |
.mil | سازمانهای نظامی |
.net | ارائهدهندگان خدمات شبکه (ISPها) |
.org | سازمانهای غیرتجاری |
علاوه بر TLDهای عمومی، کشورها نیز TLDهای اختصاصی خود را دارند، مانند:
.ca
(کانادا).de
(آلمان).ir
(ایران).cn
(چین)
عیبیابی مشکلات DNS در شبکه
بهعنوان یک مدیر شبکه، مشکلات مربوط به DNS را میتوان در دو حوزه اصلی بررسی کرد:
- پیکربندی سرور DHCP
- پیکربندی سرور DNS
در یک دفتر کوچک، معمولاً سرور DNS توسط ISP ارائه میشود. در این حالت، تمامی کلاینتهای شبکه، آدرس Default Gateway را بهعنوان DNS Server تنظیم میکنند. این موضوع در خروجی دستور ipconfig /all
در مثال زیر مشاهده میشود.
بررسی DNS Server در Default Gateway
دستور زیر اطلاعات پیکربندی شبکه یک کلاینت را نمایش میدهد:
C:\> ipconfig /all
🔹 خروجی نمونه:
🔹 نکات مهم در این خروجی:
- Default Gateway، DHCP Server و DNS Server همگی مقدار
10.10.10.1
دارند. - این نشان میدهد که روتر بهعنوان سرور DNS برای کلاینتهای شبکه عمل میکند.
دلایل رایج مشکلات DNS و روشهای بررسی
- مشکلات مربوط به Default Gateway
- در بیشتر موارد، مشکلات DNS ناشی از مشکلات Default Gateway یا اتصال به ISP است.
- اگر ارتباط با اینترنت قطع شود، کلاینتها قادر به حل نامهای دامنه نخواهند بود.
✅ روش بررسی:
🔹 اگر آدرس یک DNS Public (مثلاً 8.8.8.8
) را بدانید، میتوان بررسی کرد که مشکل از DNS است یا Default Gateway.
🔹 دستور تست ارتباط:
ping 8.8.8.8
- اگر پینگ موفق باشد، مشکل از DNS سرور داخلی است.
- اگر پینگ ناموفق باشد، احتمالاً مشکل از Default Gateway یا اتصال به ISP است.
- عدم پیکربندی صحیح DNS در سرور DHCP
- در شبکههای سازمانی، مدیر شبکه باید مطمئن شود که سرور DHCP آدرسهای صحیح DNS را در اختیار کلاینتها قرار میدهد.
- اگر DNS به درستی تنظیم نشده باشد، کلاینتها نمیتوانند نامهای دامنه را به IP تبدیل کنند.
✅ روش بررسی:
🔹 بررسی تنظیمات DHCP Server در روتر یا سرور با دستور:
show running-config | include dhcp
🔹 اطمینان از تعیین صحیح آدرس سرور DNS در DHCP Pool:
Router(config)# ip dhcp pool LAN
Router(dhcp-config)# dns-server 8.8.8.8 8.8.4.4
- مدیریت سلسلهمراتبی سرورهای DNS در سازمانهای بزرگ
- در سازمانهای بزرگ، معمولاً سرورهای DNS داخلی (Internal DNS) برای کاهش ترافیک خروجی به اینترنت استفاده میشوند.
- این سرورها معمولاً بهعنوان Caching DNS عمل میکنند و اگر نتوانند نام دامنهای را پیدا کنند، درخواست را به یک Public DNS Server فوروارد میکنند.
✅ راهکار پیشنهادی:
🔹 اطمینان از وجود Backup DNS Servers
🔹 بررسی عملکرد DNS Forwarding در سرورهای داخلی
بررسی پیکربندی IP در کلاینتهای شبکه
هر دستگاهی که در شبکه قرار دارد، باید دارای یک پیکربندی صحیح آدرس IP باشد. این پیکربندی میتواند بهصورت دستی (Static) یا خودکار (DHCP) انجام شود. در این بخش، نحوه بررسی تنظیمات IP در سیستمعامل های مختلف و دستورات مرتبط را بررسی خواهیم کرد.
تنظیمات موردنیاز برای عملکرد صحیح IP
برای عملکرد صحیح در شبکه، هر کلاینت باید اطلاعات زیر را داشته باشد:
- آدرس سرور DNS
- آدرس Default Gateway (روتر)
- آدرس IP اختصاصی دستگاه
- Subnet Mask دستگاه
بررسی تنظیمات IP در ویندوز
در ویندوز، میتوان از Network and Sharing Center برای مشاهده جزئیات تنظیمات IP استفاده کرد. شکل 23-10 نشان میدهد که چگونه میتوان تنظیمات را بررسی کرد.
🔹 اطلاعات مهمی که در این بخش نمایش داده میشود:
- آدرس IPv4 و Subnet Mask
- آدرس Default Gateway
- آدرس سرور DHCP
- آدرس سرور DNS
بررسی پیکربندی IP با استفاده از Command Line
مدیران شبکه معمولاً از خط فرمان (Command Prompt) برای بررسی تنظیمات IP استفاده میکنند.
دستورات کاربردی در ویندوز
🔹 بررسی تنظیمات IP کلی با ipconfig
C:\> ipconfig
🔹 بررسی جزئیات کامل با ipconfig /all
C:\> ipconfig /all
تفاوت این دو دستور:
ipconfig
فقط اطلاعات کلی را نشان میدهد.ipconfig /all
اطلاعات کامل از جمله آدرس سرور DHCP و DNS را نمایش میدهد.
🔹 نکات کلیدی دستور ipconfig
:
- این خروجی تنظیمات IPv4 و IPv6 را نشان میدهد.
- آدرس Default Gateway مقدار
::
دارد، که نشان میدهد اتصال فعلی از اینترفیس دیگر برقرار است.
🔹 نکات کلیدی دستور ipconfig /all
:
- کلاینت از DHCP استفاده میکند (
DHCP Enabled: Yes
). - آدرس Default Gateway برابر با 10.10.10.1 است.
- آدرس سرور DHCP و DNS نیز همان 10.10.10.1 است.
- این اطلاعات نشان میدهد که روتر بهعنوان سرور DHCP و DNS در شبکه تنظیم شده است.
بررسی تنظیمات IP در macOS
در macOS، کاربران میتوانند اطلاعات مربوط به آدرس IP، Default Gateway، و DNS را از طریق رابط گرافیکی یا ترمینال (Command Line) مشاهده کنند.
بررسی تنظیمات IP در macOS از طریق رابط گرافیکی
برای مشاهده تنظیمات IP در macOS:
- وارد System Preferences شوید.
- به بخش Network بروید.
- اتصال شبکهای را که استفاده میکنید (Wi-Fi یا Ethernet) انتخاب کنید.
- روی Advanced کلیک کنید تا به تب TCP/IP دسترسی پیدا کنید.
🔹 در عکس زیر نمونهای از این تنظیمات را نشان میدهد:
- Configure IPv4: تنظیمات آدرسدهی، در این مثال Using DHCP
- IPv4 Address: مقدار 10.10.10.113
- Subnet Mask: مقدار 255.255.255.0
- Router: مقدار 10.10.10.1 (که همان Default Gateway و DNS Server است)
بررسی تنظیمات IP در macOS از طریق Command Line
مدیران شبکه معمولاً از ترمینال (Terminal) برای بررسی تنظیمات شبکه استفاده میکنند.
دستورات کاربردی برای بررسی پیکربندی IP
🔹 بررسی تنظیمات IP با ifconfig
ifconfig en0
خروجی نمونه:
✅ آدرس IPv4: 10.10.10.113
✅ Subnet Mask: 255.255.255.0
✅ آدرس IPv6 Link-Local: fe80::fc0f:1bf4:60b1:3adb%en0
بررسی اطلاعات مربوط به یک اینترفیس خاص
🔹 بررسی اطلاعات DHCP و Gateway برای Wi-Fi
networksetup -getinfo Wi-Fi
خروجی نمونه:
DHCP Configuration
IP address: 10.10.10.113
Subnet mask: 255.255.255.0
Router: 10.10.10.1
Client ID:
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
Wi-Fi ID: c4:b3:01:a0:64:98
✅ آدرس Gateway (Router): 10.10.10.1
✅ وضعیت DHCP: فعال
✅ IPv6 در حالت خودکار تنظیم شده است
نمایش لیست تمام اینترفیسهای شبکه
networksetup -listallnetworkservices
🔹 این دستور تمامی سرویسهای شبکهای موجود را نمایش میدهد.
بررسی تنظیمات IP در لینوکس
در سیستمعامل Linux، بررسی تنظیمات IP بسته به توزیع (Distro) و محیط دسکتاپ (Desktop Environment) متفاوت است. کاربران میتوانند این تنظیمات را از طریق رابط گرافیکی (GUI) یا خط فرمان (CLI) مشاهده کنند.
بررسی تنظیمات IP در لینوکس با استفاده از رابط گرافیکی (GUI)
در توزیع Ubuntu با محیط Gnome، میتوان اطلاعات مربوط به آدرس IP، Subnet Mask، Default Gateway، و DNS را از طریق Connection Information مشاهده کرد.
🔹 شکل بالا:
- Interface:
Ethernet (enp0s3)
- IPv4 Address:
10.0.2.15
- Subnet Mask:
255.255.255.0
- Default Gateway (Router):
10.0.2.1
- Primary DNS:
10.0.10.1
- IPv6 Address:
fe80::57c6:ed95:b3c9:2951/64
✅ مراحل دسترسی به این اطلاعات:
- روی آیکون شبکه کلیک کنید.
- گزینه Connection Information را انتخاب کنید.
- اطلاعات مربوط به آدرس IP، DNS، و Gateway را مشاهده کنید.
بررسی تنظیمات IP در لینوکس با استفاده از Command Line
مدیران شبکه معمولاً از ترمینال (Terminal) برای بررسی تنظیمات IP استفاده میکنند.
دستورات کاربردی در لینوکس
🔹 بررسی تنظیمات IP با ifconfig
ifconfig enp0s3
🔹 خروجی نمونه:
✅ آدرس IPv4: 10.0.2.15
✅ Subnet Mask: 255.255.255.0
✅ آدرس IPv6 Link-Local: fe80::57c6:ed95:b3c9:2951/64
✅ رابط شبکه فعال است (UP BROADCAST RUNNING MULTICAST
)
🔹 بررسی تنظیمات آدرس IP با ip address
ip address
🔹 خروجی نمونه:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:b5:d6:cb brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 86130sec preferred_lft 86130sec
inet6 fe80::57c6:ed95:b3c9:2951/64 scope link
valid_lft forever preferred_lft forever
✅ وضعیت اینترفیس (UP
) نشاندهنده فعال بودن کارت شبکه است.
✅ مقدار valid_lft
و preferred_lft
نشان میدهد که آدرس IP از DHCP دریافت شده است.