Danh mục sản phẩm
SNMP là gì? Cách hoạt động, MIB/OID và so sánh SNMPv1, v2c, v3
SNMP (Simple Network Management Protocol) là giao thức chuẩn của Internet dùng để thu thập thông tin và quản lý các thiết bị trong mạng như switch, router, firewall, access point, máy chủ, máy in. Nhờ SNMP, một hệ thống giám sát tập trung có thể biết thiết bị nào đang hoạt động, tải CPU/RAM bao nhiêu, cổng nào đang lỗi hay băng thông đang dùng ra sao.
⚡ SNMP trong 30 giây
- SNMP là gì: giao thức tầng ứng dụng để giám sát và quản lý thiết bị mạng từ xa.
- Cổng sử dụng: UDP 161 (truy vấn dữ liệu), UDP 162 (nhận Trap/Inform).
- Ba thành phần chính: NMS (trạm quản lý), Agent (chạy trên thiết bị), MIB (kho dữ liệu, định danh bằng OID).
- Các lệnh cơ bản: Get, GetNext, GetBulk, Set, Response, Trap, Inform.
- Phiên bản: v1 và v2c xác thực bằng community string (không mã hóa); v3 có xác thực và mã hóa, nên dùng cho môi trường production.
- Công cụ phổ biến: Zabbix, Prometheus + Grafana, Cacti, PRTG, LibreNMS.
SNMP dùng để làm gì?
Một hệ thống mạng doanh nghiệp có hàng chục đến hàng nghìn thiết bị. Không thể đăng nhập từng thiết bị để kiểm tra. SNMP giải quyết bằng cách cho phép hệ thống giám sát:
- Theo dõi tình trạng: thiết bị up/down, thời gian hoạt động (uptime), nhiệt độ, quạt, nguồn.
- Đo hiệu năng: CPU, RAM, băng thông từng cổng, số gói tin lỗi hoặc bị loại bỏ.
- Cảnh báo sớm: nhận Trap khi cổng rớt link, nguồn lỗi, đăng nhập thất bại.
- Quản lý cấu hình: dùng lệnh Set để thay đổi một số tham số (ít dùng, cần bảo mật chặt).
- Lập báo cáo và dự báo: lưu lịch sử để phân tích xu hướng, lên kế hoạch nâng cấp băng thông.
Các thành phần của SNMP
| Thành phần | Vai trò |
|---|---|
| NMS / SNMP Manager | Phần mềm giám sát chạy trên máy chủ, gửi truy vấn đến thiết bị và hiển thị kết quả (Zabbix, Cacti, PRTG...). |
| SNMP Agent | Tiến trình chạy ngay trên thiết bị mạng, thu thập số liệu nội bộ và trả lời Manager. |
| Managed Device | Thiết bị được giám sát: switch, router, firewall, AP, server, UPS... |
| MIB (Management Information Base) | "Từ điển" mô tả toàn bộ thông số mà thiết bị cung cấp, tổ chức dạng cây. |
| OID (Object Identifier) | Địa chỉ duy nhất của mỗi thông số trong cây MIB, ví dụ 1.3.6.1.2.1.1.5.0 là tên thiết bị (sysName). |
Một số OID tiêu chuẩn thường dùng:
| OID | Ý nghĩa |
|---|---|
1.3.6.1.2.1.1.3.0 |
sysUpTime – thời gian thiết bị đã chạy |
1.3.6.1.2.1.1.5.0 |
sysName – tên thiết bị |
1.3.6.1.2.1.31.1.1.1.6 |
ifHCInOctets – lưu lượng vào của cổng (bộ đếm 64-bit) |
Ngoài MIB chuẩn, mỗi hãng (Cisco, Fortinet, Ruckus...) cung cấp MIB riêng cho các thông số đặc thù như CPU, nhiệt độ, số phiên firewall.
SNMP hoạt động như thế nào?
SNMP chạy theo mô hình hỏi – đáp và có thêm cơ chế thiết bị tự báo:
- Polling (chủ động hỏi): NMS gửi yêu cầu
Getkèm OID tới Agent qua UDP 161. - Agent trả lời: Agent tra giá trị trong MIB và gửi gói
Responsevề NMS. - Lưu trữ và hiển thị: NMS lưu giá trị theo chu kỳ (ví dụ 1–5 phút), vẽ biểu đồ, so với ngưỡng cảnh báo.
- Trap/Inform (thiết bị chủ động báo): khi có sự kiện bất thường, Agent gửi ngay thông báo tới NMS qua UDP 162 mà không cần chờ chu kỳ polling kế tiếp.
Thực tế, hầu hết hệ thống dùng polling cho số liệu định kỳ (băng thông, CPU) và Trap cho sự kiện tức thời (rớt link, nguồn hỏng).
Các lệnh (PDU) SNMP cơ bản
| Lệnh | Chức năng |
|---|---|
| Get | Lấy giá trị của một OID cụ thể. |
| GetNext | Lấy OID kế tiếp trong cây MIB, dùng để duyệt (walk) qua bảng dữ liệu. |
| GetBulk | Lấy nhiều OID trong một yêu cầu, nhanh hơn GetNext (từ SNMPv2c). |
| Set | Ghi/thay đổi giá trị của một OID có quyền ghi. |
| Response | Gói trả lời của Agent cho các yêu cầu trên. |
| Trap | Agent tự gửi cảnh báo tới NMS, không cần xác nhận. |
| Inform | Giống Trap nhưng NMS phải xác nhận đã nhận, nên tin cậy hơn. |
So sánh SNMPv1, SNMPv2c và SNMPv3
| Tiêu chí | SNMPv1 | SNMPv2c | SNMPv3 |
|---|---|---|---|
| Xác thực | Community string | Community string | Tên người dùng + mật khẩu (MD5/SHA) |
| Mã hóa | Không | Không | Có (DES/AES) |
| GetBulk, Inform | Không | Có | Có |
| Bộ đếm 64-bit | Không | Có | Có |
| Kiểm soát truy cập | Cơ bản | Cơ bản | Theo người dùng/nhóm (VACM) |
| Mức an toàn | Thấp | Thấp | Cao |
| Khuyến nghị | Chỉ thiết bị rất cũ | Mạng quản trị nội bộ cô lập | Nên dùng cho production |
Lưu ý: SNMPv1 và v2c gửi community string dạng văn bản thuần, ai bắt được gói tin đều đọc được. Vì vậy cần giới hạn bằng ACL và tách mạng quản trị. SNMPv2c nhanh và dễ cấu hình hơn nhưng không có mã hóa như một số tài liệu cũ nhầm lẫn.
Cấu hình SNMP mẫu trên switch Cisco
📘 Muốn hiểu từng dòng lệnh dưới đây (ACL, community, Group/User SNMPv3), xem Bài 69: SNMP – giám sát thiết bị mạng từ xa trong khóa học CCNA của VNExperts.
SNMPv2c (chỉ cho phép máy chủ giám sát 192.168.0.100):
ip access-list standard ACL-SNMP permit 192.168.0.100 ! snmp-server community <community-string> RO ACL-SNMP
SNMPv3 (xác thực SHA, mã hóa AES-128):
snmp-server group VNE-GROUP v3 priv snmp-server user vne-monitor VNE-GROUP v3 auth sha <auth-password> priv aes 128 <priv-password>
Kiểm tra từ máy chủ giám sát bằng snmpwalk:
snmpwalk -v2c -c <community-string> 192.168.0.1 1.3.6.1.2.1.1
Thực hành bảo mật SNMP
- Ưu tiên SNMPv3 với mức
authPriv; chỉ dùng v2c khi thiết bị không hỗ trợ. - Không dùng community mặc định
public/private; đặt chuỗi dài, khó đoán. - Dùng quyền chỉ đọc (RO); chỉ bật quyền ghi (RW) khi thật sự cần.
- Giới hạn nguồn truy vấn bằng ACL chỉ cho IP của máy chủ giám sát.
- Tắt SNMP trên cổng hướng Internet; quản lý qua mạng management VLAN riêng.
- Tắt SNMPv1/v2c nếu đã chuyển hết sang v3.
Chọn công cụ giám sát SNMP nào?
| Công cụ | Điểm mạnh | Phù hợp với | Hướng dẫn |
|---|---|---|---|
| Zabbix | Tất cả trong một: auto-discovery, template, cảnh báo | Doanh nghiệp vừa và lớn | Hướng dẫn Zabbix |
| Prometheus + Grafana | Dashboard đẹp, linh hoạt, hợp hạ tầng container | Đội ngũ quen DevOps | Prometheus/Grafana qua Docker |
| Cacti | Biểu đồ băng thông RRDtool lâu đời, nhẹ | Theo dõi traffic, mạng nhỏ | Hướng dẫn Cacti |
Câu hỏi thường gặp
SNMP dùng cổng nào? UDP 161 cho truy vấn Get/Set và UDP 162 cho Trap/Inform.
SNMP là giao thức TCP hay UDP? Chủ yếu UDP, vì nhẹ và phù hợp việc truy vấn liên tục nhiều thiết bị.
SNMPv2c có mã hóa không? Không. SNMPv2c chỉ xác thực bằng community string dạng văn bản thuần. Muốn mã hóa phải dùng SNMPv3.
MIB và OID khác nhau thế nào? MIB là tập hợp mô tả các thông số của thiết bị; OID là địa chỉ số của từng thông số trong MIB.
Trap và Inform khác nhau thế nào? Cả hai đều là cảnh báo do thiết bị chủ động gửi. Trap không có xác nhận; Inform yêu cầu NMS xác nhận nên đáng tin cậy hơn.
Nên dùng SNMP hay Syslog? Hai giao thức bổ trợ nhau: SNMP cho số liệu định lượng (băng thông, CPU), Syslog cho nhật ký sự kiện chi tiết. Tìm hiểu thêm ở Bài 70: Syslog – facility và severity level.
SNMPv3 có những mức bảo mật nào? Ba mức: noAuthNoPriv (chỉ username), authNoPriv (xác thực MD5/SHA, không mã hóa) và authPriv (xác thực và mã hóa DES/AES, mức khuyến nghị). Cách tạo Group và User xem trong Bài 69 CCNA: SNMP.
Học SNMP theo lộ trình CCNA
Nếu bạn đang ôn thi CCNA 200-301, đọc tiếp Bài 69: SNMP – giám sát thiết bị mạng từ xa (có bài tập trắc nghiệm) và Bài 70: Syslog. Toàn bộ chương trình ở Mục lục khóa học CCNA.
Cần tư vấn thiết bị mạng và hệ thống giám sát?
VNExperts cung cấp switch, firewall, access point Cisco, Fortinet, Meraki, Juniper cùng dịch vụ tư vấn và triển khai hệ thống giám sát.
