คำสั่งนี้ระบุว่า "หากการรับส่งข้อมูลเครือข่ายมาจากที่อยู่ X IP แต่ไม่ได้อยู่ในอินเทอร์เฟซ Y ให้ปล่อยทิ้ง" โปรดทราบว่าตารางนี้อยู่ในตารางดิบ ซึ่งเป็นตารางแรกและเร็วที่สุดเมื่อทราฟฟิกเครือข่ายเข้าสู่ IPtables
iptables -t raw -A PREROUTING -s ${X} ! -i ${Y} -j DROP
คุณควรมีการเปลี่ยนแปลงของกฎนี้ในทิศทางตรงกันข้าม:
iptables -t raw -A PREROUTING ! -s ${X} -i ${Y} -j DROP
คุณสามารถบันทึกการละเมิดกฎเหล่านี้ได้โดยใช้คำสั่งทั้งสี่นี้:
iptables -t raw -A PREROUTING -s ${X} ! -i ${Y} -j LOG --log-prefix "ผิด IP: "
iptables -t raw -A PREROUTING -s ${X} ! -i ${Y} -j DROP
iptables -t raw -A PREROUTING ! -s ${X} -i ${Y} -j LOG --log-คำนำหน้า "อินเทอร์เฟซไม่ถูกต้อง: "
iptables -t raw -A PREROUTING ! -s ${X} -i ${Y} -j DROP
แก้ไข: แก้ไขหลังจากที่ฉันได้รับคำอธิบายเพิ่มเติมในความคิดเห็น
กฎนี้ระบุว่า "หากการรับส่งข้อมูลมาจากที่อยู่ IP X และไม่ได้กำหนดไว้สำหรับที่อยู่ IP Z ให้ยกเลิกการรับส่งข้อมูล"
iptables -t raw -A PREROUTING -s ${X} ! -d ${Z} -j ลดลง
กฎนี้ระบุว่า "หากการรับส่งข้อมูลเข้ามาที่อินเทอร์เฟซ Y และไม่ได้กำหนดไว้สำหรับที่อยู่ IP Z ให้ยกเลิกการรับส่งข้อมูล"
iptables -t raw -A PREROUTING -i ${Y} ! -d ${Z} -j ลดลง
นี่คือการรวมกันของกฎสองข้อที่ระบุว่า "หากการรับส่งข้อมูลเข้ามาจากที่อยู่ IP X และเข้ามาที่อินเทอร์เฟซ Y และไม่ได้กำหนดไว้สำหรับที่อยู่ IP Z ให้ยกเลิกการรับส่งข้อมูล"
iptables -t raw -A PREROUTING -s ${X} -i ${Y} ! -d ${Z} -j ลดลง
เพียงทราบ: ฉันชอบที่จะใช้ ดิบ
ตารางถ้ากฎไม่ต้องการการติดตามการเชื่อมต่อ เดอะ ดิบ
ตารางไม่ติดตามการเชื่อมต่อใดๆ ในกรณีนี้ กฎเหล่านี้ไม่จำเป็นต้องมีการติดตามการเชื่อมต่อ การติดตามการเชื่อมต่อเป็นสิ่งจำเป็นสำหรับ แนท
ตารางและสำหรับ คอนแทรค
โมดูล (-m คอนโทรล
). เดอะ ดิบ
ตารางมีประสิทธิภาพมากกว่าตารางอื่นๆ เนื่องจากการติดตามการเชื่อมต่อใช้ทรัพยากรมากกว่าบนเซิร์ฟเวอร์ของคุณอย่างมาก อย่างไรก็ตาม ตารางตัวกรองนั้นใช้งานได้ดี และถ้ามันง่ายกว่าและเหมาะสมกว่าสำหรับคุณ ให้ใช้ตารางตัวกรอง กฎจะเหมือนกันทุกประการ แต่เพียง -t ดิบ
จะกลายเป็น -t ตัวกรอง
เมื่อแพ็กเก็ตเข้าสู่ IPtables แพ็กเก็ตจะข้ามผ่านตารางดังนี้:
raw --> mangle (ที่การติดตามการเชื่อมต่อเริ่มต้นขึ้น) --> nat --> filter