ทำไมกฎ iptables ของฉันไม่ทำงาน


9

ฉันมีสองอินเตอร์เฟซบน VPS ของฉันและeth0 eth0:0ฉันต้องการบล็อกแพ็กเก็ตขาเข้าบนพอร์ต 80 บนeth0:0โดยใช้ iptables ฉันลองสิ่งนี้ แต่มันไม่ทำงาน:

iptables -A INPUT -i "eth0:0" -p tcp --destination-port 80 -j DROP

ถ้าฉันเปลี่ยนeth0:0ไปeth0มันทำงานอย่างถูกต้อง อะไรคือปัญหา?


4
ฉันแก้ไขคำถามด้วยวิธีนี้: ส่วนต่อประสานของฉันเป็นเสมือนดังนั้น iptables จึงไม่สามารถเข้าถึงได้ดังนั้นฉันจึงปิดกั้นส่วนต่อประสานโดยส่วนต่อประสานที่ไม่ได้ใช้ชื่ออินเทอร์เฟซของฉันคำสั่ง: iptables - INPUT -p tcp --dport 80 -d {ETH0: IP ของ 0} -j ปฏิเสธ
sinoohe

คำตอบ:


6

เรื่องสั้น: วิธีที่คุณทำถูกต้อง (ตามความคิดเห็นของคุณสำหรับคำถาม)

เรื่องยาว: บน Linux อุปกรณ์ 'เครือข่าย' ที่เรียกว่าfoo:barเป็นนามแฝงของ 'foo' ที่ใช้เมื่อเราต้องการกำหนดการตั้งค่าเครือข่ายหลายรายการให้กับอินเทอร์เฟซ 'foo' เช่นมีการตอบสนองบนเครือข่ายย่อยหลายสาย

นี่เป็นวิธีการทำ kludgy และไม่สอดคล้องกับการบู๊ต สำหรับ IPv6 ที่อยู่ทั้งหมดที่กำหนดให้กับอินเทอร์เฟซ eth0 จะถูกแสดงพร้อมกันภายใต้รายการ eth0 มีวิธีการที่ทันสมัยกว่าในการทำสิ่งนี้ (ผ่านip addrคำสั่ง)

คุณสามารถมองเห็นอินเตอร์เฟสนามแฝงได้เนื่องจากมีเครื่องหมายโคลอน:อยู่ในชื่อส่วนทางด้านซ้ายของโคลอนคือชื่ออินเตอร์เฟสที่มีอยู่และอินเตอร์เฟส stanza เมื่อคุณifconfigสั้นมาก HWaddrยังควรจะเหมือนกันกับที่ของอินเตอร์เฟซ 'พ่อแม่' /proc/net/devพวกเขายังจะไม่ได้ระบุไว้ใน หากคุณกำลังจะบอกว่าip addr, จะแสดงให้เห็นเป็นที่อยู่ที่สองของอินเตอร์เฟซeth0:0 eth0(มองหาเส้นเยื้องที่เริ่มต้นด้วยinet)

ชื่อแทนและผู้ปกครองของพวกเขาแบ่งปันการตั้งค่าและฟิลด์จำนวนมากเนื่องจากพวกเขาแบ่งปันเลเยอร์ทางกายภาพ เคอร์เนลไม่ถือว่าเป็นอินเทอร์เฟซที่แยกจากกันโดยสิ้นเชิง สำหรับหนึ่งทราฟฟิกจะปรากฏขึ้นบนอินเตอร์เฟสหลักไม่ใช่นามแฝง คุณอาจสังเกตว่านามแฝงไม่มีแม้แต่ตัวนับแพ็คเก็ต / ไบต์!

หากคุณต้องการดักจับทราฟฟิกไฟร์วอลล์ ฯลฯ ในอินเทอร์เฟซนามแฝงคุณต้องใช้พาเรนต์แทน เนื่องจากความแตกต่างเพียงอย่างเดียวที่นามแฝงมีจากพาเรนต์คือการตั้งค่า IPv4 วิธีเดียวที่จะจับคู่ทราฟฟิกบนนามแฝงคือใช้การตั้งค่า IP เหล่านั้น ด้วยiptablesคุณจับคู่ที่อยู่ IPv4 ของนามแฝงเหมือนกับที่คุณทำในความคิดเห็นกับคำตอบของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.