![ปลั๊กอิน MoonLight Silverlight สำหรับ Linux เปิดตัวตัวอย่างครั้งที่ 7 ยังใช้งานได้ดี](/f/92d9d806d0834be521ac7d5820c35780.png?imgmax=800?width=100&height=100)
ไฟร์วอลล์ มีวิธีการกำหนดค่ากฎไฟร์วอลล์แบบไดนามิกใน Linux ที่สามารถใช้งานได้ทันทีโดยไม่ต้อง ความจำเป็นในการรีสตาร์ทไฟร์วอลล์และยังสนับสนุนแนวคิด D-BUS และโซนที่ทำให้การกำหนดค่า ง่าย.
ไฟร์วอลล์ แทนที่ไฟร์วอลล์ของ Fedora เก่า (Fedora 18 เป็นต้นไป) กลไก เรเอล/CentOS 7 และการแจกแจงล่าสุดอื่น ๆ อาศัยกลไกใหม่นี้ แรงจูงใจหลักประการหนึ่งในการแนะนำระบบไฟร์วอลล์ใหม่คือ ไฟร์วอลล์เก่าจำเป็นต้องรีสตาร์ทหลังจากทำการเปลี่ยนแปลงแต่ละครั้ง ซึ่งจะทำลายการเชื่อมต่อที่ใช้งานอยู่ทั้งหมด ดังที่กล่าวไว้ข้างต้นว่าไฟร์วอลล์ล่าสุดรองรับโซนไดนามิกซึ่งมีประโยชน์ในการกำหนดค่า ชุดโซนและกฎต่างๆ สำหรับสำนักงานหรือเครือข่ายในบ้านของคุณผ่านบรรทัดคำสั่งหรือโดยใช้ GUI กระบวนการ.
ในขั้นต้น แนวคิดของ firewalld นั้นดูยากต่อการกำหนดค่า แต่บริการและโซนช่วยให้ง่ายขึ้นโดยการรักษาทั้งสองอย่างไว้ด้วยกันตามที่กล่าวถึงในบทความนี้
ในบทความก่อนหน้านี้ที่เราได้เห็นวิธีการเล่นกับ firewalld และโซนของมัน ตอนนี้ที่นี่ ในนี้ บทความ เราจะเห็นกฎไฟร์วอลล์ที่มีประโยชน์บางอย่างในการกำหนดค่าระบบ Linux ปัจจุบันของคุณโดยใช้บรรทัดคำสั่ง ทาง.
ตัวอย่างทั้งหมดที่กล่าวถึงในบทความนี้ได้รับการทดสอบจริงบน CentOS 7 การกระจายและยังทำงานกับการแจกแจง RHEL และ Fedora
ก่อนที่จะใช้กฎของไฟร์วอลล์ ตรวจสอบให้แน่ใจก่อนว่าบริการไฟร์วอลล์เปิดใช้งานและทำงานอยู่หรือไม่
# ไฟร์วอลล์สถานะ systemctl
ภาพด้านบนแสดงว่า firewalld ทำงานและทำงานอยู่ ถึงเวลาตรวจสอบโซนที่ใช้งานอยู่และบริการที่ใช้งานอยู่ทั้งหมด
# firewall-cmd --get-active-zones # firewall-cmd --get-services.
ถ้าคุณไม่คุ้นเคยกับ command line คุณสามารถจัดการ firewalld จาก GUI ได้ สำหรับ คุณต้องมีแพ็คเกจ GUI ติดตั้งอยู่บนระบบ หากไม่ติดตั้งโดยใช้วิธีต่อไปนี้ สั่งการ.
# yum ติดตั้ง firewalld firewall-config.js
ดังที่ได้กล่าวไว้ข้างต้น บทความนี้เขียนขึ้นเป็นพิเศษสำหรับผู้ชื่นชอบบรรทัดคำสั่ง และตัวอย่างทั้งหมดที่เราจะกล่าวถึงนั้นอิงตามบรรทัดคำสั่งเท่านั้น ไม่มีทาง GUI..ขออภัย…..
ก่อนดำเนินการต่อไป ขั้นแรกตรวจสอบให้แน่ใจว่าโซนสาธารณะใดที่คุณจะกำหนดค่าไฟร์วอลล์ Linux และแสดงรายการบริการที่ใช้งานอยู่ พอร์ต กฎที่หลากหลายสำหรับโซนสาธารณะโดยใช้คำสั่งต่อไปนี้
# firewall-cmd --zone=public --list-all.
ในภาพด้านบน ยังไม่มีการเพิ่มกฎการใช้งานใด ๆ เรามาดูวิธีการเพิ่ม ลบ และแก้ไขกฎในส่วนที่เหลือของบทความนี้กัน….
ในการเปิดพอร์ตสำหรับโซนสาธารณะ ให้ใช้คำสั่งต่อไปนี้ ตัวอย่างเช่น คำสั่งต่อไปนี้จะเปิดพอร์ต 80 สำหรับโซนสาธารณะ
# firewall-cmd --permanent --zone=public --add-port=80/tcp.
ในทำนองเดียวกัน หากต้องการลบพอร์ตที่เพิ่มเข้ามา ให้ใช้ปุ่ม '-ลบ' ตัวเลือกด้วยคำสั่ง firewalld ดังแสดงด้านล่าง
# firewall-cmd --zone=public --remove-port=80/tcp
หลังจากเพิ่มหรือลบพอร์ตเฉพาะ ตรวจสอบให้แน่ใจว่าพอร์ตถูกเพิ่มหรือลบโดยใช้ '–list-ports' ตัวเลือก.
# firewall-cmd --zone=public --list-ports.
โดยค่าเริ่มต้น firewalld มาพร้อมกับบริการที่กำหนดไว้ล่วงหน้า หากคุณต้องการเพิ่มรายการบริการเฉพาะ คุณต้องสร้าง xml ใหม่ ไฟล์ที่มีบริการทั้งหมดที่รวมอยู่ในไฟล์หรืออื่น ๆ คุณยังสามารถกำหนดหรือลบแต่ละบริการด้วยตนเองโดยดำเนินการดังต่อไปนี้ คำสั่ง
ตัวอย่างเช่น คำสั่งต่อไปนี้จะช่วยให้คุณเพิ่มหรือลบบริการบางอย่างได้ เช่นเดียวกับที่เราทำกับ FTP ในตัวอย่างนี้
# firewall-cmd --zone=public --add-service=ftp. # firewall-cmd --zone=public --remove-service=ftp. # firewall-cmd --zone=public --list-services.
หากคุณต้องการบล็อกการเชื่อมต่อขาเข้าหรือขาออก คุณต้องใช้ 'ตื่นตระหนก' โหมดเพื่อบล็อกคำขอดังกล่าว ตัวอย่างเช่น กฎต่อไปนี้จะยกเลิกการเชื่อมต่อที่มีอยู่บนระบบ
# firewall-cmd --panic-on.
หลังจากเปิดใช้งานโหมดตื่นตระหนกแล้ว ให้ลอง ping โดเมนใดก็ได้ (พูด google.com) และตรวจสอบว่าโหมดตื่นตระหนกเป็น บน โดยใช้ '–query-ตื่นตระหนก'ตัวเลือกตามรายการด้านล่าง
# ปิง google.com -c 1 # firewall-cmd --query-panic
คุณเห็นในภาพด้านบนหรือไม่ คำถามตื่นตระหนกบอกว่า “โฮสต์ที่ไม่รู้จัก google.com“. ตอนนี้ลองปิดการใช้งานโหมดตื่นตระหนกแล้ว ping และตรวจสอบอีกครั้ง
# firewall-cmd --query-panic # firewall-cmd --panic-off. # ปิง google.com -c 1
คราวนี้จะมีการร้องขอ ping จาก google.com..