
firewall-cmd: הפניית פורט 5422 ל-80 עבור כולם, הפניה רק מרשת 192.168.50.0/24, והגבלת קצב החיבורים לפורט 80. ההרצאה מדגימה כל אחת ומראה איך לשמור את התוצאה.index.html פשוט נכתב טקסט לבדיקה. מ-System 2 (192.168.50.12) בודקים עם curl. בהתחלה מתקבל Connection Refused, ולכן מוסיפים את השירות עם --add-service=http ומוודאים שהכל עובד.--add-forward-port עם פורט, פרוטוקול tcp ופורט יעד. בודקים עם --list-forward-ports. ההפניה פועלת על חיבורים שמגיעים מבחוץ, ולא על בדיקה מתוך אותה מכונה.--remove-forward-port מוחק. ההגדרות נעשות ב-runtime, ולכן כדי שישרדו אתחול מריצים --runtime-to-permanent. גם מחיקה צריכה שמירה כזו.man firewalld.richlanguage, שמופיע בסעיף See also של man firewall-cmd.accept את limit value. לפני כן מסירים את השירות http, כי כל עוד הוא מאופשר הוא עוקף את הכלל.firewall-cmd --list-allfirewall-cmd --add-forward-port=port=5422:proto=tcp:toport=80firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.50.0/24 forward-port port=5422 protocol=tcp to-port=80'firewall-cmd --runtime-to-permanentfirewall-cmd קיימות בגרסאות list, add ו-remove.firewall-cmd --help | grep על מילה כמו service, port או forward מסנן את האפשרויות.--list-all כדי לוודא שאין התנגשות.מבנה ושמות דיסקים ומחיצות בלינוקס:

