PracticU

הגדרת iptables - חלק 3

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › הגדרת iptables - חלק 3
מילון מושגים:
NAT - מנגנון שמתרגם כתובות IP פרטיות לכתובת ציבורית אחת, כדי לאפשר למחשבים ברשת פנימית לגשת לאינטרנט.
IPv4 - הגרסה הרווחת של פרוטוקול IP, שבה כתובת מורכבת מארבעה מספרים בין 0 ל-255.
כתובת IP - מספר שמזהה באופן ייחודי מכשיר ברשת מבוססת פרוטוקול IP, ומאפשר לשלוח אליו ולקבל ממנו מידע.
קרנל - ליבת מערכת ההפעלה, שמנהלת את החומרה, הזיכרון והתהליכים ומתווכת בינם לבין התוכנות.
חומת אש - מערכת שמסננת תעבורת רשת לפי כללים, ומתירה או חוסמת חיבורים כדי להגן על מחשב או רשת.
Ping - פקודה שבודקת אם מכשיר ברשת מגיב ומודדת את זמן התגובה אליו.
ראוטר - התקן רשת שמעביר חבילות מידע בין רשתות שונות ובוחר את הנתיב שבו יגיעו ליעדן.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.

הגדרת iptables - חלק 3
השיעור מסביר NAT בעזרת IPTables: איך שרת לינוקס עם שני כרטיסי רשת מאפשר לרשת פנימית לצאת החוצה, ואיך מפנים תעבורה מבחוץ לשרת פנימי.
הסביבה
1. שני כרטיסי רשת: ETH0 מחובר לרשת החיצונית, ו-ETH1 מחובר לרשת פנימית סגורה בין המכונות הוירטואליות (Internal Network).
2. שרת פנימי: שרת Web בכתובת 10.0.0.5, שאין לו גישה ישירה לרשת החיצונית. ברירת המחדל שלו היא 10.0.0.1, והיא מצביעה על השרת שמבצע את הניתוב.
הפעלת העברת פאקטים
1. הפרמטר: net.ipv4.ip_forward נמצא ב-/etc/sysctl.conf וברירת המחדל שלו 0 משיקולי אבטחה. משנים אותו ל-1.
2. החלה: sysctl -p מיישם את השינוי בקרנל בלי ריסטארט.
NAT יוצא
1. הכלי הגרפי: system-config-firewall מאפשר לסמן Masquerading לכרטיס רשת מסוים.
2. הדרך הידנית: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE. הטבלה nat וה-chain POSTROUTING הם שמטפלים בתעבורה היוצאת.
3. בדיקה: מהשרת הפנימי עושים ping לראוטר. בשרת השני רואים שהכתובת שמתקבלת היא של שרת 1 ולא הכתובת הפנימית של השרת הפנימי.
הפניית פורט (Virtual Server)
1. הרעיון: מאפשרים לרשת החיצונית להגיע לשרת פנימי דרך כתובת השרת החיצוני.
2. החוק: בטבלת nat ב-chain PREROUTING, תעבורת TCP שמגיעה מ-ETH0 לפורט 80 מופנית (DNAT) לכתובת 10.0.0.5.
3. שמירה: service iptables save, כי בלי שמירה החוקים נעלמים בהפעלה מחדש.
שימו לב
כל תעבורה עוברת את הבדיקות לפי הסדר, ולכן חוקי NAT ו-DNAT שמוספים בזמן ריצה צריכים להיות במקום הנכון. המרצה ממליץ לתרגל את הפעולות האלה בבית כדי להפנים אותן.
בתום השיעור הסטודנט מבין את תפקיד ה-ip_forward, מכיר את שני סוגי ה-NAT (יציאה ו-DNAT), ויודע לבדוק את התוצאה מהרשת הפנימית ומהחיצונית.
השיעור הבא בקורס: שיטות אחרות לחסימת פורטים בלינוקס
לחץ כאן להורדת הורדת קבצי Script של לינוקס שהיו בסרטים
מילון מושגים:
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מחיצה - חלוקה לוגית של דיסק פיזי לאזורים נפרדים, שכל אחד מתפקד כאילו הוא כונן עצמאי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.


