Mirror Port ผ่าน iptables


11

ฉันมีเซิร์ฟเวอร์รูทเฉพาะของ Linux (Debian 7.5) โดยมีแขกตั้งค่าจำนวนมาก แขกคืออินสแตนซ์ของ KVM และรับการเข้าถึงเครือข่ายผ่านบริดจ์ - utils (NAT, IP ภายในใช้โฮสต์เป็นเกตเวย์)

เช่นหนึ่ง KVM เป็นแขกของฉัน WebServer และมันสามารถเข้าถึงได้ผ่านทางโฮสต์ IP ด้วยวิธีนี้:

    iptables -t nat -I PREROUTING -p tcp -d 148.251.Y.Z 
--dport 80 -j DNAT --to-destination  192.168.100.X:80 

ฉันทำเช่นเดียวกันกับบริการอื่น ๆ ทำให้พวกเขาอยู่ในตัวเอง NATed และโดดเดี่ยว

แต่แขกคนหนึ่งควรจะเป็นเครือข่ายมอนิเตอร์และจะทำการตรวจสอบเครือข่าย (เช่น IDS) โดยปกติในการตั้งค่าที่ไม่ใช่เสมือนฉันจะใช้ VACLs หรือพอร์ต SPAN เพื่อสะท้อนปริมาณการใช้งาน แน่นอนภายในโฮสต์นี้ฉันไม่สามารถทำสิ่งนี้ได้อย่างง่ายดาย ( เพราะฉันไม่ต้องการใช้วิธีการสลับเสมือนที่ซับซ้อน)

  1. ฉันสามารถรับมิเรอร์พอร์ตโดยใช้ iptables และเปลี่ยนเส้นทางการรับส่งข้อมูลและการเข้าออกทั้งหมดไปยังผู้เยี่ยมชม KVM หนึ่งคนได้หรือไม่ vnet1แขกผู้เข้าพักทั้งหมดมีอินเตอร์เฟซทุ่มเทเช่น
  2. เป็นไปได้หรือไม่ที่จะเลือกการรับส่งข้อมูลตามโปรโตคอล (เช่นกฎการส่งต่อ VACL ซึ่งคว้า HTTP เท่านั้น)
  3. แขกจำเป็นต้องมีการตั้งค่าอินเทอร์เฟซเฉพาะเมื่อฉันต้องการเก็บไว้vnet1เป็นส่วนต่อประสานการจัดการ (ด้วย IP)

ฉันยินดีที่จะชี้ไปในทิศทางที่ถูกต้อง:

iptables         1.4.14-3.1
linux            3.2.55
bridge-utils     1.5-6

ขอบคุณมาก :)

คำตอบ:


14

สิ่งที่เกี่ยวกับการจัดเตรียมโมดูลการกำหนดเส้นทางล่วงหน้าเซิร์ฟเวอร์ราก Mangle กฎตารางโดยสิ่งที่ชอบ:

iptables -I PREROUTING -t mangle -j ROUTE --gw 192.168.200.1 --tee

จากนั้นการต่อเติมโมดูล post-Routing Mangle กฎตารางตามสิ่งที่ต้องการ

iptables -I POSTROUTING -t mangle -j ROUTE --gw 192.168.200.1 --tee 

โดยที่ 192.168.200.1 เป็นมอนิเตอร์เครือข่าย

กฎเหล่านี้จะสะท้อนการรับส่งข้อมูลขาเข้าและขาออกทั้งหมดที่ส่งต่อไปยัง 192.168.200.1

แก้ไข:

mangle table specific
  -j ROUTE            (explicitly route packets, valid at PREROUTING)
      options:
      --iface <iface_name>
      --ifindex <iface_idx> 

แต่คุณสามารถใช้สิ่งที่ชอบ

iptables -I PREROUTING –t mangle –i eth0 –j TEE –gateway 192.168.200.1

และ

iptables -I POSTROUTING –t mangle –j TEE –gateway 192.168.200.1

ที่TEEตอนนี้เป็นเป้าหมายซึ่งที่PREROUTINGต้องใช้ตัวเลือกมากขึ้นเช่น IE -i, -pฯลฯ


NB ให้กับผู้อ่านโดยใช้ SE รุ่นใหม่ของiptablesที่ไม่ได้มีROUTEเป้าหมายที่ดูการตอบกลับของฉันที่unix.stackexchange.com/a/174619/31228
Jonathan Ben-Avraham
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.