PracticU

סקריפט פייתון ל-NETCONF

בלי כתוביותעם כתוביות
PracticU › קורס CCNA - הסמכה בינלאומית של סיסקו - מבחן 200-301 › סקריפט פייתון ל-NETCONF
מילון מושגים:
ראוטר - התקן רשת שמעביר חבילות מידע בין רשתות שונות ובוחר את הנתיב שבו יגיעו ליעדן.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.
DOM - ייצוג עץ של מבנה דף HTML בזיכרון, שמאפשר לקוד לקרוא ולשנות את תוכן הדף ומבנהו.
מסכת רשת - ערך שמחלק כתובת IP לחלק המזהה את הרשת ולחלק המזהה את המכשיר, וקובע את גבולות תת-הרשת.
תת-רשת - חלוקה של רשת גדולה לרשתות משנה קטנות יותר, לשם ארגון, ביצועים ואבטחה.
Python - שפת תכנות עילית וקריאה, נפוצה בפיתוח, אוטומציה, ניתוח נתונים ולמידת מכונה.
תחביר - אוסף הכללים של שפת תכנות הקובעים כיצד לכתוב קוד תקין. הפרתם גורמת לשגיאת תחביר.
SSH - פרוטוקול לחיבור מרוחק ומוצפן למחשב, בעיקר לשרתי Linux, לצורך ניהול דרך שורת הפקודה.

סקריפט פייתון ל-NETCONF
ההרצאה עוברת על שלושה סקריפטים מוכנים של מעבדת NETCONF של סיסקו: הוספת Loopback, מחיקתו ושמירת ה-running config ל-startup config. מבינים איך הסקריפט בונה שבלונה בשפת YANG, ממלא אותה ושולח אותה לנתב.
תנאים מוקדמים
חוזרים על ההכנות: נכנסים ל-Sandbox (מעבדת IOS XE Always-On), ובמעבדת הלמידה של NETCONF מבצעים את "Set up your computer" ופועלים בתוך הסביבה הווירטואלית.
סקריפט ההוספה
1. ייבוא: manager מתוך ncclient, וכן xmltodict ו-xml.dom.minidom. הסקריפט מוצא את תיקיית השורש של הפרויקט ומייבא משם את environment_lab עם פרטי ההתחברות.
2. שבלונה: מחרוזת XML לפי YANG שמגדירה ממשק עם name, description, type, enabled, כתובת IP ומסכה. סוגי הממשק לפי תקן IETF.
3. קלט: אובייקט ריק new_loopback מתמלא מתשובות המשתמש בעזרת input: מספר (השם הופך ל-Loopback ועוד המספר), תיאור, כתובת IP ו-Subnet Mask. הסוג קבוע כ-Loopback והסטטוס true.
4. מילוי השבלונה: הערכים מוחלפים בשבלונה, והתוצאה מודפסת.
5. שליחה: m.edit_config על running עם השבלונה. התשובה מוצגת בצורה קריאה.
6. הרצה: python add_loopback.py עם מספר 777 נכשלה בשגיאת XML syntax, כי נכנס ערך שגוי במסכה. ניסיון שני עם 13 ומסכה תקינה החזיר ok. show ip interface brief ב-SSH הראה את Loopback13.
סקריפט המחיקה
דומה מאוד, אך בשבלונה יש פעולה delete ושם ממשק בלבד. מריצים, מקלידים 13, מקבלים ok, וב-show ip interface brief הממשק נעלם.
שמירת ההגדרות
בסקריפט save config אין קלט מהמשתמש. הוא שולח פקודת YANG לשמירה, והתשובה: שמירת ה-running ל-startup הצליחה.
שימו לב
פעולת העריכה נעשית על running ולא על startup, ולכן בלי שמירה השינוי לא ישרוד אתחול.
אחרי ההרצאה אפשר להסביר איך סקריפט NETCONF מוסיף, מוחק ושומר ממשק בנתב.

פרקי ההרצאה: סקריפט פייתון ל-NETCONF

  1. 00:00

    מטרת הסקריפט - הוספת loopback

  2. 01:00

    בחירת מעבדת recommended code

  3. 01:58

    וידוא virtual environment

  4. 02:56

    ייבוא הספריות בסקריפט

  5. 03:52

    טמפלייט ה-YANG לאינטרפייס

  6. 05:05

    בניית אובייקט ה-loopback

  7. 06:21

    קליטת ערכים מהמשתמש

  8. 07:36

    מילוי הטמפלייט בערכים

תמלול ההרצאה: סקריפט פייתון ל-NETCONF

הטקסט המלא של הדקות הראשונות בהרצאה «סקריפט פייתון ל-NETCONF» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם בהרצאה הזו אנחנו רוצים להוסיף כרטיס רשת לובק דרך פייתון בפרוטוקול נטקונף הסטנדרטי להבין איך עובד התקן הזה של נטקונף להוסיף הגדרות למחוק הגדרות לשמור running config לסטארט-אפ config איך כל הקריפטים האלה עובדים מה קורה שם בפנים האמת זה די פשוט זה סטנדרטי ואני רוצה להזכיר לכם מה אנחנו עושים אנחנו נכנסים לסנדבוקס, למעבדות של סיסקו

  2. 00:38

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

  3. 00:51

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

  4. 01:05

    מחפש פרוגרמביליטי ומוצא את זאתי שהיא always on תמיד דלוקה והיא נקראת iOSXE on CSR recommended code always on אלו הם מילות המפתח recommended code always on אני עושה כניסה נכנס למעבדה הזאת מי שיצטרף אלינו רק עכשיו שידע שכל זה מפורט בהרצאות קודמות יש לי כאן למטה את כל שמות והסיסמאות שצריך בשביל להיכנס ולהתחבר בנטקונף פורט 10,000. ראינו איך מתחברים לזה ואנחנו ישר

  5. 01:40

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

  6. 01:56

    עשינו את כל השלבים הראשונים, אני מזכיר לכם ש-how to set up your computer זה דבר הכי חשוב שתעשו. לפני שאתם ממשיכים בהרצאה, תיוודאו שעשיתם את השלבים שיש פה, שעשינו גם בהרצאות קודמות, ואתם במצב שאתם בתוך virtual environment.

  7. 02:12

    אתם צריכים להיות במצב כזה. ואז אנחנו עוברים בעצם לשלב השלישי והאחרון של להריץ סקריפטים שמוסיפים אינטרפייס, כמו add loopback. אז אני אראה לכם את הסקריפט עכשיו בעצמי, נעבור על כל מה שיש פה, יש פה את כל ההסברים האלו, אנחנו הולכים עכשיו לעבור עליהם, ובסוף נריץ את הסקריפט Add Loopback.

  8. 02:37

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

  9. 02:54

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

  10. 03:16

    גם מייבאים XML to Dictionary כדי להפוך את ה-XML למילון שנוח לעבוד איתו, ו-XML ל-Mini DOM. DOM זה אובייקטים כמו של דפדפן, מאחורי הקלעים, אובייקטים של Web.

  11. 03:31

    אז אנחנו הולכים להפוך XML גם למילון וגם לכאלה אובייקטים של דפדפן. הסקריפט מתחיל מזה שאנחנו מגלים באיזה תיקייה אנחנו נמצאים ואיפה הרות של הפרויקט הזה.

  12. 03:43

    למעשה, לוקחים את הספרייה הנוכחית ועולים שני שלבים למעלה ומגלים את הספריית שורש ומייבאים משם את ה-Environment Lab.

  13. 03:54

    זוכרים, Environment Lab, יש שם את כל משתני הסביבה שאיתם מתחברים למעבדה שלנו. אחרי זה יש לנו פה הכרזה על משתנה, על אובייקט. אתם רואים, סוגריים מסולסלות, זה אומר שזה אובייקט שיש לו מאפיין Loopback, עם ערך כזה לאובייקט הזה גם יש מאפיין ethernet עם ערך כזה זה למעשה התקן של אינטרפייס לפי ITF פחות מעניין

  14. 04:09

    תדעו שזה סוג של אינטרפייס והלאה יש לנו טמפלייט זה טמפלייט שזה בעצם היאנג זה התקן של שפת היאנג שמי ימצא את התקן הזה את הצורה שבה צריך לכתוב את האינטרפייס מי שימצא אותו זה התקן האמריקאי שנקרא ITF והוא ימצא את התקן הזה שנקרא יאנג וכתב שככה מאפיינים את האינטרפייס אז לאינטרפייס צריך להיות name שם ושימו לב

  15. 04:49

    יש פה סוגריים מסולסלות name זה אנחנו הולכים לשנות אותו ולהחליף אותו במה שמשתמש ירצה שנקים לו אם הוא ירצה לופבק כזה לופבק 777 נכניס לכאן את השם הזה של הלופבק אז זה המאפיין שלו זה ה-description שלו זה הטייפ הזה שראינו פה למעלה זה הסטטוס, האם הוא מופעל או לא מופעל, כתובת IP שלו ו-subnet mask שלו.

  16. 05:16

    זה בעצם הטמפלייט, השבלונה, שככה צריך לשלוח את ה-NETCONF לשרת, זאת שפת היאנג שה-NETCONF משתמש בה. אז יש לנו את השבלונה, נשאר לנו רק להחליף את הערכים האלו שיש פה.

  17. 05:33

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

  18. 05:57

    input הזאת היא מקבלת input מהמשתמש אז משתמש יכניס לנו לדוגמה מספר 777 אז יהיה לנו לופבק 777 אז האינפוט הזה מקבל מה להציג למשתמש What לובק number do you want to add?

  19. 06:14

    איזה מספר כרטיס אתה רוצה להוסיף? אנחנו מוכניסים לו מספר, נניח לובק מספר 777, ואז יהיה לנו פה בסופו של דבר לובק 777, וזה ייכנס, המילה הזאת לובק 777 ייכנס לתוך מאפיין name בתוך אובייקט ניו לובק.

  20. 06:33

    אותו דבר עם דיסקריפשן, שימו לב, ניו לובק, אובייקט ניו לובק שהיה ריק, אנחנו מוסיפים לו שדה חדש שקוראים לו דיסקריפשן, ואת ה-Description הזה שוב מקבלים מהיוזר.

  21. 06:45

    אחרי זה מוסיפים ללופבק הזה טייפ, ואת הטייפ הזה אנחנו מכניסים לבד, שזה חייב להיות לופבק. אנחנו לא שואלים את המשתמש, אנחנו אומרים לו, תבחר מהתקן הזה של ITF את הלופבק.

  22. 07:00

    שימו לב, זה פה למעלה, זוכרים? פה זה האינטרפייס הזה. אנחנו בחרנו בעצם, זה כמו לשתול את המילה הזאת בפנים. אבל במקום לכתוב את המילה הזאת בפנים, הם עשו אובייקט שיהיה יותר מסודר.

  23. 07:13

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

  24. 07:36

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

  25. 08:03

    שהוא לוקח את הטמפלייט ההוא שהתחלנו איתו למעלה זוכרים את הטמפלייט הזה הנה פה הטמפלייט הזה למעלה ואנחנו אומרים לו בטמפלייט הזה כל פעם שאתה רואה name תחליף אותו בזה את ה-Description תחליף בזה הם עושים את כל הפעולות מסודר אז למעשה בשלב הזה אנחנו לוקחים את הטמפלייט ומכניסים לו את כל הערכים מתוך ה-New Loopback מכניסים את השם את ה-Description את ה-Type

  26. 08:30

    את ה-Status ואת ה-IP Address הבנתם ואז יש לנו את השבלונה הזאת שהייתה במקור רק הפעם

לקורס המלא: קורס CCNA אונליין בעברית

ההרצאה הקודמת: פייתון ו-NETCONF

ההרצאה הבאה: הגדרת ADSL בתוך Packet Tracer

הרצאות קשורות מקורסים אחרים

  • התקנה של פייתון
  • התקנת פייתון בוונדוס
  • סקריפט עם לולאת for
  • הדגמה של סקריפט אמיתי

קורסים נוספים במסלול

  • קורס CCNP
  • קורס פורטיגייט - FortiGate
  • קורס צ'ק פוינט - Check Point Gaia R81