สร้างเชนใหม่ซึ่งจะยอมรับแพ็คเก็ต TCP และ UDP และข้ามไปยังเชนนั้นจากกฎ IP ที่ได้รับอนุญาตแต่ละพอร์ต:
iptables -N ACCEPT_TCP_UDP
iptables -A ACCEPT_TCP_UDP -p tcp -j ACCEPT
iptables -A ACCEPT_TCP_UDP -p udp -j ACCEPT
iptables -A zone_lan_forward -d 1.2.3.0/24 -j ACCEPT_TCP_UDP
สิ่งนี้จะเพิ่มโอเวอร์เฮดของสองบรรทัดเพิ่มเติม แต่แบ่งครึ่งของกฎ TCP / UDP
ฉันจะไม่ละทิ้ง-p
ข้อโต้แย้งเพราะคุณไม่เพียง แต่เปิดไฟร์วอลล์สำหรับ ICMP แต่ยังรวมถึงโปรโตคอลอื่น ๆ จากหน้า man ของ iptables เมื่อ-p
:
โปรโตคอลที่ระบุสามารถเป็นหนึ่งใน tcp, udp, icmp หรือทั้งหมดหรืออาจเป็นค่าตัวเลขแทนหนึ่งในโปรโตคอลเหล่านี้หรือที่แตกต่างกัน อนุญาตให้ใช้ชื่อโปรโตคอลจาก / etc / protocol ได้
คุณอาจไม่ได้ฟังโพรโทคอลใด ๆ ยกเว้น TCP, UDP และ ICMP ในตอนนี้แต่ใครจะรู้ว่าอนาคตอาจมีอะไรบ้าง มันจะเป็นการปฏิบัติที่ไม่ดีที่จะเปิดไฟร์วอลล์ทิ้งไว้โดยไม่จำเป็น
คำเตือน: คำสั่ง iptables อยู่ด้านบนของหัวของฉัน; ฉันไม่สามารถเข้าใช้กล่องทดสอบ ATM ได้