הטקסט המלא של הדקות הראשונות בהרצאה «הגדרת Port Forwarding על ידי firewall-cmd בלינוקס» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים לסרטון בנושא ההכנה ל-RHCE. היום אנחנו נלמד שאלות בנושא Local Port Forwarding. אנו נבחן שלוש שאלות.
בשאלה הראשונה אנו מתבקשים לקחת את כל מי שמתחבר ל-System 1 בפורט 5422 להפנות אותו לפורט 80. בשאלה השנייה אנחנו מתבקשים לעשות אותו דבר אבל רק למי שמתחבר מרשת 192.168.50 שיועבר מפורט 5422 לפורט 80. ובשאלה השלישית אנו מתבקשים להגביל את קצב הגישה למערכת 1 בפורט 80 מרשת 192.168.50 לשתי חיבורים חדשים בדקה לכל היותר.
ראשית בואו נסתכל רגע על הקונפיגורציה של המערכות שלנו ברשת יש לנו סיסטם אחד שנמצא בכתובת 192.168.50.14 וסיסטם שתיים שבו אנחנו נשתמש לניסיון של יצירת הקונקשנים והוא נמצא בכתובת 192.168.50.12 טוב אז בואו נתחיל אני מתחבר למערכת בssh שימו לב כאשר אתם מחוברים ב-SSH ועושים פעולות עם ה-Firewall
שימו לב לא לעשות משהו שינקתק אתכם מהמערכת זה יכול להיות מאוד לא נעים למשל אם תסגרו את כל הפורטים ב-Firewall ואז תאבדו את הכישוריות שלכם למערכת.
אז הפקודה שאנחנו נשתמש בה כדי לעשות את כל הפעולות האלה היא Firewall CMD. כמו שאתם רואים יש לפקודה הזאת הרבה אופציות ואנחנו נבחן את הרלוונטיות מהם בעוד דקה, אבל בינתיים אנחנו נתחיל מהטסט שלנו.
אנחנו רוצים לוודא שיש לנו דרך טובה לבחון את המערכת. על המערכת הזאת רץ שרת HTTP, והוא רץ על פורט 80. מה שאני אעשה, אני אשתמש בתוכנה קורל כדי לבדוק גישה לשרת זה.
אני מתחבר ל-localhost ומקבל את עמוד הבחירה של סנטוס. כדי שיהיה לנו קצת יותר פשוט אני הולך ליצור עמוד בחירת מחדל את האינדקס html מאוד קטן ומצומצם.
אז אני עושה vi var www.htmlindex.htmltesting123 בואו נבדוק ומעולה. התשובה הזאת תגיד שהתקשורת שלנו הצליחה. עכשיו אני אעבור למערכת הטסט שלנו, סלע SSH, כתובת 12, יש סיסמה ועכשיו אני אנסה להגיע לכתובת ה-14 לראות אם אני מצליח.
HTTP 192.168.50.14 ואני מקבל הודעה של Connection Refused מהסיבה הפשוטה שעדיין לא אפשרתי בפיירוול את הגישה לסרוויס הזה אז הדרך הכי פשוטה לאשר אותו ואני עושה את זה בעצם לפני שאני מתחיל לעשות את כל המשחקים ולענות על השאלה אני רוצה לוודא שאכן הכל תקין והתקשורת עובדת בסדר.
אם אתם בטוחים בעצמכם, לא חייבים לעשות את זה במבחן. אז אני אעשה כזה דבר. אני קודם כל אתחיל בזה שאני אציג את כל הקונפיגורציה של ה-firewall בצורה הבאה: firewall.cmd == list == all.
ואני רואה שאני עובד כרגע על פרופיל public, ואני רואה שאלה הם הסרוויסים שמאופשרים אצלי, ואני הולך עכשיו להוסיף service == add service http. הוספתי, קיבלתי הודעה success, עכשיו אני הולך לבדוק, ועל מערכת 2, ואני מקבל את ההודעה שציפיתי לה, test123. מצוין.
אגב, אם אתם לא בטוחים, נגיד, איך לעבוד עם firewall cmd אז טריק טוב זה לעשות מינוס מינוס help ואז פשוט להשתמש בגרפ למשל על סרוויס אז יש get services את הפקודה סרוויס יש list service add service ו-remove service אוקיי בעיקרון רוב הפקודות ב firewall cmd יש להם אופציה של list add ו-remove מעולה
עכשיו ידעתי שהתקשורת עובדת עכשיו נשאר לעשות אותו דבר ולעשות פורט פורוורדינג והדרך הכי פשוטה לעשות פורט פורוורדינג ככה שייקח בעצם מכל הכתובות בלי לברר יותר מדי מאיפה הפקט מגיע זה להשתמש בעצם במנגנון שהוא מוכן מראש שנקרא אד פורוורד פורט אז אני הולך בעצם לעבוד עם הטריק שהראתי לכם.
אני עושה forward cmd מינוס מינוס help ומריץ את גרפ על forward ואני רואה כאן list forward ports בואו נריץ אותו כרגע מן הסתם אני מאמין שלא יהיו שום פורטים הפניית פורטים במערכת הרצתי מקבל פלט ריק ואז אני רואה כאן את הסינטקס של add port forward זה הולך ככה add
forward port שווה port שווה port id זה מספר הפורט. אני רושם כאן את הפורט שאני רוצה להעביר ופה זה בדיוק הזמן לחזור רגע לתרגיל לוודא שלא שכחנו שום דבר.
5422 כי יהיה ממש לא נחמד לעשות את כל התרגיל ואז להבין בעצם שבטעות העברנו פורט אחר. ואז יש כאן נקודותיים פרוטו, כלומר פרוטוקול שווה tcp ונקודותיים 2 port שווה 80. אגב יש כאן אפשרות גם לעשות רנג' כלומר מטווח של פורטים נגיד מפורט 5400 עד פורט 5500 להפנות אותו אותם לפורטים נגיד מ-1 עד 100 וכמובן בהתחלה firewall cmd אוקיי
סקסס קיבלתי הפניית פורטים ובואו עכשיו ננסה קח כאן ונוסיף את port 5422 מצוין עובד עכשיו בואו נעשה list forward ports ואני רואה את ההפניה שיצרנו.
עכשיו, שימו לב, אם אני אריץ את הפקודה הזאתי על מערכת המקור, היא לא תעבוד, כי בעצם ההפניה הזאת נעשית ברמת ה-firewall, וה-firewall פעיל על קונקשנים שהם בעצם לפני שהם נכנסים למכונה.
אם אני עושה את זה מתוך המכונה, אני לא עובד לפי אותם חוקים, אני עובד בעצם לפי תוכנות שמאזינות כרגע על המכונה הזאת. מצוין, עכשיו בואו נראה לכם איך מוחקים port forwarding.
נתחיל מלעשות list port forwards ונלך ל-firewall cmd == help forward. ואנחנו כאן רואים את ה-remove port forward. firewall.cmd.remove.port.forward ואותו syntax port שווה 5,422.2.proto שווה tcp.2.port שווה 80. מחקנו בואו נוודא שהוא לא נמצא ברשימה הרשימה ריקה ובואו
נוודא שההפניה כבר לא עובדת ואנחנו אכן רואים שההפניה הפסיקה לעבוד אגב אם הייתי באמת עושה את התרגיל ואז בואו נחזיר רגע את ההפניה אז במצב הזה הנה אתם רואים אפשרתי את ההפניה והיא כן והיא עובדת אני רואה טסט 1 2 3 עכשיו זה לא מספיק עכשיו מה שאני צריך לעשות אני צריך לשמור את הקונפיגורציה של הפיירוול כי כרגע אנחנו
בעצם עורכים קונפיגורציה במצב לייב ואם אני רוצה שהיא תישמר לבוט הבא, אני צריך לשמור אותה לפרמננט. איך עושים את זה? בואו נחפש דרך ה-help, נעשה גרפ על פרמננט.
ויש לנו כאן את האפשרות הזאתי run time to permanent, והיא אומרת שלקחת את הקונפיגורציה של ה-run time שנמצאת כרגע ולשמור אותה לתוך הפרמננט.
והתבצע, ועכשיו אחרי שאני אעשה ריבוט למכונה הקונפיגורציה הזאת תישמר. אם אני רוצה למחוק את הפורט פורוורד אז נכון עכשיו הוא יימחק עכשיו זה לא יעבוד אבל ברגע שהמכונה תעלה שוב הקונפיגורציה הזאת תחזור והפורט פורוורדינג יחזור לעבוד.
אם אני רוצה לשמור את המצב הזה שהקונפיגורציה איננה, אני צריך לעשות עוד פעם runtime to permanent.
מעולה, אז זאת בעצם דרך אחת לעשות port forwarding, אבל קיימת עוד דרך שהיא בעצם טיפה יותר מתקדמת ומאפשרת לנו להגדיר קצת יותר פרמטרים, ולדרך הזאתי קוראים reach rules, חוקים עשירים.
כשעשו את firewall.cmd רצו לעשות משהו שיהיה קצת יותר פשוט לקונפיגורציה מהIP tables אבל עדיין לתת מספיק רמות חופש למנהלי מערכת שיוכלו בעצם לשים את החוקים שהם רוצים ובואו נראה איזה פקודות יש לנו ב-reach rules נעשה help Grap-reach אז יש לנו List Rituals, Add Rituals, Remove Rituals ו-Query Rituals.
בואו נתחיל מה-List Rituals, נראה אם משהו כרגע מוגדר במערכת. List Rituals, וכרגע לא מוגדר שום דבר. אגב, דרך טובה בעצם להיזכר ולהתרענן בניסוח של ה-Rituals זה להסתכל על עמוד אמ"ן.
ואני לא בדיוק כרגע זוכר איך קוראים לעמוד של המאן פייג' של הריטרולס, אז אני אתחיל מהמאן פייג' של firewall.cmd, ובסופו של כל מאן פייג' יש מספר מאן פייג'ים אחרים שקשורים לאותו נושא, יש בעצם הפניות, אז אני מדפדף מדפדף מדפדף עד שאני מגיע לסוף, ואני רואה כאן יש לי see also,
וכאן יש לי firewall.dreach.language וזה בעצם המען שאני צריך אני אעשה מען על firewall.dreach.language וכאן אני בעצם רואה את הסטרקצ'ר שהסטרקצ'ר מתחיל ב-rule אחרי זה יכול להיות source, destination אחרי זה יש לי אפשרויות או שאני רוצה לעבוד עם סרוויס, פורט,
פרוטוקול, ICMP, מסקריט, פורט, פורוורד ו-source port אחרי זה מה אני רוצה לעשות עם זה לעשות לשים את זה בלוג לשלוח את זה לאאודיט די או לעשות עם זה אקספט ריג'קט דרופ או מארק כלומר אם אני ארצה לעשות פורט פורוורדינג וכמו שזה כתוב בתרגיל שלנו צריך לעשות בעצם רול סורס מאיזה רשת איזה פורט פורוורדינג
מאיזה פורט ולאיזה פורט. אז בואו נכתוב את הרול. אז אנחנו עושים firewall.tmd add ritual שווה מירכאות.
כאן אני כותב rule family שווה IPv4.