מבנה ושמות דיסקים ומחיצות בלינוקס:


(Sda (disk0): זה הדיסק הפיזי הראשון (SATA DISK)

(Sda1,Sda2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי הראשון.

(Sdb (disk1): זה הדיסק הפיזי השני כמו בוינדוס Disk1

(Sdb1,Sdb2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי השני.

מחיצת השורש הראשונה:

וינדוס: C

לינוקס: /

מחיצות נוספות:

וינדוס: D: / E:

לינוקס: /data /example כמו תיקיות.

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

מטרת צירוף לינוקס לדומיין הינה לאימות משתמשים מתוך Active Directory בלבד ואין GPO  ללינוקס דרך AD.


הוכן ע"י התלמיד המצטיין: אברהים אבו שיכה

פרקי ההרצאה: הגדרת iptables - חלק 3

  1. 00:00

    מטרה: NAT לרשת פנימית ליציאה לאינטרנט

  2. 00:44

    הקמת הסביבה: שני כרטיסי רשת לשרת

  3. 02:17

    הגדרת שער ברירת מחדל לשרת הפנימי

  4. 03:28

    בדיקת הכתובות ברשת הפנימית והחיצונית

  5. 04:17

    הפעלת IP forward כדי לשמש כראוטר

  6. 05:31

    שינוי הערך בקובץ sysctl

  7. 06:26

    שמירת הערך ו-sysctl -p לטעינה

  8. 07:02

    פרמטרי קרנל נוספים ומצב Kernel Panic

תמלול ההרצאה: הגדרת iptables - חלק 3

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

  1. 00:05

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

  2. 00:21

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

  3. 00:50

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

  4. 01:34

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

  5. 02:27

    192.168.1, אני לא אקבל כלום, כי למעשה כל מה שהמכונה הזאת רואה היא הכתובת שהגדרתי לה באופן ידני כתובת פנימית 10.005.

  6. 02:47

    כמו כן הגדרתי ראוט ניתוב ברירת מחדל לכתובת 10.001 שאותה אני נותן לסרבר 1. ראוט מינוס n יראה לי בעצם את הדיפולט גייטוויי שהוא מכוון לכתובת 10.0.1.

  7. 03:20

    בשרת סרבר 1 כאן אני רואה את שתי הכרטיסי רשת את ה-ETH0 שמחובר לרשת החיצונית עם כתובת IP 192.168.1.7 ואת כרטיס רשת ETH1 שמחובר לכתובת בעצם לרשת הפנימית שמשותפת עם השרת בעל ממשק הגוי.

  8. 03:55

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

  9. 04:28

    מה שאני צריך לעשות לצורך כך הוא קודם כל לאפשר לשרת סרבר אחד לתפקד כראוטר. בשביל זה אני צריך להגדיר פרמטר שנקרא IP forward. את הפרמטר הזה אני מגדיר בקובץ ETC sysctl.conf לפרמטר קוראים net.ipv4ipforward והפרמטר הזה הוא בעצם יגיד למנגנון הרשת מנגנון הIP שמובנה בתוך הקרנל שהוא מאפשר לשרת הזה לתפקד

  10. 05:19

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

  11. 05:36

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

  12. 06:07

    אותו הלאה ולא בעצם יתעלם מהפקט הזאת אז במקרה הזה אני כמובן חושב שהשרת שלי כן יעביר פקטות הלאה ויעביר אותם אל הרשת החיצונית אני הולך לשנות את זה ב-vi, אני לוחץ על r מהלשון replace ומכניס את הערך הרצוי 1, אוקיי?

  13. 06:34

    עכשיו אני שומר את הקובץ 2wq, שמרתי, ואני הולך לאחל את השינויים במערכת עם הפקודה sysctl-p, אוקיי?

  14. 06:53

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

  15. 07:04

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

  16. 07:47

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

לקורס המלא: קורס לינוקס מתקדם אונליין

ההרצאה הקודמת: הגדרת iptables - חלק 2

ההרצאה הבאה: שיטות אחרות לחסימת פורטים בלינוקס

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

  • הגדרת PATH
  • הגדרת Class - חלק 1
  • הגדרת vMotion
  • הגדרת Router ID

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

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell