הסבר על DHCP על DHCP Relay Agent והגדרת IP Helper
נתחיל קצת מההתחלה, מאמר נוסף ניתן לקרוא כאן (מאמר זה כולל הגדרת DHCP על ידי שרת מיקרוסופט וכולל הסברים רבים)
DHCP הוא פרוטוקול לחלוקת כתובות IP באופן אוטומטי, התהליך מבוצע על ידי תהליך הנקרא DORA שהם ראשי תיבות ל
D – Discover
כאשר מחשב מתחבר לרשת באותו רגע הוא שולח DHCPDISCOVER לרשת (לסוויצ') ובגלל שאינו יודע את כתובת ה MAC של שרת ה DHCP הוא שולח Broadcast (לכתובת: 255.255.255.255) ובגלל שאין לו כתובת IP משלו הוא רושם ב Source IP: 0.0.0.0
אם תסתכלו בDHCP Format : ה Packet בנוי כך:
כל הזכויות שמורות לטל בן שושן – Shushan.co.il
DHCPDISCOVER
Client IP Address:0.0.0.0
Gateway IP Address : 0.0.0.0
Subnet Mask: 0.0.0.0
Client Hardware Address: כתובת ה MAC של המבקש
UDP
67
IP Source And Destination
Source IP: 0.0.0.0
Destination IP: 255.255.255.255
Ethernet Frame
Source MAC Address: כתובת ה MAC של המבקש
Destination MAC Address: FF:FF:FF:FF:FF (Broadcast)
O – Offer
כאשר שרת ה DHCP מקבל את החבילה הזו (שציינתי למעלה) הוא מגיב לה ב DHCPOFFER והוא מכיל את כתובת הIP שהוא מתכנן לתת לו את ה Subnet Mask ואת אורך השכירות (Lease)
כך נראת החבילה:
DHCPOFFER
Client IP Address:192.168.1.10
Gateway IP Address : 0.0.0.0
Subnet Mask: 255.255.255.0
Client Hardware Address: כתובת ה MAC של המבקש
UDP
68
IP Source And Destination
Source IP: 192.168.1.254
Destination IP: 192.168.1.10
Ethernet Frame
Source MAC Address: כתובת ה MAC של שרת ה DHCP
Destination MAC Address: כתובת הMAC של המבקש
R – Request
המבקש מבקש את ההצעה שהוצעה לו (הצעה היא ה DHCPOFFER)
A – Acknowledgement
השרת שולח ACK למבקש שהוא אישר את הקבלה ורשם אותה בPOOL
בעצם המחשב כאשר הוא מוגדר על קבלת כתובת IP אוטומטית הוא מבצע DORA הוא מחפש ברשת על ידי Broadcast בקשה בשם DHCPDISCOVER שבה הוא יגלה אם יש DHCP שיכול לתת לו כתובת IP
לאחר מכן הDHCP יענה ב DHCPOFFER שבו יציע כתובת IP פוטנציאלית, לאחר מכן המחשב יבצע DHCPREQUEST שבו הוא מבקש כתובת IP והוא מעוניין בה וכן ממי הוא מקבל את כתובת IP (מאיזה שרת DHCP) שכן יכול להיות יותר משרת DHCP אחד ברשת
ברגע שהשרת ששרת ה DHCP מקבל את ה DHCPREQUEST הוא מודיע בDHCPACK שזה Acknowledgement שכל תקין והוא מאחסן את כתובת הIP בטבלת ה Lease שלו
DHCP Format
פורמט זה של DHCP נמצאת בכל טרנזקציה של בקשת או שליחה של כתובת IP , פורמט זה נכנס בתוך UDP באנגלית: (Encapsulated Inside the UDP).
כאשר משתמש שולח בקשה הוא מגדיר את ה Source Port: 68 והיעד ה Destination Port: 67 ואילו שרת ה DHCP מגדיר את ה Source Port 67 (הוא פורט 67) ואילו היעד Destination Port:68 (המחשב יקבל בפורט 68)
Hops – מגדיר את אופן השליחה, ניתן להגביל את כמות הקפיצות, אך המחשב ששולח את הבקשה מגדיר שם את הערך 0
Hardware Address Length – מציין את אורך הכתובת
Hardware Type – משתמש לזהות את הMedia שהוא שולח בו, אם זה Ethernet אז הקוד הוא 1 אם זה Frame Relay זה 15 או 20 אם זה Serial Line
OP Code – מזהה את סוג ההודעה, אם זה בקשה (Request) יהיה ערך 1 אם זה תגובה (Replay) אז הערך יהיה 2
Transaction Identifier – על מנת שהבקשה תגיע למחשב שביקש כתובת (תהליך DORA) הוא מצמיד "מספר בקשה" כך שהמחשב שמקבל את זה ידע שזה מכוון אליו
Flags – כאשר מחשב שאין לו כתובת מבקש אחת, הוא מודיע לשרת DHCP שיחזיר את הבקשה כ-Broadcast
Seconds – כמה זמן עבר מאז שהלקוח התחיל תהליך DORA (מבקש כתובת או מחדש אחת) על ידי כמות השניות יכול השרת לתעדף בקשות ישנות על פני חדשות כאשר הוא לא עומד בעומס
Client IP Address – מבוצע רק כאשר יש למחשב כבר IP והוא מעוניין לחדש (Renew)
Your IP Address – כאן מכניס הDHCP את כתובת הIP שהוקצתה למחשב
Server IP Address – אומר למחשב שמבקש את הכתובת באיזה שרת להשתמש אם יש שרת שאליו מעבירים את הבקשות
Gateway IP Address – אם יש Relay Agent אז כאן מוכנס הIP של כתובת שרת ה DHCP
Client Hardware Address – מה כתובת הMAC של המחשב המבקש
Server Name – השרת DHCP משתמש בשדה זה על מנת לשלוח DHCPOFFER או DHCPACK ובו הוא רושם את כתובתו לדוגמה: DHCPSRV.TAL.Local
Boot FIlename – בקשה של קבצי BOOT
DHCP Options – כאן מוכנסים פרמטרים נוספים שDHCP יכול לחלק וחיוניים כמו DNS,Default Gateway וכו'
Lease – השכרה
כאשר הלקוח עושה ריסטארט או מכבה את ומדליק את כרטיס הרשת או מבקש Renew על ידי פקודה, הוא מבצע את כל התהליך שהסברתי למעלה
DHCP Relay Agent
כעת לאחר שהבנו שהמשתמש שולח את הבקשה והגילוי ב Broadcast חשוב להבין שBroadcast אינו עובר בין רשתות ולכן דרוש לנו DHCP Relay Agent אותו DHCP Relay Agent הוא סוכן הנמצא בצד השני כשרת או כראוטר
כמו בתרשים, המחשב היחידי שיקבל כתובת IP של שרת 192.168.1.0 הוא מחשב PC1 שכן ה Broadcast שלו יגיע אל שרת ה DHCP, אבל רשת 192.168.2.0 ובפרט מחשב PC0 לא יקבל כתובת שכן ה Broadcast שלו לא עוברים לצד השני ולכן לא יקבל כתובת IP ולכן דרוש לנו DHCP Relay Agent
IP Helper
הוא בעצם הגדרת ה DHCP Relay Agent בסיסקו ראוטר אז בואו נגדיר שרת DHCP
נוסיף ב packet tracer שרת DHCP שנמצא ב End Devices ואז בשם Server-PT
נגדיר בו את כל הגדרות הDHCP (שיחלק 2 רשתות) ואל תשכחו לתת לו כתובת IP וDefault gateway של הרשת בה הוא נמצא , בתרשים אצלי הוא ברשת 192.168.1.0 וה DW שלו הוא 192.168.1.1
האחת 192.168.1.0 והשניה 192.168.2.0
לאחר מכן נבדוק שמחשב PC1 מקבל כתובת
מעולה! כעת נגדיר את ה IP Helper
Router#conf t
Router(config)#interface g0/0
Router(config-if)#ip helper-address 192.168.1.100
מגדירים את כתובת ה IP של ה DHCP וכעת נבדוק אם PC0 קיבל את כתובת הIP של רשת 192.168.2.0
ניתן לראות שלאחר מכן PC0 מקבל את כתובת ה IP מהDHCP