วิธีการแก้ไขกฎ iptables ผ่านการแก้ไขไฟล์แทนที่จะโต้ตอบผ่าน command line?


27

ในประวัติศาสตร์ฉันจะแก้ไขไฟล์จากนั้น
รีบูตเซิร์ฟเวอร์ทั้งหมด

ฉันจะโคลนบรรทัดที่มีพอร์ต 22 เปิด
เปลี่ยนเป็น 80 แล้วบันทึกไฟล์ .. และรีบูต
ระบบทั้งหมดดังนั้น iptables จะเริ่มต้นด้วยพอร์ต 80 เปิด

แต่ในครั้งล่าสุด .. ไฟล์นั้นไม่มีอยู่
ใน centos 6.5 OS ของฉันอีกต่อไป

คำตอบส่วนใหญ่ใน google แนะนำให้ฉันต้องโต้ตอบกับ iptables
เพื่อเปิดใช้งานและปิดการใช้งานพอร์ต

เป็นไปได้หรือไม่ที่จะไม่โต้ตอบกับ iptables แต่
เพียงแค่เห็นทุกสิ่งที่อยู่ข้างหน้าของคุณเป็นไฟล์เดียวที่สามารถแก้ไขได้?

คำตอบ:


47

ใน CentOS คุณมีไฟล์/etc/sysconfig/iptablesหากคุณไม่มีไฟล์นั้นคุณสามารถสร้างมันได้ง่ายๆโดยใช้iptables-saveการถ่ายโอนข้อมูลกฎปัจจุบันที่ตั้งค่าไว้ในไฟล์

iptables-save > /etc/sysconfig/iptables

ในการโหลดไฟล์ที่คุณไม่จำเป็นต้องรีสตาร์ทเครื่องคุณสามารถใช้ iptables-restore

iptables-restore < /etc/sysconfig/iptables

สิ่งนี้ทำงานเป็น File creation and restauration แต่หลังจากรีบูตทุกอย่างกลับสู่สถานะเริ่มต้น! ฉันพยายามเพิ่มสคริปต์ที่สามารถรันได้เมื่อเริ่มต้นเพื่อใช้สิ่งนี้ แต่ไม่มีหวัง!
Yazid Erman

1
iptables-restoreเป็นสิ่งที่ดีสำหรับสคริปต์เริ่มระบบปฏิบัติการ หากคุณกำลังทำการเปลี่ยนแปลงบางอย่างและต้องการให้พวกเขาใช้ด้วยตนเองจากคอนโซลมีคำสั่งที่ปลอดภัยกว่าiptables-apply- หลังจากหมดเวลามันจะย้อนกลับการเปลี่ยนแปลงทั้งหมดกลับคืนมาหากคุณเผลอตัดตัวเองออกจากเซิร์ฟเวอร์ของคุณ
Messa

iptables-applyเห็นได้ชัดว่าไม่ใช่ส่วนหนึ่งของ RedHat Enterprise 7.4: - /
Levon

1

ฉันคิดว่ามันควรจะเป็น "บริการ iptables บันทึก" เพื่อบันทึกใน / etc / sysconfig / iptables จากนั้น "บริการ iptables เริ่มต้นใหม่" เพื่อให้แน่ใจว่ากฎที่สร้างขึ้นยังคงอยู่

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