در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آیا در سیسکو IP Helper همان DHCP Relay Agent است؟

سلامی گرم خدمت تمامی مهندسین پر انرژی وبسایت توسینسو

امروز داشتم تو انجمن یه گشتی میزدم به چندین پست در مورد تنظیم DHCP Relay Agent تو سیسکو برخورد کردم. متاسفانه اکثر دوستان فکر می کنند IP Helper Address اسم دیگه (یا معادل اسمی) DHCP Relay Agent تو سیستم عامل های شبکه سیسکو هست. در واقع اینطور نیست! DHCP Relay Agent بودن یکی از وظایف دستور IP Helper هست!

برای درک موضوع مکانیزم DHCP Relay Agent رو توضیح میدم: وقتی سیستمی که نحوه آدرس گیری اون تو حالت DHCP تنظیم شده می خواد به شبکه بپیونده، یه بسته DHCP Discover رو به صورت Broadcast ارسال می کنه، این بسته به صورت UDP هست و از پورت های 67 و 68 استفاده می کنه. همونطور که می دونید روترها بسته های Broadcast رو Drop می کنند و از خودشون عبور نمیدن. بنابر این اگه ما چندین شبکه Ethernet LAN داشته باشیم باید برای هر LAN یه دونه DHCP سرور اختصاص بدیم. این کار نه به صرفه هست و نه عقلانی!

چاره چیه؟ میائیم از UDP بودن بسته های DHCP استفاده می کنیم و به روتر میگیم هر بسته DHCP ای که دریافت کردی اونو Encapsulate کن و به صورت Unicast درش بیار و بفرستش سمت Remote DHCP سرورمون که در یک LAN دیگه قرار داره (مثلاً LAN موجود در اتاق سرور).

دستوری که تو سیسکو واسه تنظیم DHCP Relay Agent استفاده میشه دستور ip helper address هست. دستوری که به صورت پیش فرض بسته های DHCP رو تو بسته unicast کپسوله می کنه.

تا اینجای کار حق با دوستان بود، ip helper address همون کار DHCP relay agent رو انجام میده. ولی در واقع ip helper قابلیت اینو داره که هر بسته Broadcast که بصورت UDP هست رو به صورت unicast کپسوله کنه و بفرسته به مقصدی که شما تعیین می کنید!

با دستور زیر میتونید پروتکل مورد نظر خودتونو توسط ip helper address به مقصد مورد نظر بفرستید:

R3(config)#ip forward-protocol udp

در زیر سناریویی رو خدمتتون معرفی می کنم که در عمل وظیفه ip helper رو ببینید:

طبق شکل زیر 3 تا روتر داریم:

آیا در سیسکو IP Helper همان DHCP Relay Agent است؟

می خواهیم کاری کنیم R1 و R3 با استفاده از پروتکل RIP با همدیگه تبادل جدول مسیریابی کنند (بدون اینکه از GRE Tunnel, Bridge, VPWS و... استفاده کنیم)! مگه میشه؟! بله میشه:

تنظیمات روتر R1:

enable
conf t
hostname R1
clock timezone THR 3 30
no ip icmp rate-limit unreachable            
no ip domain lookup
ip cef    
!        
interface Loopback0
 ip address 200.1.1.1 255.255.255.0
!                  
interface Serial1/0
 ip address 12.1.1.1 255.255.255.0
 serial restart-delay 0
!         
router rip
 no validate-update-source
 network 12.0.0.0
 network 200.1.1.0        
!         
no ip http server
no ip http secure-server
ip route 23.1.1.0 255.255.255.0 12.1.1.2    
!       
end

تنظیمات روتر R2:

enable
conf t
!
hostname R2
!
clock timezone THR 3 30
no ip icmp rate-limit unreachable        
!         
no ip domain lookup
ip cef            
!         
interface Ethernet0/0
 ip address 23.1.1.2 255.255.255.0
 ip helper-address 12.1.1.1
!         
!        
interface Serial1/0
 ip address 12.1.1.2 255.255.255.0
 ip helper-address 23.1.1.3
 serial restart-delay 0
!         
ip forward-protocol nd
ip forward-protocol udp rip
!         
ip route 200.1.1.0 255.255.255.0 12.1.1.1
ip route 200.3.3.0 255.255.255.0 23.1.1.3
!                 
end 

و تنظیمات روتر R3:

enable
conf t
!
hostname R3
!
clock timezone THR 3 30
no ip icmp rate-limit unreachable         
!         
no ip domain lookup
ip cef           
!         
interface Loopback0
 ip address 200.3.3.3 255.255.255.0
!         
interface Ethernet0/0
 ip address 23.1.1.3 255.255.255.0
!                 
router rip
 no validate-update-source
 network 23.0.0.0
 network 200.3.3.0
!         
ip route 12.1.1.0 255.255.255.0 23.1.1.2
!        
end

دقت کنید روی هیچ کدام از اینترفیس های R2 پروتکل RIP فعال نشده! و اینم نتیجه:

R1(config)#do sh ip route rip | begin Gate
Gateway of last resort is not set

R     200.3.3.0/24 [120/1] via 23.1.1.3, 00:00:24
R1(config)#do ping 200.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 200.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/10/12 ms
R3(config)#do sh ip route rip | begin Gateway
Gateway of last resort is not set

R     200.1.1.0/24 [120/1] via 12.1.1.1, 00:00:08
R3(config)#do ping 200.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 200.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/10/11 ms

نتیجه گیری: ip helper چیزی فراتر از DHCP Relay Agent هست، DHCP Relay صرفاً برای encapsulate کردن بسته های DHCP که بصورت UDP با آدرس مقصد Broadcast هستند طراحی شده ولی IP Helper قادره هر بسته UDP که مقصد Broadcast داره رو encapsulate کنه و بصورت unicast در بیاره.

امیدوارم از این نکته لذت برده باشید، فایل سناریو تو EVE-NG رو هم ضمیمه مطلب کردم، موفق و پیروز باشید.

نویسنده: نوید یحیی پور

منبع : جزیره سیسکو وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

6 نظر
محمد نصیری

آقا نوید جای دور نرو ! من خودم نمیدونستم این موضوع رو ! تا همین الان به کلی دانشجو اطلاعات نادرست دادم ! البته نمیگم کلش نادرست ولی خوب نمیدونستم اینقدر قابلیت ها داره ، خیلی لذت بردم امروز چیز خوبی یاد گرفتم ممنون

نوید یحیی پور

بله سیسکو یه چیز دیگس :دی

ما‌یه نرم افزاری داشتیم که از NetBIOS استفاده می کرد وقتی به شبکه ریمورت میشدیم نرم افزار نمیتونست با سرورش ارتباط برقرار کنه

با این ip helper بسته های Broadcast پروتکل NetBIOS رو به سمت سرور فرستادیم و مشکل حل شد

مهیار کباری

بسیار بسیار مقاله جالب و آموزنده ای بود. واقعا لذت بردم از مطلبتون آقا نوید. و همونطور که یه مثال هم زدید می تونه خيلي جاها کاربرد داشته باشه.

عالي بود، واقعا عالي

نوید یحیی پور

خواهش می کنم مهندس کباری عزیز

خوشحالم که مورد پسند واقع شده

مهرداد پورخیری

مهندس یحیی پور عزیز واقعا خوب بود خیلی خوشم اومد 

بسیار کاربردی و خوب بود

نوید یحیی پور

نظر لطف شما هست مهندس پورخیری عزیز :)

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....