การกำหนด หลายรายการ ที่อยู่โดยใช้เท่านั้น หนึ่ง iptables
คำสั่งโดยใช้ ! --แหล่งที่มา
เป็นไปไม่ได้
ที่อยู่สามารถเป็นได้ทั้งชื่อเครือข่าย ชื่อโฮสต์ (อาจเป็น
ความคิดที่ดีที่จะใช้ชื่อโฮสต์) ที่อยู่ IP เครือข่าย (ที่มี /mask) หรือที่อยู่ IP ธรรมดา
มาสก์สามารถเป็นได้ทั้งเน็ตเวิร์กมาสก์หรือตัวเลขธรรมดา
คุณสามารถลองเปลี่ยนชุดกฎเริ่มต้นจากอนุญาตให้ปล่อย สิ่งนี้จะช่วยให้คุณสามารถกำหนดตามสิ่งที่ควรอนุญาตเท่านั้น เช่น คล้ายกันดังนี้:
iptables -A INPUT -i lo -j ยอมรับ
iptables -A INPUT -m state --state ที่เกี่ยวข้อง ก่อตั้ง -j ACCEPT
... กฎอื่น ๆ ของคุณอยู่ที่นี่ ...
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -s 1.2.3.4,11.22.33.44 -j ยอมรับ
iptables -P อินพุตลดลง
ข้อดี/ความสวยงามคือชุดกฎดังกล่าวจะมีประสิทธิภาพมากกว่า เนื่องจากพิจารณาสถานะของบรรจุภัณฑ์ นอกจากนี้ยังช่วยให้ไวยากรณ์ที่ต้องการ Plus ยังเป็นวิธีที่แนะนำในการกำหนดกฎไฟร์วอลล์
อย่างไรก็ตาม โปรดทราบว่าหากใช้ไวยากรณ์ตามที่แสดงด้านบน: -s 1.2.3.4,11.22.33.44
ยังคงสร้างรายการตาราง 2 รายการตามที่คุณเห็นโดยใช้คำสั่ง iptables -L อินพุต
. นอกจากนี้ยังใช้งานไม่ได้กับ iptables ทุกเวอร์ชัน นอกจากนี้ โดยส่วนตัวแล้วฉันพบว่ามันยากที่จะอ่านหรือดูแลรักษา นั่นเป็นเหตุผลที่ฉันพยายามหลีกเลี่ยง แทนที่จะใช้ 2 คำสั่งแยกกัน
ในกรณีที่คุณต้องการลดจำนวนกฎ ให้ใกล้เคียงที่สุดที่คุณสามารถทำได้คือใช้ หนึ่ง iptables
กฎการใช้ --จับคู่
แทน --แหล่งที่มา
. อย่างไรก็ตาม คุณยังคงต้องกำหนดการจับคู่โดยใช้คำสั่งเพิ่มเติม วิธีการทำงานนี้ได้รับการอธิบายอย่างสมบูรณ์ในความคิดเห็นอื่นที่เกี่ยวข้องกับ ipset