חיפוש
  • יניב אור

dhclient

כלי שמשמש לקינפוג רכיבי הרשת השונים.

כשבסופו של דבר כל אחד מהם מקבל כתובת IP.

לצורך העניין, למכונת לינוקס יש כרטיס רשת אתרנט -עם כבל ויש כרטיס רשת אלחוטי. כל אחד משני רכיבי הרשת הללו יכול להתחבר לרשת ולקבל כתובת IP.

אגב, יכולים להיות גם רכיבים וירטואלים, כמו למשל Bridge.

בכל מקרה, ה-dhclient מקצה כתובות IP בשימוש בפרוטוקולים Dhcp או bootp. ואם שניהם נכשלו, הוא יקצה כתובת בצורה אחרת.

הפרוטוקול dhcp מאפשר ל-host (למחשב) להתחבר לשרת שמתחזק רשימת כתובות IP.

הכתובות האלה יכולות להיות משויכות לסאבנט אחד או יותר.

רכיב רשת שמשתמש ב-dhcp מבקש כתובת מתוך הרשימה הזאת ואז משתמש בה על בסיס זמני לצורך תקשורת ברשת.

בנוסף, בפרוטוקול dhcp ישנו מכניזם שבעזרתו רכיב רשת יכול לקבל מידע חשוב על הרשת שהוא עומד להשתייך אליה כמו למשל כתובת הראוטר הדיפולטי, כתובות dns וכן הלאה.

יש שתי גרסאות של dhcp אחד ל-ip גרסה 4 והשני ל-6. בזמן אתחול הפקודה אפשר להוסיף אופציה - 4 (מקף 4) או 6.

בזמן אתחול הפקודה, ה-dhclient קורא מ- dhclient.conf הוראות לקונפיגורציה.

לאחר מכן הוא מקבל רשימה של כל רכיבי הרשת שמקונפגים במערכת וכל רכיב כזה הוא מנסה לקנפג לפי פרוטוקול ה-dhcp.

כדי לשמור על מעקב אחר הקצאות - בזמן אתחול המחשב או במצבים אחרים - dhclient מחזיק רשימה של leases שהקצה. הרשימה נמצאת בקובץ dhclient.leases.

בזמן האתחול, dhclient ניגש לקובץ הזה ומרענן את הזיכרון שלו בנוגע לכתובות שהוקצו לכל רכיב ורכיב ובעצם מנסה להקצות את אותה הכתובת שהרכיב השתמש בה.

כשנדרשת הקצאת כתובת חדשה, היא נרשמת בסוף הקובץ dhclient.leases. כדי למנוע מהקובץ לגדול בצורה שרירותית, מדי פעם dhclient מייצר קובץ חדש ולוקח את המידע מתוך דאטאבייס פנימי שלו. הגירסה הישנה של dhclient.leases נשמרת בקובץ dhclient.leases~ עד לפעם הבאה.

שמירה של הקצאות ישנות, זה למקרה שהשרת dhcp לא יהיה נגיש בזמן ש-dhclient מאותחל. בדרך כלל בזמן אתחול המערכת.

במצב כזה, הקצאות ישנות שעדיין בתוקף נקראות מתוך הקובץ ונבחנות. אם מתברר שהן תקינות, רכיבי הרשת משתמשים בהן עד שיפוג התוקף שלהן או עד שהשרת dhcp יחזור לחיים.

טלפון סלולארי, מחשב נייד וכו' לעיתים מתחברים לרשת שאין בה שרת dhcp. במצב כזה, dhclient ינסה להשתמש בכתובת סטטית. אם הצליח, ישתמש בכתובת הזאת עד לאתחול הבא.

מערכת ניידת יכולה לנסות להתחבר גם לרשת שאין בה שרת dhcp. אבל יש bootp. במקרה כזה, זה יהיה הכי מועיל ליצור קשר עם האדמין כדי שיוסיף שורה בדאטאבייס של bootp כדי שהמערכת תתחבר במהירות לרשת במקום להתחיל להיכנס למעגל של ניסיונות להתחבר עם כתובות ישנות מהרשימות leases.

שם הרכיב שברצוננו לקנפג ב-dhcp יכול להיכתב בשורת הפקודה של ה-dhclient.

אם לא צויין שם רכיב, dhclient יזהה את כל רכיבי הרשת למעט רכיבי רשת מסוג (non-broadcast) - וינסה לקנפג כל אחד מהם.

יש אפשרות, בנוסף, לציין שמות רכיבי רשת ספציפיים בקובץ dhclient.conf.

ה-dhclient יקנפג אך ורק רכיבי רשת שצויינו בקובץ או בשורת הפקודה, ויתעלם מרכיבים אחרים.

בצורה רגילה, dhclient לא מדפיס שום מידע בזמן האתחול שלו. אפשר להוסיף -v (מקף v) כדי שהמידע יוצג. בכל מקרה, הוא כותב לוגים ל-syslog.

אופציות:

מקף 4 - קבלת כתובות IP גירסה 4. זה הדיפולט וזה או מקף 4 או מקף 6. לא שניהם יחד.

מקף 6 - קבלת כתובות גירסה 6 ביחד עם פרמטרים לקונפיגורציה. הפונקציונליות של התצורה הזאת יכולה להשתנות בשימוש באופציות S גדולה, T גדולה ו-N גדולה.

מקף S גדולה - בצע בקשה למידע בלבד מ-dhcpv6 לקבלת פרמטרים לקונפיגורציה מסוג stateless. לא מומלץ לשלב עם N גדולה, P גדולה או T גדולה או לשתף קבצי lease בין מצבי פעולה שונים. עובד יחד עם האופציה 6.

מקף N גדולה - בקש שאילתת IA_NA רגילה מעל dhcpv6. לא מומלץ לשלב עם P גדולה, S גדולה או T גדולה או לשתף קבצי lease בין מצבי פעולה שונים. עובד יחד עם האופציה 6.

מקף T גדולה - בקש שאילתת IA_NA זמנית (מבטל שאילתה רגילה) . לא מומלץ לשלב עם N גדולה, P גדולה או S גדולה או לשתף קבצי lease בין מצבי פעולה שונים. עובד יחד עם האופציה 6.

מקף P גדולה - אפשר ipv6 delegation (מבטל שאילתה רגילה). לא מומלץ לשלב עם N גדולה, S גדולה או T גדולה או לשתף קבצי lease בין מצבי פעולה שונים. עובד יחד עם האופציה 6.

מקף 4o6 - זה dhcpv4 מעל dhcpv6. נמצא ברספברי פיי.

מקף p קטנה <מספר פורט> - פורט ה-UDP שעליו ה-dhclient מאזין ומעביר מידע. אם לא צויין, ייעשה שימוש בפורט הדיפולטי 68. האופציה הזאת יעילה בעיקר לצורך debugging. אם צויין מספר הפורט, dhclient יעשה שימוש גם בפורט יעד (destination) אחר - הפורט הקודם לזה שצויין. אם כתבתי פורט 8888, הוא ישתמש ב-8887 לפורט יעד.

מקף d קטנה - אלץ את dhclient לרוץ כ-foreground process. זה יעיל במצבים בהם מריצים את dhclient בדיבאגר, או כשמריצים אותו מתוך inittab במערכות System V.

מקף e קטנה VAR=value - הגדר משתני סביבה נוספים לסביבה בה ה-dhclient רץ. אפשר לכתוב מקף e קטנה והגדרת משתנה כמה פעמים באותה שורת ריצה, לפי הצורך.

מקף q קטנה - quite, בטל כל הדפסה לטרמינל או ללוג למעט שגיאות.

מקף 1 - נסה פעם אחת בלבד לקבל הקצאה. אם זה לא הצליח, צא עם קוד 2.

מקף r קטנה - תגיד ל-dhclient לשחרר את ה-lease הנוכחי. זה לא חלק מההגדרות של dhcp אבל יש ספקי אינטרנט שמחייבים את הלקוחות שלהם להודיע לשרת אם הם מעוניינים לשחרר את כתובת ה-IP שהוקצתה.

מקף lf אותיות קטנות רווח שם של קובץ lease - הנתיב לקובץ הדאטאבייס של ההקצאות. אם לא צויין, נעשה שימוש בנתיב הדיפולטיבי /var/lib/dhclient/dhclient.leases

מקף pf קטנות רווח שם של קובץ pid - נתיב של קובץ ה-process id. אם לא צויין, ייעשה שימוש בנתיב הדיפולטיבי /var/run/dhclient.pid.

מקף cf קטנות רווח שם של קובץ config - הנתיב לקובץ הקונפיגורציה. אם לא צויין, ייעשה שימוש בקובץ הדיפולטיבי /etc/dhcp/dhclient.conf.

מקף sf קטנות רווח שם של קובץ סקריפט - הנתיב לסקריפט הקונפיגורציה שרץ על די dhclient ברגע שמקבל הקצאה. אם לא צויין, ייעשה שימוש בקובץ הדיפולטיבי /sbin/dhclient-script.

מקף s קטנה רווח שם שרת - ציין את כתובת ה-IP או הדומיין המלא של השרת כדי להעביר אליו הודעות DHCP. באופן נורמלי, dhclient מעביר את ההודעות האלה ל-255.255.255.255 (the IP limited broadcast address).

השימוש באופציה הזאת בעיקר לצורך דיבאגינג.

מקף g קטנה רווח relay - לצורך debugging בלבד. ערוך את השדה giaddr של כל הפאקטות שהלקוח שולח לכתובת ה-IP שצויינה.

זה לא אמור לעבוד בצורה יציבה או שימושית.

מקף n קטנה - אל תקנפג שום רכיב רשת. שימושי בעיקר בשילוב עם מקף w.

מקף nc אותיות קטנות - אל תזרוק יכולות.

במצב רגיל, אם dhclient קומפל עם תמיכה ב-libcap-ng, הוא יזרוק את רוב היכולות מיד באתחול. אומנם, מאובטח יותר אבל מגביל מאוד את הפעולות הנוספות שיכולות להתבצע באמצעות הסקריפט dhclient-script (8).

(למשל, דיימונז שהסקריפט הזה מאתחל או מריץ ירשו את היכולות שהוגבלו, מה שעלול להפריע לפעולה התקינה שלהם). לכן ה-nc שימושי כדי למנוע מ-dhclient לזרוק יכולות.

ה-dhclient יתעלם מהאופציה הזאת אם הוא לא קומפל עם תמיכה ב-libcap-ng.

מקף nw - הפוך לדיימון מייד (no wait) ואל תחכה עד שתוקצה כתובת IP.

מקף w - המשך לרוץ גם אם לא נמצאו רכיבי רשת. אפשר לעשות שימוש בתוכנה omshell על מנת ליידע את הלקוח ברגע שרכיב רשת מתווסף או מוסר כדי שיוכל לקנפג לו כתובת IP.

מקף B גדולה - אפשר את הדגל של BOOTP broadcast בפאקטות של request ככה ששרתים תמיד ישלחו תשובה חזרה.

מקף I גדולה רווח ו-dhcp-client-identifier - מלא את אופציית dhcp-client-identifier לשליחה לשרת dhcp.

מקף H גדולה רווח host-name - מלא את אופציית host-name לשליחה לשרת.

© 2023 by DO IT YOURSELF. Proudly created with Wix.com