OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

7.4.1. התנהגות Netfilter‌


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

לסנן נוגע לכללי סינון (קבלה, סירוב או התעלמות מחבילה);

נת (תרגום כתובות רשת) נוגע לתרגום של כתובות מקור או יעד ויציאות של מנות;

מִגהָצָה נוגע לשינויים אחרים בחבילות ה-IP (כולל ה-ToS-סוג שירות-שדה ואפשרויות);

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

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

אל האני לסנן לשולחן שלוש שרשראות סטנדרטיות:

קלט: נוגע למנות שהיעד שלהן הוא חומת האש עצמה;

תפוקה: נוגע למנות הנפלטות על ידי חומת האש;

קָדִימָה: נוגע למנות העוברות דרך חומת האש (שזה לא המקור שלהן ולא היעד שלהן).

אל האני נת לשולחן יש גם שלוש שרשראות סטנדרטיות:

PREROUTING: כדי לשנות מנות ברגע שהן מגיעות;

POSTROUTING: לשנות מנות כשהן מוכנות לצאת לדרכן;

תפוקה: כדי לשנות מנות שנוצרו על ידי חומת האש עצמה.

שרשראות אלו מוצגות באיור 7.1, "כיצד נקראות שרשראות Netfilter" [עמוד 155].


תמונה


איור 7.1 איך netfilter שרשראות נקראות‌


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

מסכים: אפשר לחבילה ללכת לדרכה.

דחה: דחה את החבילה עם חבילת שגיאה של פרוטוקול שליטה באינטרנט (ICMP) (ה --דחה-עם סוג אופציה של iptables קובע את סוג השגיאה שיש לשלוח).

DROP: מחק (התעלם) מהחבילה.

LOG: log (via syslogd) הודעה עם תיאור של החבילה. שימו לב שפעולה זו אינה קוטעת את העיבוד, וביצוע השרשרת ממשיך בכלל הבא, ולכן רישום מנות שסורבו דורש גם LOG וגם כלל REJECT/DROP. פרמטרים נפוצים הקשורים לרישום כוללים:

- --רמת יומן, עם ערך ברירת מחדל אזהרה, מציין את syslog רמת החומרה.

- --log-prefix מאפשר לציין קידומת טקסט כדי להבדיל בין הודעות שנרשמו.

- --log-tcp-sequence, --log-tcp-options ו--log-ip-options מציינים נתונים נוספים שיש לשלב בהודעה: בהתאמה, מספר רצף TCP, אפשרויות TCP ואפשרויות IP.

ULOG: התחבר הודעה באמצעות אולוגד, אשר יכול להיות מותאם טוב יותר ויעיל יותר מאשר syslogd לטיפול במספר רב של הודעות; שים לב שגם פעולה זו, כמו LOG, מחזירה את העיבוד לכלל הבא בשרשרת השיחות.

chain_name: קפוץ לשרשרת הנתונה והעריכו את הכללים שלה.

לַחֲזוֹר: הפסקת עיבוד של השרשרת הנוכחית וחזרה לשרשרת הקוראים; במקרה שהשרשרת הנוכחית היא רגילה, אין שרשרת שיחות, אז פעולת ברירת המחדל (מוגדרת עם -P אפשרות ל iptables) מבוצע במקום זאת.


SNAT (רק ב נת טבלה): החל תרגום כתובות רשת מקור (SNAT). אפשרויות נוספות מתארות את השינויים המדויקים שיש להחיל, כולל --למקור כתובת:נמל אפשרות, המגדירה את כתובת ה-IP ו/או היציאה החדשים של המקור.


DTA (רק ב נת טבלה): החל תרגום כתובות רשת יעד (DNAT). אפשרויות נוספות מתארות את השינויים המדויקים שיש להחיל, כולל -- אל היעד כתובת:נמל אפשרות, המגדירה את כתובת ה-IP של היעד ו/או היציאה החדשה.


נֶשֶׁף מַסֵכוֹת (רק ב נת טבלה): החל מתחזה (מקרה מיוחד של מקור NAT).


הפניה מחדש (רק ב נת טבלה): מנתב מחדש מנה באופן שקוף ליציאה נתונה של חומת האש עצמה; זה יכול לשמש כדי להגדיר פרוקסי אינטרנט שקוף שעובד ללא תצורה בצד הלקוח, מכיוון שהלקוח חושב שהוא מתחבר לנמען בעוד שהתקשורת עוברת בפועל דרך הפרוקסי. ה --ליציאות יציאות האפשרות מציינת את היציאה, או טווח היציאה, שאליו יש להפנות את החבילות.


פעולות אחרות, במיוחד אלה הנוגעות ל מִגהָצָה טבלה, מחוץ לתחום של טקסט זה. ה iptables(8) ו ip6tables(8) לדפי אדם יש רשימה מקיפה.



מה זה ICMP? פרוטוקול הודעות בקרת אינטרנט (ICMP) הוא הפרוטוקול המשמש להעברת מידע נלווה על תקשורת. זה בודק קישוריות רשת עם פינג פקודה, ששולחת ICMP בקשת הד הודעה, שהנמען אמור לענות עליה באמצעות ICMP תשובה הד הוֹדָעָה. הוא מסמן חומת אש הדוחה חבילה, מציין גלישה במאגר קבלה, מציע מסלול טוב יותר עבור החבילות הבאות בחיבור, וכן הלאה. פרוטוקול זה מוגדר על ידי מספר מסמכי RFC. RFC777 ו-RFC792 היו הראשונים, אך רבים אחרים הרחיבו ו/או תיקנו את הפרוטוקול.

http://www.faqs.org/rfcs/rfc777.html

http://www.faqs.org/rfcs/rfc792.html

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

שימו לב שלמרות שרשת IPv4 יכולה לעבוד ללא ICMP, ICMPv6 נדרש בהחלט עבור רשת IPv6, מכיוון שהיא משלבת מספר פונקציות שהיו, בעולם IPv4, מפוזרות על פני ICMPv4, פרוטוקול חברות בקבוצת אינטרנט (IGMP), ו כתובת פרוטוקול החלטה (ARP). ICMPv6 מוגדר ב-RFC4443.

http://www.faqs.org/rfcs/rfc4443.html

מה זה ICMP? פרוטוקול הודעות בקרת אינטרנט (ICMP) הוא הפרוטוקול המשמש להעברת מידע נלווה על תקשורת. זה בודק קישוריות רשת עם פינג פקודה, ששולחת ICMP בקשת הד הודעה, שהנמען אמור לענות עליה באמצעות ICMP תשובה הד הוֹדָעָה. הוא מסמן חומת אש הדוחה חבילה, מציין גלישה במאגר קבלה, מציע מסלול טוב יותר עבור החבילות הבאות בחיבור, וכן הלאה. פרוטוקול זה מוגדר על ידי מספר מסמכי RFC. RFC777 ו-RFC792 היו הראשונים, אך רבים אחרים הרחיבו ו/או תיקנו את הפרוטוקול.

http://www.faqs.org/rfcs/rfc777.html

http://www.faqs.org/rfcs/rfc792.html

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

שימו לב שלמרות שרשת IPv4 יכולה לעבוד ללא ICMP, ICMPv6 נדרש בהחלט עבור רשת IPv6, מכיוון שהיא משלבת מספר פונקציות שהיו, בעולם IPv4, מפוזרות על פני ICMPv4, פרוטוקול חברות בקבוצת אינטרנט (IGMP), ו כתובת פרוטוקול החלטה (ARP). ICMPv6 מוגדר ב-RFC4443.

http://www.faqs.org/rfcs/rfc4443.html

מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: