Tôi đang triển khai giải pháp giám sát mạng cho một mạng rất lớn (khoảng 5000 thiết bị mạng). Chúng tôi muốn tất cả các thiết bị trên mạng của mình gửi bẫy SNMP vào một hộp duy nhất (về mặt kỹ thuật, đây có thể sẽ là một cặp hộp HA) và sau đó hộp đó chuyển các bẫy SNMP sang các hộp xử lý thực. Điều này sẽ cho phép chúng ta có nhiều hộp xử lý bẫy và phân phối tải trong số các hộp phía sau đó.
Một tính năng chính mà chúng ta cần là khả năng chuyển tiếp các bẫy đến một hộp cụ thể tùy thuộc vào địa chỉ nguồn của bẫy. Bất kỳ đề xuất cho cách tốt nhất để xử lý này?
Trong số những điều chúng tôi đã xem xét là:
- Sử dụng snmptrapd để chấp nhận các bẫy và chuyển nó sang một tập lệnh xử lý perl được viết tùy chỉnh để viết lại bẫy và gửi nó vào hộp xử lý thích hợp
- Sử dụng một số loại phần mềm cân bằng tải chạy trên hộp Linux để xử lý việc này (gặp khó khăn khi tìm nhiều chương trình cân bằng tải sẽ xử lý UDP)
- Sử dụng Thiết bị cân bằng tải (F5, v.v.)
- Sử dụng IPTables trên hộp Linux để định tuyến bẫy SNMP với NATing
Hiện tại chúng tôi đã triển khai và đang thử nghiệm giải pháp cuối cùng, với hộp Linux có IPTables được cấu hình để nhận bẫy và sau đó tùy thuộc vào địa chỉ nguồn của bẫy, hãy viết lại bằng đích đến (DNAT) để gói được gửi đến máy chủ phù hợp. Ví dụ:
# 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
Điều này sẽ hoạt động với hiệu quả tuyệt vời cho định tuyến bẫy cơ bản, nhưng nó khiến chúng tôi hoàn toàn bị giới hạn ở những gì chúng tôi có thể gia công và lọc bằng IPTables, vì vậy chúng tôi lo ngại về tính linh hoạt cho tương lai.
Một tính năng khác mà chúng tôi thực sự thích, nhưng không hoàn toàn là "phải có" là khả năng sao chép hoặc nhân bản các gói UDP. Có thể lấy một cái bẫy đến và định tuyến nó đến nhiều điểm sẽ rất hữu ích.
Có ai đã thử bất kỳ giải pháp khả thi nào ở trên cho bẫy SNMP (hoặc Netflow, UDP chung, v.v.) không? Hoặc bất cứ ai có thể nghĩ ra bất kỳ giải pháp thay thế nào khác để giải quyết điều này?