Score:1

ฉันจำเป็นต้องย้ายจาก iptables ไปยัง nftables หรือไม่

ธง ru

ฉันมีกฎ iptables ดังต่อไปนี้

การส่งต่อแพ็กเก็ตจาก 1.2.3.4 และ 5.6.7.8 (ต้นทาง) ที่มาถึงพอร์ต 10,000 ไปยังเซิร์ฟเวอร์ถุงเท้าภายนอก 5 บน 10.10.10.10:1080 IP ของเซิร์ฟเวอร์คือ 50.50.50.50

สคีมานี้ทำงานได้ดีหากจำนวนแหล่งที่มาไม่สูง และในขณะเดียวกันปริมาณถุงเท้าภายนอก 5 ก็ไม่สูงเช่นกัน เมื่อฉันมีแหล่งที่มา 50 แห่งและถุงเท้าภายนอก 30k - iptables ติดขัดและไม่มีการส่งต่อแพ็กเก็ต ดังนั้นฉันจึงสงสัยว่าประสิทธิภาพของ iptables มีขีดจำกัด ใครช่วยบอกฉันทีว่า nftables มีประสิทธิภาพมากกว่าหรือไม่ และถ้าใช่ - จะแปลกฎของฉันเป็น nftables ได้อย่างไร

*แนท
: ยอมรับก่อนกำหนด [1:40]
: ยอมรับอินพุต [1:40]
:เอาต์พุตยอมรับ [0:0]
:หลังยอมรับ [0:0]

-A PREROUTING -s 1.2.3.4,5.6.7.8 -p tcp -m tcp --dport 10,000 -j DNAT --to-destination 10.10.10.10:1080
-A POSTROUTING -d 10.10.10.10/32 -p tcp -m tcp --dport 1080 -j SNAT --to-source 50.50.50.50

ให้สัญญา

*กรอง
: ยอมรับอินพุต [15:1012]
:ส่งต่อ ยอมรับ [26:1348]
: ยอมรับเอาต์พุต [9:932]
ให้สัญญา
Score:1
ธง cl
A.B

ต่อไปนี้เป็นคำอธิบายคร่าวๆ เกี่ยวกับสิ่งที่อาจผิดพลาดได้

  • ก่อนที่ iptables กฎ:

    X (X=2 ในตัวอย่างเริ่มต้นของ OP) ที่อยู่ IP ต้นทางที่มีพอร์ตต้นทางที่เป็นไปได้ 2^16 พอร์ตและที่อยู่และพอร์ตปลายทาง 1 รายการ:

    X * 2^16 การเชื่อมต่อที่เป็นไปได้

  • หลังจาก iptables กฎ: แหล่งที่มา X ถูกบีบอัดเป็นแหล่งเดียว

    1 * 2^16 การเชื่อมต่อที่เป็นไปได้

ไม่สามารถเชื่อมต่อ X * 2^16 ให้พอดีกับการเชื่อมต่อ 2^16 เท่านั้น การชนกันของพอร์ตต้นทางจะเริ่มเกิดขึ้นบ่อยขึ้นเรื่อยๆ และแก้ไขได้โดยการเปลี่ยนพอร์ตต้นทาง แต่การค้นหาพอร์ตต้นทางฟรีที่ไม่ชนกับโฟลว์อื่นจะกลายเป็นเรื่องยากขึ้นเรื่อยๆ: ประสิทธิภาพการทำงานที่ลดลงเริ่มเพิ่มขึ้น แพ็กเก็ตที่ถูกทิ้งอาจเริ่มเกิดขึ้น

สิ่งนี้จะเกิดขึ้นแตกต่างกันหรือไม่ถ้า iptables ถูกแทนที่ด้วย nftable? ไม่ ในทั้งสองกรณี พวกเขาไม่ใช่ส่วนที่แก้ไขการชนกัน การแก้ไขนี้ทำในแบ็กเอนด์ Netfilter ทั่วไปเดียวกัน: เดอะ nf_nat โมดูลเคอร์เนลซึ่งอาจวนซ้ำหลายครั้งหากจำเป็นและแม้แต่เลิกใช้ (เช่น: ทิ้งไฟล์ new คอนแทรค รายการและแพ็กเก็ตที่ทริกเกอร์การสร้างเบื้องต้น)

สาเหตุคือ NAT ต้นทางเสร็จสิ้นเมื่อมีปลายทางเดียวที่เป็นไปได้ (เซิร์ฟเวอร์): ควรหลีกเลี่ยง

วิธีแก้ไขที่เป็นไปได้:

  • อย่าใช้ NAT ต้นทาง การกำหนดเส้นทางที่เพียงพอ (แม้ว่าจะต้องใช้หลายบ้านหรืออุโมงค์) วางไว้เพื่อให้ 10.10.10.10 ไม่จำเป็นต้องเห็นแหล่งเดียว 50.50.50.50 ควรทำแทน คำถามไม่ได้อธิบายว่าเหตุใดจึงต้องใช้ SNAT ดังนั้นจึงไม่สามารถให้รายละเอียดเพิ่มเติมได้

  • มีที่อยู่ต้นทางหลายแหล่งเพื่อโหลดบาลานซ์และกระจายแรงดันพอร์ตต้นทาง ซึ่งสามารถทำได้ด้วย iptables ใช้ สถิติ โมดูลโหลดสมดุลหลาย สแนท เป้าหมาย

เปลี่ยนเป็น nftable มักจะเป็นการปรับปรุง แต่สำหรับกรณีนี้ ดูเหมือนจะไม่ใช่วิธีแก้ปัญหา

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา