ฉันกำลังใช้โซลูชันตรวจสอบเครือข่ายสำหรับเครือข่ายขนาดใหญ่มาก (ประมาณ 5,000 อุปกรณ์เครือข่าย) เราต้องการให้อุปกรณ์ทั้งหมดในเครือข่ายของเราส่ง SNMP traps ไปที่กล่องเดียว (ในทางเทคนิคนี่อาจจะเป็นกล่องคู่ HA) แล้วให้กล่องนั้นผ่านกับดัก SNMP ไปยังกล่องประมวลผลจริง สิ่งนี้จะช่วยให้เรามีกล่องด้านหลังหลายจุดที่จัดการกับกับดักและเพื่อกระจายโหลดระหว่างกล่องด้านหลังเหล่านั้น
คุณลักษณะสำคัญอย่างหนึ่งที่เราต้องการคือความสามารถในการส่งต่อกับดักไปยังกล่องเฉพาะโดยขึ้นอยู่กับแหล่งที่อยู่ของกับดัก ข้อเสนอแนะสำหรับวิธีที่ดีที่สุดในการจัดการกับเรื่องนี้?
ในสิ่งที่เราพิจารณาคือ:
- การใช้ snmptrapd เพื่อยอมรับกับดักและปล่อยให้มันผ่านไปยังสคริปต์ตัวจัดการ perl ที่เขียนขึ้นเองเพื่อเขียนกับดักใหม่และส่งไปยังกล่องประมวลผลที่เหมาะสม
- การใช้ซอฟต์แวร์สมดุลภาระบางอย่างที่ทำงานบนกล่อง Linux เพื่อจัดการสิ่งนี้ (มีปัญหาในการค้นหาโปรแกรมโหลดบาลานซ์จำนวนมากที่จะจัดการ UDP)
- การใช้เครื่องมือสร้างสมดุล (F5 เป็นต้น)
- การใช้ IPTables บนกล่อง Linux เพื่อจัดเส้นทางกับดัก SNMP ด้วย NATing
ขณะนี้เราได้ดำเนินการและกำลังทดสอบวิธีแก้ไขล่าสุดโดยมีกล่อง Linux พร้อม IPTables ที่กำหนดค่าให้รับกับดักและจากนั้นขึ้นอยู่กับที่อยู่ต้นทางของกับดักเขียนใหม่ด้วยปลายทาง nat (DNAT) เพื่อส่งแพ็กเก็ตไปยัง เซิร์ฟเวอร์ที่เหมาะสม ตัวอย่างเช่น:
# Range: 10.0.0.0/19 Site: abc01 Destination: foo01
iptables -t nat -A PREROUTING -p udp --dport 162 -s 10.0.0.0/19 -j DNAT --to-destination 10.1.2.3
# Range: 10.0.33.0/21 Site: abc01 Destination: foo01
iptables -t nat -A PREROUTING -p udp --dport 162 -s 10.0.33.0/21 -j DNAT --to-destination 10.1.2.3
# Range: 10.1.0.0/16 Site: xyz01 Destination: bar01
iptables -t nat -A PREROUTING -p udp --dport 162 -s 10.1.0.0/16 -j DNAT --to-destination 10.3.2.1
สิ่งนี้ควรทำงานด้วยประสิทธิภาพที่ยอดเยี่ยมสำหรับการจัดเส้นทางกับดักพื้นฐาน แต่มันทำให้เรา จำกัด อย่างสมบูรณ์ในสิ่งที่เราสามารถทำได้และกรองด้วย IPTables ดังนั้นเราจึงกังวลเกี่ยวกับความยืดหยุ่นสำหรับอนาคต
คุณสมบัติอื่นที่เราต้องการจริงๆแต่ไม่ใช่ "ต้องมี" ก็คือความสามารถในการทำซ้ำหรือจำลองแพ็กเก็ต UDP ความสามารถในการใช้กับดักที่เข้ามาหนึ่งเส้นทางและกำหนดเส้นทางไปยังหลาย ๆ ปลายทางจะมีประโยชน์
มีใครลองวิธีแก้ปัญหาที่เป็นไปได้ข้างต้นสำหรับกับดัก SNMP (หรือ Netflow, UDP ทั่วไป, ฯลฯ ) ภาระการโหลด? หรือใครสามารถคิดวิธีอื่นในการแก้ปัญหานี้ได้บ้าง