สร้างตารางใน iptables


8

ฉันต้องการสร้างตารางที่กำหนดเองโดยใช้ iptables เพื่อให้ฉันสามารถเพิ่มกลุ่มที่กำหนดเองของฉันในนั้น แต่ฉันไม่เห็นตัวเลือกใด ๆ ที่จะทำเช่นนั้น ฉันพยายามค้นหา แต่ไม่พบอะไรเลย กรุณาช่วย.

คำตอบ:


16

ฉันคิดว่าคุณกำลังมองหาการสร้างห่วงโซ่ไม่ใช่ตาราง

   -N, --new-chain chain
          Create a new user-defined chain by the given name.  There must be no target of that name already.

ตัวอย่าง ( -t filterโดยนัย):

iptables -N Services
iptables -A INPUT -j Services
iptables -A Services -m tcp -p tcp --dport 80 -j ACCEPT

ตารางสามารถเลือกได้ด้วย-tตัวเลือก:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

และถ้าคุณใช้iptables-restoreกฎสองข้อข้างต้นสามารถรวมกันได้:

*nat
-A POSTROUTING -j MASQUERADE
COMMIT

*filter
:Services -
-A INPUT -j Services
-A Services -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT

ขอบคุณสำหรับการตอบกลับ แต่ฉันต้องการสร้างตารางที่แตกต่างกันสำหรับเครือข่ายที่กำหนดเองของฉัน การสร้างตารางอื่นเป็นไปไม่ได้ใช่ไหม
Tarun

1
ทำไมคุณต้องการสร้างตารางที่แตกต่างกัน เพื่อให้สามารถจัดกลุ่มโซ่ของคุณ? ยกเว้นว่าคุณเขียนโมดูลเคอร์เนลของคุณเองคุณจะไม่สามารถแทรกเชนใหม่ได้ ดูภาพนี้เกี่ยวกับการไหลของแพ็คเก็ตเพื่อทำความเข้าใจว่าตารางต่าง ๆ ใช้สำหรับอะไร
Lekensteyn

ตกลงฉันไม่ทราบว่า ขอบคุณสำหรับความช่วยเหลือ
Tarun

5

การสร้างตารางเสร็จในระดับเคอร์เนล โดยปกติแล้วไม่จำเป็นต้องสร้างขึ้นมาใหม่เว้นแต่จะเพิ่มความสามารถ TCP / IP ของเคอร์เนล

สิ่งที่คุณต้องการทำคือสร้างสายโซ่ใหม่ในหนึ่งในตารางที่มีอยู่ซึ่งทำด้วย-Nแฟล็ก


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