מסנן רשת כפי שכולנו יודעים שזו חומת אש בלינוקס. Firewalld הוא שד דינאמי לניהול חומות אש עם תמיכה באזורי רשת. בגרסה הקודמת, RHEL & CentOS 6 השתמשנו iptables כדמון למסגרת סינון מנות. ב RHEL/CentOS 7/8, פדורה ו openSUSE - ממשק rong> iptables מוחלף על ידי firewallld.
מומלץ להתחיל להשתמש Firewalld במקום iptables כיוון שהדבר עלול להיפסק בעתיד. למרות זאת, iptables עדיין נתמכים וניתן להתקין אותם עם פקודת יאם. אנחנו לא יכולים לשמור Firewalld ו iptables שניהם באותה מערכת שעלולה להוביל לקונפליקט.
ב iptables, היינו מגדירים כ- שרשראות קלט, יציאה וקדימה אבל כאן Firewalld, המושג משתמש אזורים. כברירת מחדל, ישנם אזורים שונים הזמינים ב- firewalld, עליהם יידונו במאמר זה.
האזור הבסיסי שהם כמו אזור ציבורי ו אזור פרטי. כדי לגרום לדברים להסתדר עם אזורים אלה, עלינו להוסיף את הממשק עם תמיכת האזור שצוין ואז נוכל להוסיף את השירותים ל- firewalld.
כברירת מחדל, ישנם שירותים רבים הזמינים, אחת התכונות הטובות ביותר של firewallld כלומר, הוא מגיע עם שירותים מוגדרים מראש ואנו יכולים לקחת את השירותים האלה כדוגמה להוספת השירותים שלנו על ידי העתקתם.
Firewalld עובד מצוין עם IPv4, IPv6, ו גשרי אתרנט גַם. אנו יכולים לקבל תצורה נפרדת של זמן ריצה וקבוע ב- firewalld.
בואו נתחיל כיצד לעבוד עם אזורים וליצור שירותים משלנו ושימוש הרבה יותר מרגש ב- firewalld.
מערכת הפעלה: CentOS Linux מהדורה 7.0.1406 (ליבה) כתובת ה - IP: 192.168.0.55. שם מארח: server1.tecmintlocal.com.
1.Firewalld החבילה מותקנת כברירת מחדל ב- RHEL/CentOS 7/8, פדורה ו openSUSE. אם לא, תוכל להתקין אותו באמצעות הדברים הבאים פקודת יאם.
# yum התקן firewalld -y.
2. לאחר firewallld החבילה הותקנה, הגיע הזמן לוודא אם iptables השירות פועל או לא, אם אתה פועל, עליך לעצור ולמסוך (לא להשתמש יותר) בשירות iptables עם הפקודות שלהלן.
# systemctl סטטוס iptables. # systemctl stop iptables. # systemctl מסכת iptables.
3. לפני שאני ניגש לתצורת firewallld, אני רוצה לדון בכל אזורים. כברירת מחדל, ישנם כמה אזורים זמינים. עלינו להקצות את הממשק לאזור. אזור מגדיר שהאזור שאפשר לסמוך עליו או לדחות אותו ברמת הממשק כדי לקבל חיבור. אזור יכול להכיל שירותים ויציאות.
כאן נתאר את כל האזורים הזמינים ב- Firewalld.
כעת יש לך מושג טוב יותר לגבי אזורים, כעת בואו לגלות אזורים זמינים, אזורי ברירת מחדל, ופרט את כל האזורים באמצעות הפקודות הבאות.
# firewall-cmd --get-zones.
# firewall-cmd-get-default-zone.
# firewall-cmd-רשימה כל האזורים.
הערה: הפלט של הפקודה לעיל לא יתאים לדף אחד מכיוון שהוא יפרט כל אזורים כמו בלוק, dmz, ירידה, חיצוני, בית, פנימי, ציבורי, מהימן ועבודה. אם באזורים יש כללי עשיר, שירותים או יציאות מופעלים יופיעו גם עם מידע האזור המתאים.
4. אם ברצונך להגדיר את אזור ברירת המחדל כפנימי, חיצוני, ירידה, עבודה או כל אזור אחר, תוכל להשתמש בפקודה שלהלן כדי להגדיר את אזור ברירת המחדל. כאן אנו משתמשים ב "פְּנִימִיאזור כברירת מחדל.
# firewall-cmd-set-default-zone = פנימי.
5. לאחר הגדרת האזור, אמת את אזור ברירת המחדל באמצעות הפקודה שלהלן.
# firewall-cmd-get-default-zone.
6. הנה הממשק שלנו enp0s3, אם נצטרך לבדוק את האזור שבו הממשק תחום נוכל להשתמש בפקודה שלהלן.
# firewall-cmd-get-zone-of-interface = enp0s3.
7. תכונה מעניינת נוספת של firewalld היא 'icmptype'הוא אחד מסוגי ה- icmp הנתמכים על ידי firewalld. כדי לקבל את רשימת סוגי ה- icmp הנתמכים אנו יכולים להשתמש בפקודה שלהלן.
# firewall-cmd-get-icmptypes.
8. שירותים הם מערכת של כללים עם יציאות ואפשרויות המשמשות את Firewalld. שירותים שמופעלים ייטענו אוטומטית כאשר Firewalld השירות פועל.
כברירת מחדל, שירותים רבים זמינים, כדי לקבל את רשימת כל השירותים הזמינים, השתמש בפקודה הבאה.
# firewall-cmd --get-services.
9. כדי לקבל את רשימת כל שירותי ברירת המחדל הזמינים, עבור לספרייה הבאה, כאן תקבל את רשימת השירותים.
# cd/usr/lib/firewalld/services/
10. כדי ליצור שירות משלך, עליך להגדיר אותו במיקום הבא. לדוגמה, כאן אני רוצה להוסיף שירות עבור RTMP נמל 1935, ראשית צור עותק של כל אחד מהשירותים.
# cd/etc/firewalld/services/ # cp /usr/lib/firewalld/services/ssh.xml/etc/firewalld/services/
ולאחר מכן, נווט אל המיקום בו הועתק קובץ השירות שלנו, שנה אחר כך את שם הקובץ 'ssh.xml' ל 'rtmp.xml'כפי שמוצג בתמונה למטה.
# cd/etc/firewalld/services/
11. לאחר מכן פתח וערוך את הקובץ בשם כותרת, תיאור, פרוטוקול ומספר יציאה, שעלינו להשתמש בו עבור שירות RTMP כפי שמוצג בתמונה למטה.
12. כדי להפעיל את השינויים האלה, הפעל מחדש את שירות firewalld או טען מחדש את ההגדרות.
# firewall-cmd-טען מחדש.
13. כדי לאשר אם השירות נוסף או לא, הפעל את הפקודה שלהלן כדי לקבל רשימת שירותים זמינים.
# firewall-cmd --get-services.
14. כאן אנו הולכים לראות כיצד לנהל את חומת האש באמצעות פקודת firewall-cmd. כדי לדעת מה המצב הנוכחי של חומת האש וכל האזורים הפעילים, הקלד את הפקודה הבאה.
# firewall-cmd --state. # firewall-cmd-get-active-zones.
15. כדי לקבל את האזור הציבורי לממשק enp0s3, זהו ממשק ברירת המחדל, המוגדר ב- /etc/firewalld/firewalld.conf קובץ בשם DefaultZone = ציבורי.
כדי להציג את כל השירותים הזמינים באזור ממשק ברירת מחדל זה.
# firewall-cmd-get-service.
16. בדוגמאות שלעיל, ראינו כיצד ליצור שירותים משלנו על ידי יצירת rtmp שירות, כאן נראה כיצד להוסיף את rtmp שירות גם לאזור.
# firewall-cmd --add-service = rtmp.
17. כדי להסיר אזור נוסף, הקלד.
# firewall-cmd --zone = public --remove-service = rtmp.
השלב לעיל היה תקופה זמנית בלבד. כדי להפוך אותו לקבוע עלינו להריץ את הפקודה שלהלן עם אפשרות -קבוע.
# firewall-cmd --add-service = rtmp --permanent. # firewall-cmd-טען מחדש.
18. הגדר כללים לטווח מקורות הרשת ופתח כל אחת מהיציאות. לדוגמה, אם תרצה לפתוח טווח רשת אמור '192.168.0.0/24'ונמל'1935'השתמש בפקודות הבאות.
# firewall-cmd-permanent-add-source = 192.168.0.0/24. # firewall-cmd-permanent-add-port = 1935/tcp.
הקפד לטעון מחדש את שירות firewalld לאחר הוספה או הסרה של שירותים או יציאות.
# firewall-cmd-טען מחדש # firewall-cmd-רשימה הכול.
19. אם אני רוצה לאפשר את השירותים כגון http, https, vnc-server, PostgreSQL, אתה משתמש בכללים הבאים. ראשית, הוסף את הכלל והפך אותו לקבוע וטעון מחדש את הכללים ובדוק את הסטטוס.
# firewall-cmd --add-rich-rule 'rule family = "ipv4" כתובת מקור = "192.168.0.0/24" שם שירות = "http" קבל' # משפחת firewall-cmd-add-rich-rule 'משפחה = מקור "ipv4" address = "192.168.0.0/24" שם שירות = "http" קבל '-קבוע # firewall-cmd --add-rich-rule' rule family = "ipv4" כתובת מקור = "192.168.0.0/24" שם שירות = "https" לְקַבֵּל' # firewall-cmd --add-rich-rule 'rule family = "ipv4" כתובת מקור = "192.168.0.0/24" שם שירות = "https" קבל' --permanent # firewall-cmd --add-rich-rule 'rule family = "ipv4" כתובת מקור = "192.168.0.0/24" שם שירות = "vnc-server" לְקַבֵּל' # firewall-cmd --add-rich-rule 'rule family = "ipv4" כתובת מקור = "192.168.0.0/24" שם שירות = "vnc-server" accept' --permanent # firewall-cmd --add-rich-rule 'rule family = "ipv4" כתובת מקור = "192.168.0.0/24" שם שירות = "postgresql" לְקַבֵּל' # firewall-cmd --add-rich-rule 'rule family = "ipv4" כתובת מקור = "192.168.0.0/24" שם שירות = "postgresql" קבל'-קבוע.
עכשיו, טווח הרשת 192.168.0.0/24 יכול להשתמש בשירות הנ"ל מהשרת שלי. האפשרות -קבוע ניתן להשתמש בכל כלל, אך עלינו להגדיר את הכלל ולבדוק עם הגישה של הלקוח לאחר מכן עלינו להפוך אותו לקבוע.
20. לאחר הוספת הכללים לעיל, אל תשכח לטעון מחדש את כללי חומת האש ולפרט את הכללים באמצעות:
# firewall-cmd-טען מחדש. # firewall-cmd-רשימה הכול.
למידע נוסף על Firewalld.
# איש פיירוולד.
זהו, ראינו כיצד להגדיר מסנן רשת באמצעות Firewalld ב RHEL/CentOS ו פדורה.
Net-filter הוא המסגרת של חומת אש לכל הפצת לינוקס. חזרה לכל RHEL ו CentOS מהדורות, השתמשנו בהן iptables אבל בגרסאות חדשות יותר, הם הציגו Firewalld. קל יותר להבין ולהשתמש ב- firewalld. מקווה שנהנית מהכתיבה.