firewalld vs iptables - เมื่อใดควรใช้ [ปิด]


29

TL; DR บนเซิร์ฟเวอร์ CentOS ใหม่ที่ติดตั้งฉันควรใช้ firewalld หรือปิดการใช้งานและกลับไปใช้อีก/etc/sysconfig/iptablesหรือไม่


firewalld และ iptables รองรับวัตถุประสงค์ที่คล้ายกัน ทั้งสองทำการกรองแพ็คเก็ต - แต่ถ้าฉันเข้าใจอย่างถูกต้อง firewalld ไม่ได้ล้างกฎทั้งหมดที่ตั้งค่าทุกครั้งที่มีการเปลี่ยนแปลง

ฉันรู้มากเกี่ยวกับ iptables แต่น้อยมากเกี่ยวกับ firewalld

บน Fedora และ RHEL / CentOS - การกำหนดค่า iptables แบบดั้งเดิมนั้นเสร็จสิ้น/etc/sysconfig/iptablesแล้ว ด้วย firewalld การกำหนดค่าจะอยู่ใน/etc/firewalld/และเป็นชุดของไฟล์ XML Fedora ดูเหมือนว่าจะเคลื่อนไปสู่ไฟร์วอลล์แทนการกำหนดค่าดั้งเดิมนี้ ฉันเข้าใจว่า firewalld ใช้ iptables ภายใต้ประทุน แต่มันก็มีอินเตอร์เฟสบรรทัดคำสั่งของตัวเองและรูปแบบไฟล์การกำหนดค่าดังกล่าวข้างต้น - ซึ่งเป็นสิ่งที่ฉันอ้างถึงในแง่ของการใช้หนึ่งเทียบกับอื่น ๆ

มีการกำหนดค่า / สถานการณ์เฉพาะที่แต่ละอย่างเหมาะสมที่สุดหรือไม่? ในกรณีของ NetworkMangaer เทียบกับเครือข่ายปรากฏว่าแม้ว่า NetworkManager อาจมีวัตถุประสงค์เพื่อแทนที่สคริปต์เครือข่ายเนื่องจากขาดการสนับสนุนบริดจ์เครือข่ายและสิ่งอื่น ๆ อีกมากมายหลายคนไม่ได้ใช้มันในการตั้งค่าเซิร์ฟเวอร์ที่ ทั้งหมด ดังนั้นดูเหมือนจะเป็นแนวคิดทั่วไปของ "ใช้ NetworkManager ถ้าคุณอยู่บน Linux desktop/guiและเครือข่ายหากคุณใช้เซิร์ฟเวอร์" นั่นเป็นเพียงสิ่งที่ฉันเลือกจากการอ่านบทความต่าง ๆ - แต่อย่างน้อยก็ให้คำแนะนำเกี่ยวกับสิ่งที่ใช้งานได้สำหรับสิ่งเหล่านั้น - อย่างน้อยพวกเขายืนอยู่ในสถานะปัจจุบันของพวกเขา

แต่ฉันได้ทำสิ่งเดียวกันกับ firewalld และเพิ่งปิดและใช้ iptables แทน (ฉันมักจะติดตั้ง linux บนเซิร์ฟเวอร์ไม่ใช่สำหรับใช้บนเดสก์ท็อป) firewalld ใช้แทน iptables ได้หรือไม่และฉันควรจะใช้มันกับระบบใหม่ทั้งหมดหรือไม่?


10
Firewalld ใช้ iptables ภายใต้
user9517 รองรับ GoFundMonica

แน่นอนและนั่นทำให้รู้สึก แต่เห็นได้ชัดว่ามีความแตกต่างอย่างมากระหว่างวิธีที่คุณจัดเก็บการตั้งค่าของคุณและเครื่องมือที่คุณใช้ - iptables vs firewall-cmd, / etc / sysconfig / iptables vs /etc/firewalld/.../*.xml ฉันจะแก้ไขคำถาม เล็กน้อยเพื่อให้ชัดเจน
bgp

ไม่จำเป็นต้องเป็น "ล้าง ruleset ทั้งเวลามีโอกาสที่จะทำทุก" iptablesกับ มันเป็นเพียงเครื่องมือส่วนหน้าถ้ามันล้างตารางที่เป็นเพราะคุณบอกให้
gparent

เพื่อชี้แจงฉันหมายถึง "service iptables restart" ทำให้กฎถูกลบและเพิ่มใหม่ (แม้ว่าจะยังไม่ส่งผลกระทบต่อสถานะการเชื่อมต่อซึ่งเป็นสิ่งที่ดี) แน่นอนคุณสามารถเรียกใช้คำสั่ง iptables จากบรรทัดคำสั่งเพื่อแก้ไขกฎแต่ละข้อ - แต่โดยทั่วไปฉันพยายามเก็บทุกอย่างไว้ใน / etc / sysconfig / iptables และ ใช้คำสั่ง "บริการ" เพื่อยึดติดกับการประชุมที่แนะนำโดยเครื่องมือที่จัดทำโดย distro
bgp

คำตอบ:


12

ในฐานะที่firewalldจะขึ้นอยู่กับการกำหนดค่า XML, บางคนอาจจะคิดว่ามันเป็นเรื่องง่ายที่จะกำหนดค่าไฟร์วอลล์ในลักษณะการเขียนโปรแกรม สิ่งนี้สามารถทำได้ด้วยiptablesเช่นกัน แต่ด้วยวิธีที่แตกต่างซึ่งไม่ใช่ XML หากคุณมีความคุ้นเคยกับวิธีiptablesการทำงานของเหตุผลที่คุณจะโยกย้ายทั้งหมดกำหนดค่าของคุณไปfirewalld?

หากคุณพิจารณาiptablesกฎไฟร์วอลล์ที่ใหญ่ที่สุดคุณคิดว่าคุณจะได้รับประโยชน์จากแง่มุมต่าง ๆ ของไดนามิกบ่อยแค่ไหนfirewalld? ในกรณีส่วนใหญ่ประสิทธิภาพของiptablesไม่เคยเป็นปัญหา ในกรณีส่วนใหญ่ที่ประสิทธิภาพการทำงานของiptablesปัญหาสามารถแก้ไขได้โดยใช้ipsetชุด IP ต้นทาง / ปลายทาง

มันเป็นข้อถกเถียงที่แตกต่างกันว่าคุณควรใช้ NetworkManager หรือไม่


3
ประสิทธิภาพของการทำงานiptablesไม่เกี่ยวข้องในกรณีนี้เนื่องจากความเชื่องช้าจะเกิดขึ้นไม่ว่าจะมีการแทรกกฎผ่านfirewalldหรือโดยตรงด้วยiptablesเครื่องมือก็ตาม
gparent
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.