firewalld มอบไฟร์วอลล์ที่ได้รับการจัดการแบบไดนามิกพร้อมการรองรับเครือข่ายหรือโซนไฟร์วอลล์เพื่อกำหนดระดับความน่าเชื่อถือของการเชื่อมต่อเครือข่ายหรืออินเทอร์เฟซ มีการรองรับการตั้งค่าไฟร์วอลล์ IPv4, IPv6 และอีเธอร์เน็ตบริดจ์ และการแยกตัวเลือกรันไทม์และการกำหนดค่าถาวร นอกจากนี้ยังมีอินเทอร์เฟซสำหรับบริการหรือแอปพลิเคชันเพื่อเพิ่ม ip*tables และกฎ ebtables โดยตรง
หากต้องการตรวจสอบแหล่งเก็บข้อมูล คุณสามารถใช้:
โคลนคอมไพล์ https://github.com/firewalld/firewalld.git
สิ่งนี้จะสร้างสำเนาของที่เก็บในเครื่อง
หลักปฏิบัติของผู้ร่วมให้ข้อมูลอยู่ใน CODE_OF_CONDUCT.md
Firewalld ใช้ GNU gettext เพื่อรองรับการแปล การแปลสามารถทำได้โดยใช้อินสแตนซ์ Weblate ของ Fedora การแปลจะถูกรวมเข้ากับพื้นที่เก็บข้อมูลไฟร์วอลล์หลักเป็นระยะ
สิ่งเหล่านี้คือการพึ่งพารันไทม์:
linux >= 5.3 python >= 3.8 python3-dbus python3-gobject python3-nftables >= 0.9.4
หมายเหตุ : ไม่ รองรับ python2
การขึ้นต่อกันเหล่านี้อาจปรับปรุงการทำงานของไฟร์วอลล์ แต่ไม่จำเป็น
ebtables ipset iptables polkit python3-capng (libcap-ng-python3)
นอกเหนือจากการพึ่งพารันไทม์แล้ว ยังมีสิ่งอื่นๆ ที่จำเป็นในการสร้างจากแหล่งที่มา:
desktop-file-utils: /usr/bin/desktop-file-install gettext intltool glib2: /usr/bin/glib-compile-schemas glib2-devel: /usr/share/aclocal/gsettings.m4 systemd-units pytest
เพื่อให้สามารถสร้างหน้าคนและเอกสารประกอบจากไฟล์ docbook:
docbook-style-xsl libxslt
ใช้คาถา autoconf/automake ตามปกติเพื่อสร้าง makefiles
./autogen.sh ./กำหนดค่า
คุณสามารถใช้ล่ามหลามเฉพาะได้โดยส่งตัวแปร PYTHON ชุดทดสอบก็ใช้สิ่งนี้เช่นกัน
./configure PYTHON=/path/to/python3
ใช้
ทำ
เพื่อสร้างเอกสารและอัพเดตไฟล์ po
ใช้
ทำการตรวจสอบ
เพื่อดำเนินการชุดทดสอบ การทดสอบจะดำเนินการภายในเนมสเปซเครือข่าย และไม่รบกวนการทำงานของไฟร์วอลล์ของโฮสต์ นอกจากนี้ยังสามารถทำงานแบบขนานโดยส่งแฟล็กเพื่อทดสอบอัตโนมัติ
ตรวจสอบ TESTSUITEFLAGS="-j4"
ชุดทดสอบยังใช้คำหลักเพื่อให้สามารถเรียกใช้ชุดย่อยของการทดสอบที่ใช้พื้นที่เฉพาะได้ ตัวอย่างเช่น:
ตรวจสอบ TESTSUITEFLAGS="-k rich -j4"
เอาท์พุท:
24: การตรวจสอบกฎที่หลากหลายตกลง 25: กฎที่สมบูรณ์มีลำดับความสำคัญตกลง 26: กฎรวยไม่ดีตกลง 53: การตรวจสอบกฎที่สมบูรณ์โอเค 23: กฎรวย ดี ตกลง 55: กฎรวยไม่ดีโอเค 74: ลบพอร์ตไปข้างหน้าหลังจากโหลดซ้ำแล้วตกลง
คุณจะได้รับรายการการทดสอบและคำสำคัญ
ทำให้ -C src/tests ตรวจสอบ TESTSUITEFLAGS="-l"
หรือแค่คีย์เวิร์ด
make -C src/tests ตรวจสอบ TESTSUITEFLAGS="-l" |awk '/^[[:space:]]*[[:digit:]]+/{getline; พิมพ์ $0}' |tr ' ' 'n' |sort |uniq
มีการทดสอบบูรณาการ ปัจจุบันนี้รวมถึง NetworkManager สิ่งเหล่านี้อาจเป็น อันตราย ต่อโฮสต์ เรียกใช้งานใน VM หรือคอนเทนเนอร์แบบใช้แล้วทิ้ง
ทำการตรวจสอบบูรณาการ
นอกจากนี้ยังมีเป้าหมายคอนเทนเนอร์ตรวจสอบที่จะรันชุดทดสอบภายในคอนเทนเนอร์ podman/docker ต่างๆ สิ่งนี้มีประโยชน์สำหรับการครอบคลุมการแจกแจงหลายรายการ นอกจากนี้ยังทำการทดสอบที่อาจเป็นอันตรายต่อโฮสต์ เช่น การทดสอบการรวมระบบ
สร้างคอนเทนเนอร์ตรวจสอบ TESTSUITEFLAGS="-j4"
เนื่องจากเป็นส่วนหนึ่งของเป้าหมายการสร้าง dist
อิมเมจคอนเทนเนอร์ OCI จะถูกสร้างขึ้น สิ่งนี้ถูกแจกจ่ายควบคู่ไปกับ tarball รุ่นปกติ สามารถใช้เพื่อเรียกใช้ไฟร์วอลล์จากคอนเทนเนอร์ได้ ไฟร์วอลล์แบบคอนเทนเนอร์จะ ไม่ ทำงานร่วมกับโฮสต์ (เช่น podman, libvirt, NetworkManager)
หากต้องการโหลดอิมเมจคอนเทนเนอร์ลงในสภาพแวดล้อมของคุณด้วยตนเอง:
โหลด podman -i .../path/to/firewalld-oci-<ver>.tar
วิธีดึงภาพจาก quay.io:
พ็อดแมนดึง quay.io/firewalld/firewalld:<ver>
โดยที่ <ver>
เป็นทางเลือก เวอร์ชันล่าสุดจะถูกใช้หากละเว้น
ในการเริ่มต้น daemon/คอนเทนเนอร์:
podman run -d -- โฮสต์เครือข่าย -- สิทธิพิเศษ --ตั้งชื่อ my-firewalld firewalld
การกำหนดค่าของไฟร์วอลล์จะอยู่ภายในคอนเทนเนอร์ ดังนั้นผู้ใช้อาจต้องการให้ podman commit
อิมเมจเป็นครั้งคราว
การใช้ CLI ของไฟร์วอลล์ควรทำผ่าน podman exec หลังจากที่ daemon/container เริ่มทำงานแล้ว:
podman ดำเนินการไฟร์วอลล์ของฉันไฟร์วอลล์ cmd ...
สามารถใช้คอนเทนเนอร์อิมเมจเดียวกันเพื่อผสานรวมกับ NetworkManager, podman, libvirt ที่ทำงานอยู่ของโฮสต์ ฯลฯ ซึ่งกำหนดให้โฮสต์ต้องมีนโยบาย dbus สำหรับไฟร์วอลล์
สามารถรับนโยบาย dbus ได้จากแผนผังซอร์สโค้ดของ firewalld ที่ตำแหน่ง config/FirewallD.conf
cp config/FirewallD.conf /usr/share/dbus-1/system.d/FirewallD.conf
เมื่อนโยบาย dbus พร้อมใช้งานแล้ว คอนเทนเนอร์ก็สามารถเริ่มต้นได้ดังนี้:
podman ทำงาน -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket --โฮสต์เครือข่าย --สิทธิพิเศษ --ตั้งชื่อ my-firewalld firewalld ไฟร์วอลล์ --nofork --nopid
สิ่งที่เพิ่มเข้ามาเพียงอย่างเดียวคือ: การเมานต์ระดับเสียง, CMD ที่ชัดเจน
วิธีการบางอย่างสามารถใช้เพื่อจัดเก็บไฟล์การกำหนดค่าของไฟร์วอลล์บนโฮสต์ได้
podman ทำงาน -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket -v /etc/firewalld:/etc/firewalld --โฮสต์เครือข่าย --สิทธิพิเศษ --ตั้งชื่อ my-firewalld firewalld ไฟร์วอลล์ --nofork --nopid
สำหรับการแจกจ่ายแบบ Fedora และ RHEL จะมีไฟล์ spec ใน repo ต้นทางชื่อ firewalld.spec สิ่งนี้ควรจะใช้ได้กับ Fedora เวอร์ชัน >= 16 และ RHEL >= 7
หน้าแรก: http://firewalld.org
รายงานข้อผิดพลาด: https://github.com/firewalld/firewalld/issues
เบราว์เซอร์ repo Git: https://github.com/firewalld/firewalld
ที่เก็บ Git: https://github.com/firewalld/firewalld.git
เอกสารประกอบ: http://firewalld.org/documentation/
สำหรับการใช้งาน: https://lists.fedorahosted.org/archives/list/[email protected]/
สำหรับการพัฒนา: https://lists.fedorahosted.org/archives/list/[email protected]/
ไดเรกทอรี | เนื้อหา |
---|---|
กำหนดค่า/ | ไฟล์การกำหนดค่า |
กำหนดค่า/icmptypes/ | ประเภท ICMP ที่กำหนดไว้ล่วงหน้า |
กำหนดค่า/บริการ/ | บริการที่กำหนดไว้ล่วงหน้า |
กำหนดค่า/xmlschema/ | XML Schema ตรวจสอบไฟล์กำหนดค่า |
กำหนดค่า/โซน/ | โซนที่กำหนดไว้ล่วงหน้า |
กำหนดค่า/ipsets/ | ipsets ที่กำหนดไว้ล่วงหน้า |
หมอ/ | เอกสารประกอบ |
หมอ/คน/ | ไดเร็กทอรีฐานสำหรับหน้าคน |
หมอ/คน/man1/ | หน้าคน(1) |
หมอ/คน/man5/ | หน้าคน(5) |
ปอ/ | การแปล |
เชลล์เสร็จสมบูรณ์/ | ไดเร็กทอรีฐานสำหรับสคริปต์การเติมข้อความอัตโนมัติ |
เอสอาร์ซี/ | ต้นทาง |
src/ไฟร์วอลล์/ | นำเข้าแผนผังสำหรับบริการและแอปพลิเคชันทั้งหมด |
src/ไอคอน/ | ไอคอนในขนาด: 16, 22, 24, 32, 48 และปรับขนาดได้ |
src/การทดสอบ/ | ชุดทดสอบ |