คุณควรจะดูเป็น ipset
.
จากเว็บไซต์อย่างเป็นทางการ:
Ipset อาจเป็นเครื่องมือที่เหมาะสมสำหรับคุณ [...] ในการจัดเก็บที่อยู่ IP หรือหมายเลขพอร์ตหลายรายการและจับคู่กับการรวบรวมโดย iptables
[...] (Ipset) อาจจัดเก็บที่อยู่ IP, เครือข่าย, หมายเลขพอร์ต (TCP/UDP), ที่อยู่ MAC, ชื่ออินเทอร์เฟซ หรือรวมกันในลักษณะที่รับประกันความเร็วฟ้าผ่าเมื่อจับคู่รายการกับชุด
หากต้องการใช้งาน คุณต้องสร้างไฟล์ ipset
, เพิ่ม IP
และสร้าง iptables
กฎเพื่อให้ตรงกับ ipset
:
ipset สร้างแฮชบัญชีดำ: ip แฮชขนาด 1400000
ipset เพิ่มบัญชีดำ <IP-ADDRESS>
iptables -I INPUT -m set --match-set บัญชีดำ src -j DROP
สามารถดูตัวอย่างการใช้งานจริงได้ ที่นี่. สังเกตว่าใช้ ipset กู้คืน
แทนที่จะผ่านแต่ละ ไอพี
วนซ้ำเพราะมันเร็วกว่ามาก
หากรายชื่อของคุณ IP
มีการซ้อนทับกัน คุณอาจต้องการประมวลผลล่วงหน้าเพื่อแปลงเป็น ช่วง IP
ที่เป็นไปได้. ที่นี่ เป็นตัวอย่างเครื่องมือในการทำ มันจะไม่ทำให้คุณแสดงได้ดีขึ้นด้วย ipset
แต่จะลดขนาดรายการของคุณ
ในแง่ของการแสดงนั้นรวดเร็วและสเกลมากโดยไม่มีการลงโทษ ในฐานะที่เป็น คลาวด์แฟลร์
บล็อกของกล่าวถึงมีวิธีระดับต่ำที่เร็วกว่า; แต่มันซับซ้อนกว่ามากและเพิ่มเพียงไม่กี่ไบต์ต่อวินาที ซึ่งไม่คุ้มกับความพยายาม เว้นแต่คุณจะมีขนาดและความทะเยอทะยานของผู้ให้บริการระบบคลาวด์