บนเราเตอร์ของคุณถ้าคุณสามารถเรียกใช้ iptables ให้ปล่อยสิ่งใด ๆ ที่เข้ามาในส่วนต่อประสานภายนอกออกแล้วเพิ่มข้อยกเว้น:
ตัวอย่างง่ายๆของสิ่งที่คุณอธิบายโดยสันนิษฐานว่า eth1 เป็นอุปกรณ์ที่อยู่ภายนอก:
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -j DROP
iptables -I FORWARD -i eth1 -s 123.123.123.123 -j ACCEPT
iptables -I FORWARD -i eth1 -s 123.124.0.0/16 -j ACCEPT
บรรทัดหมายถึงสิ่งต่อไปนี้:
- อนุญาตให้ทราฟฟิกยืนยันแล้วเช่นตอบกลับข้อความค้นหาของคุณเอง
- วางทุกอย่าง
- อนุญาต IP
123.123.123.123
- อนุญาตเครือข่ายย่อยทั้งหมด
123.124.xxx.xxx
จดบันทึกสวิตช์ไปที่-I
แทนที่จะเป็น-A
บนบรรทัดที่ 3 และ 4 ซึ่งหมายความว่าควรวางกฎเป็นอันดับแรกในรายการแทนการต่อท้าย
หากคุณต้องการรันสิ่งนี้บนเครื่อง linux เองมันก็ใช้ได้เหมือนกัน แต่คุณต้องแทนที่FORWARD
ด้วยINPUT
และคุณสามารถข้ามอินเทอร์เฟซการป้อนข้อมูลได้ นอกจากนี้คุณอาจต้องการเพิ่มACCEPT
กฎ192.168.1.0/24
เนื่องจาก LAN ของคุณน่าเชื่อถือที่สุด
สำหรับข้อมูลเพิ่มเติมดูบทช่วยสอนนี้หรือคู่มือ