Nghiên cứu Triển khai hệ thống giám sát mạng cho công ty CP đầu tư phát triển công nghệ Trí Nam Mục tiêu chọn đề tài Tìm hiểu về hệ thống giám sát mạng. Sử dụng được giao thức SNMP để giám sát các thiết bị. Tìm hiểu được phần mềm Zabbix. Đưa ra được mô hình triển khai cho hệ thống mạng công ty. Triển khai được hệ thống giám sát mạng doanh nghiệp Trí Nam
Trang 1MỤC LỤC
DANH MỤC HÌNH VẼ 4
DANH MỤC BẢNG BIỂU 7
DANH MỤC TỪ VIẾT TẮT 8
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 9
1.1 Lý do chọn đề tài 9
1.2 Mục tiêu chọn đề tài 9
1.3 Giới hạn và phạm vi của đề tài 10
1.4 Hướng tiếp cận đề tài 10
1.5 Kết quả dự kiến đạt được 10
1.6 Ý nghĩa lý luận và thực tiễn 10
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 11
2.1 Tổng quan về hệ thống giám sát mạng 11
2.1.1 Giới thiệu hệ thống giám sát mạng 11
2.1.2 Vai trò quan trọng của hệ thống giám sát mạng 11
2.1.3 Chức năng của hệ thống giám sát mạng 12
2.1.4 Phân loại các mạng của hệ thống giám sát 13
2.1.5 Chiến lược của hệ thống giám sát mạng 13
2.1.6 Công cụ của hệ thống giám sát mạng 14
2.1.7 Yêu cầu chi phí cho hệ thống giám sát 14
2.2 Tổng quan về giao thức SNMP 15
2.2.1 Giới thiệu về quản lý hệ thống mạng 15
2.2.2 Hai phương thức giám sát Poll và Alert 16
2.2.3 Giới thiệu giao thức SNMP 19
2.2.4 Ưu điểm của thiết kế SNMP 20
2.2.5 Các phiên bản của SNMP 21
2.2.6 Điều hành SNMP 21
Trang 22.2.7 Các phương thức trong SNMP 25
2.2.8 Các cơ chế bảo mật cho SNMP 29
2.2.9 Cấu trúc bản tin SNMP 31
2.2.10 Các lệnh cơ bản trong SNMP 32
2.2.11 Hoạt động của SNMP 32
2.2.12 Quản lý mạng với SNMP 38
2.2.13 Cơ sở thông tin quản lý (MIB) 39
2.3.1 Khái niệm về Zabbix 46
2.3.2 Ưu điểm của Zabbix 47
2.3.3 Lý do sử dụng Zabbix 47
2.3.4 Đối tượng sử dụng Zabbix 47
2.3.5 Các yêu cầu cài đặt của Zabbix 48
2.3.6 Các thành phần của Zabbix 49
2.3.7 Giới thiệu giao diện chính của Web Zabbix 50
2.3.8 So sánh Zabbix với các phần mềm giám sát mạng khác 53
2.4 Kết luận chương II 54
CHƯƠNG 3: CƠ SỞ THỰC HIỆN 55
3.1 Mô hình bài toán công ty Trí Nam 55
3.2 Mô hình tổng quan 56
3.3 Cài đặt Zabbix 57
3.3.1 Cài đặt CentOS 57
3.3.2 Cài đặt Zabbix 58
3.4 Giám sát Zabbix 64
3.5 Giám sát Window Server 65
3.6 Giám sát Router 75
3.7 Giám sát DNS Server 82
3.8 Kết luận chương III 83
CHƯƠNG 4: KẾT LUẬN 84
Trang 34.1 Kết quả đạt được 84
4.2 Hạn chế của đề tài 84
4.3 Hướng phát triển của đề tài 84
TÀI LIỆU THAM KHẢO 85
Trang 4DANH MỤC HÌNH VẼ
Hình 2-1: Hình minh họa cơ chế Poll 17
Hình 2-2: Hình minh họa cơ chế Alert 17
Hình 2-3: Cấu trúc của Network management station 22
Hình 2-4: SNMP agent chạy trên network 23
Hình 2-5: Hình minh họa các phương thức của SNMPv1 28
Hình 2-6: Cấu trúc bản tin SNMP 31
Hình 2-7: Mô hình hoạt động SNMP 33
Hình 2-8: Mô hình hoạt động giữa NMS và Agent với “Get” 33
Hình 2-9: Mô hình hoạt động giữa NMS và Agent với “Get - bulk” 34
Hình 2-10: Mô hình hoạt động giữa NMS và Agent với “set” 35
Hình 2-10: Bảng điều khiển 51
Hình 2-11: Bảng dữ liệu 51
Hình 2-12: Trigger 52
Hình 2-13: Tab graphs 52
Hình 2-14: Tab Media Types 52
Hình 3-1: Mô hình mô phỏng cho hệ thống công ty 56
Hình 3-2: Sơ đồ mô tả hệ thốngtriển khai 57
Hình 3-3: Màn hình boot CentOS 6.4 57
Hình 3-4: Màn hình CentOS 6.4 58
Hình 3-5: Giao diện cài đặt Zabbix 60
Hình 3.6: Check of pre – requisities 61
Hình 3-7: Configure DB connection 61
Hình 3-8: Zabbix Server Details 62
Hình 3-9: Pre – Installation summary 62
Trang 5Hình 3-10: Install and Finish 63
Hình 3-11: Cấu hình chọn hoạt động giám sát 64
Hình 3-12: Zabbix chuyển sang trạng thái Monitoring 64
Hình 3-13: Các dạng biểu đồ theo dõi Zabbix Server 65
Hình 3-14: Giao diện cài đặt Zabbix Agent 66
Hình 3-14: Thông số của Zabbix- Agent 66
Hình 3-15: Custom Setup 67
Hình 3-16: Nhấn Install 67
Hình 3-17: Kiểm tra cài đặt Zabbix-Agent trên Services 68
Hình 3-18: Tạo Host giám sát Windows Server 69
Hình 3-19: Add thêm Template 69
Hình 3-20: Monitor Windows Server 70
Hình 3-21: Item System Uptime (Windows Server) 70
Hình 3-22: Item CPU load(WS) 71
Hình 3-23: Add Trigger cảnh báo 71
Hình 3-24: Item Free Memory(WS) 72
Hình 3-25: Tạo item free swap space 72
Hình 3-26: Item Total disk space on C 73
Hình 3-27: Tạo item used disk space on C 73
Hình 3-28: Item số tiến trình đang chạy 74
Hình 3-29: Giám sát dữ liệu Windows Server 74
HÌnh 3-30: Biểu đồ giám sát Windows server 75
Hình 3-31: Tạo host cho Router 78
Hình 3-32: Trạng thái Interface 78
Trang 6Hình 3-33: Item CPU usage 79
Hình 3-34: Trigger cảnh báo CPU load 79
Hình 3-35: Item Memory free 80
Hình 3-36: Item Memory_usage 80
Hình 3-37: Latest data của router 81
Hình 3-38: Network reachability using ping 82
Hình 3-39: Router is down or unreachable 82
Trang 7DANH MỤC BẢNG BIỂU
Bảng 2-1: So sánh Port và Alert 18
Bảng 2-2: Các phương thức trong SNMP 25
Bảng 2-3: Các loại lỗi báo lại từ Agent với SNMPv1 35
Bảng 2-4: Lời cảnh báo “trap” từ Agent 37
Bảng 2-5: Zabbix và yêu cầu tài nguyên CPU 48
Bảng 2-6: So sánh Zabbix với các phần mềm khác 53
Trang 8DANH MỤC TỪ VIẾT TẮT
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập
IPS Intrusion Prevention System Hệ thống ngăn chặn xâm nhậpLAN Local Area Network Mạng máy tính cục bộ
MIB Management Information Base Cơ sở dữ liệu thông tin quản lýNMS Network Monitoring System Hệ thống giám sát mạng
SNMP Simple Network Management
Protocol
Giao thức quản lý mạng đơn giản
STP Spanning Tree Protocol Giao thức ngăn chặn sự lặp vòngVoIP Voice over Internet Protocol Đàm thoại qua giao thức IP
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Lý do chọn đề tài
Ngày nay cùng với sự phát triển nhanh chóng của khoa học kỹ thuật, đặc biệt
là trong lĩnh vực công nghệ thông tin đã tác động mạnh đến nền kinh tế thế giới nóichung và nền kinh tế Việt Nam nói riêng
Nhằm bảo đảm an ninh cho các hệ thống cũng như quản lý tình trạng hoạtđộng của các thiết bị mạng server, quản lý băng thông kết nối, trạng thái của cácdịch vụ trong hệ thống là một khối lượng công việc khổng lồ và khó khăn với bất kỳngười quản trị nào Nếu không được xây dựng một hệ thống giám sát và cảnh báongười quản trị sẽ thụ động trong việc phòng ngừa, sửa chữa các lỗi của hệ thốngmạng từ đó gây ra tổn thất ảnh hưởng đến quá trình kinh doanh và hoạt động củadoanh nghiệp Điều này làm cho việc quản trị hệ thống mạng máy tính càng được
ổn định và hoàn thiện hơn nữa
Bằng việc thực hiện phần mềm giám sát mạng, hệ thống quản lý có thể thuthập đủ dữ liệu và báo cáo định kỳ, nó giúp chúng ta quản lý mạch lạc và dễ dàng
Nó hạn chế tối đa việc mạng bị gián đoạn trong quá trình hoạt động Nó đảm bảoviệc khai thác tài nguyên có hiệu quả, đảm bảo an toàn, tin cậy cho những dịch vụcung cấp Hiện nay có rất nhiều công cụ giám sát mạng hỗ trợ cho công việc giámsát mạng mã nguồn mở: Nagios, Cacti, openNMS Mỗi phần có ưu nhược điểmriêng nhưng Zabbix là một phần mềm khá mạnh
Để phát triển hệ thống giám sát mạng hơn nữa, cũng như cách triển khai được
hệ thống mạng Tôi đã chọn đề tài “ Nghiên cứu và Triển khai hệ thống giám sát mạng cho công ty cổ phần đầu tư phát triển công nghệ Trí Nam”.
1.2 Mục tiêu chọn đề tài
- Tìm hiểu về hệ thống giám sát mạng
- Sử dụng được giao thức SNMP để giám sát các thiết bị
- Tìm hiểu được phần mềm Zabbix
- Đưa ra được mô hình triển khai cho hệ thống mạng công ty
- Triển khai được hệ thống giám sát mạng doanh nghiệp Trí Nam
Trang 101.3 Giới hạn và phạm vi của đề tài
Xây dựng và triển khai hệ thống mạng cho công ty cổ phần phát triển đầu tưcông nghệ Trí Nam
1.4 Hướng tiếp cận đề tài
Tiếp cận đề tài theo phương pháp tự nghiên cứu kết hợp với sự hướng dẫn củathầy giáo hướng dẫn để xây dựng hệ thống giám sát mạng cho công ty cổ phần đầu
tư và phát triển công nghệ Trí Nam
1.5 Kết quả dự kiến đạt được
- Sử dụng được phần mềm GNS3
- Xây dựng được mô hình mạng giám sát
- Triển khai được hệ thống giám sát mạng cho công ty Trí Nam
1.6 Ý nghĩa lý luận và thực tiễn
- Ý nghĩa lý luận
Qua đề tài chúng ta có thể biết về hệ thống giám sát mạng cũng như biết được
rõ hơn về cách triển khai về hệ thống trên nhiều phần mềm giám sát khác nhau
- Ý nghĩa thực tiễn
Ứng dụng đề tài này vào thực tế để triển khai cho nhiều doanh nghiệp hơn
Trang 11CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về hệ thống giám sát mạng
2.1.1 Giới thiệu hệ thống giám sát mạng
Giám sát mạng là các hoạt động giám sát hệ thống, thiết bị của một mạngmáy tính thông qua các công cụ phần mềm quản lý chuyên dụng Hệ thống giám sátthường được xây dựng ở các công ty, doanh nghiệp vừa và lớn khi có nhu cầu kiểmtra quản lý hệ thống của họ
Các hệ thống giám sát mạng (NMSs) thì khác với các hệ thống phát hiện xâmnhập (IDSs) hoặc các hệ thống phòng chống xâm nhập (IPSs) Những hệ thống pháthiện break-ins và ngăn chặn người dùng trái phép Tập trung của NMS không phảicho vấn đề an ninh mỗi lần đăng nhập
Giám sát mạng có thể đạt được bằng cách sử dụng phần mềm khác nhau kếthợp giữa các plug hay play, thiết bị phần cứng và giải pháp phần mềm Hầu hết bất
kì loại mạng nào cũng có thể được giám sát Nó không quan trọng là có dây haykhông dây, một mạng LAN công ty, VPN hoặc dịch vụ cung cấp WAN Bạn có thểgiám sát thiết bị trên các hệ điều hành khác nhau với vô số chức năng, từ điện thoại
di động, tới servers, routers và switches Những hệ thống này có thể giúp bạn xácđịnh các hoạt động cụ thể và số liệu xuất, đưa ra kết quả cho phép doanh nghiệp giảiquyết các yêu cầu khác nhau, đưa ra các mối đe dọa an ninh nội bộ và cung cấpnhiều hiển thị hoạt động hơn
Việc quyết định dùng cái gì để giám sát mạng thì rất quan trọng Bạn phảichắc rằng cấu trúc sơ đồ mạng của công ty bạn thì luôn cập nhật Đó là bản đồ chínhxác để đưa ra các mạng khác nhau nhằm đáp ứng việc giám sát, server đang chạytrên hệ điều hành nào, có bao nhiêu máy tính để bàn và có bao nhiêu thiết bị từ xa
có thể truy cập cho mỗi mạng
2.1.2 Vai trò quan trọng của hệ thống giám sát mạng
Bạn có thể nghĩ rằng nếu mạng đưa ra và chạy, không có lý do để gây rối với
nó Tại sao bạn lại quan tâm về việc thêm một dự án cho các nhà quản lý của bạn
Trang 12Lý do để khẳng định việc giám sát mạng là nhằm duy trì “sức khỏe” của mạng lưới,đảm bảo sẵn sàng và cải thiện hiệu suất NMS cũng có thể giúp bạn xây dựng cơ sở
dữ liệu thông tin quan trọng mà bạn có thể dùng để lên kế hoạch trong sự phát triểntrong tương lai
2.1.3 Chức năng của hệ thống giám sát mạng
Người ta dùng hệ thống giám sát mạng thường để kiểm tra băng thông sửdụng, kiểm tra hiệu suất của ứng dụng và hiệu suất của máy chủ
Giám sát lưu lượng là nhiệm vụ cơ bản, một trong những việc xây dựng hệthống mạng và duy trì các nhiệm vụ cơ bản Nó thường tập trung vào các vấn đề hỗtrợ người dùng nội bộ Vì vậy hệ thống giám sát mạng tiến hóa để giám sát các loạithiết bị như:
Trang 132.1.4 Phân loại các mạng của hệ thống giám sát
Hệ thống giám sát mạng có thể giám sát các có kích thước lớn, nhỏ, trungbình Một số loại mạng như là:
2.1.5 Chiến lược của hệ thống giám sát mạng
Một hệ thống giám sát (NMS) sẽ giúp định hướng trong môi trường phứctạp, đưa ra các báo cáo, người quản lý có thể sử dụng các báo cáo này để:
- Xác nhận việc tuân thủ quy định và chính sách
- Tiết kiệm chi phí tiềm lực bằng cách tìm nguồn dữ liệu dư thừa.
- Giải quyết hiệu quả việc bị lấy cắp thông tin.
- Trợ giúp xác định năng suất của nhân viên.
- Spot quá tải thiết bị trước khi nó có thể mang xuống một mạng lưới.
- Xác định liên kết mạng diện rộng yếu và thắt cổ trai.
- Do độ trễ, hoặc do chuyển tải dữ liệu bị trễ.
- Tìm bất thường trong mạng nội bộ có thể cho biết mối đe dọa ăn ninh
Nhưng một NMS không phải là hệ thống phát hiện IDS hoặc hệ thống phòngchống IPS Một số NMS có thể phát hiện các hành động khó chịu, nhưng đó khôngphải là nhiệm vụ của nó
Trang 14Giám sát mạng cẩn thận cho phép giám đốc điều hành tất cả thông tin họ cần
để chứng minh việc nâng cấp mạng và mở rộng mạng là cần thiết để hỗ trợ doanhnghiệp thành công trong tương lai
Service – level agreements (SLA) khó thực thi bên bộ phận khách hàng bởi
vì nó đưa ra những điều khoản rất là khắt khe
Hệ thống giám sát mạng làm việc hiệu quả sẽ thông báo cho nhà quản lý biếtthiết bị, dịch vụ, hoặc ứng dụng được phép hoạt động ở mức nào
2.1.6 Công cụ của hệ thống giám sát mạng
Bản thân những hệ thống giám sát mạng có thể là phần mềm hoặc firmwaređơn giản hay phức tạp Một trong những công cụ đơn giản nhất là gửi tín hiệu đếnthiết bị và xem thời gian trả về là bao lâu Thích hợp hơn với hầu hết các nhà quản
lý là các công cụ liên quan đến các kiểm tra thông tin thường và các kịch bản theodõi và có thể trong mạng lưới rộng khắp
Các công cụ mã nguồn mở có tính mở rộng cao, không tốn Và chúng làmviệc với hầu hết các công cụ và phù hợp với hầu hết các nền tảng Không có vấn đề
gì đáng lo khi bạn chọn công cụ, mặc dù tích cực tìm hiểu xem chúng làm tốt nhưthế nào trong môi trường của bạn, đặc biệt với các hệ điều hành trên mạng của bạn
Nếu như mạng của bạn trở nên quá phức tạp và bạn không thể kiểm soátđược những gì đang xảy ra, bạn có thể dõi outsource Outsources tạo ra các mức củadịch vụ và các gói chức năng để bao quát nhiều môi trường mạng và ngân sách Sảnphẩm giám sát mạng có thể miễn phí hoàn toàn hoặc chúng có thể vô cùng tốn kém
2.1.7 Yêu cầu chi phí cho hệ thống giám sát
Giải pháp giám sát mạng có thể hoàn toàn miễn phí hoặc rất tốn kém Hầu hếtcác công cụ mã nguồn mở là miễn phí, như những công cụ có thể được mua kèmvới cơ sở hạ tầng Ứng dụng phần – giải pháp và các dịch vụ chỉ giao động trongkhoảng từ 50$ đến hàng nghìn USD
Với các nhà cung cấp dịch vụ, bạn có thể tùy chọn trong danh mục các dịch vụgiám sát, có thể tiết kiệm thông qua lấy các thiết bị phát sinh phụ thuộc vào mạng
Trang 15Có những trao đổi khác nhau Mua dịch vụ có thể cung cấp cho bạn tiếp cận vớicông nghệ giám sát mới nhất; tương phản, lấy được thiết bị cung cấp nhiều chứcnăng hơn.
Một trong những điều chắc chắn khi nói đến giám sát mạng là chi phí mà bạnphải bỏ ra nếu không sử dụng những công nghệ này có thể sẽ lớn hơn bạn nghĩ rấtnhiều, Khi bạn không nhận được hiệu suất và tính sẵn sàng, bạn buộc lòng phải chịutốn kém để chắc chắn rằng mạng của bạn hiệu quả và an toàn
2.2 Tổng quan về giao thức SNMP
2.2.1 Giới thiệu về quản lý hệ thống mạng
Sự phát triển và hội tụ mạng trong những năm gần đây đã tác động mạnh mẽtới tất cả các khía cạnh của mạng lưới, thậm chí cả về những nhận thức nền tảng vàphương pháp tiếp cận
Quản lý mạng cũng là một trong những lĩnh vực đang có những sự thay đổi vàhoàn thiện mạnh mẽ trong cả nỗ lực tiêu chuẩn hóa của tổ chức tiêu chuẩn lớn trênthế giới và yêu cầu từ phía người sử dụng dịch vụ Mặt khác các nhà khai thácmạng, nhà cung cấp thiết bị và người sử dụng thường áp dụng các phương phápchiến lược khác nhau cho việc quản lý mạng và thiết bị của mình Mỗi nhà cung cấpthiết bị thường đưa ra giải pháp quản lý mạng riêng biệt cho sản phẩm của mình.Trong bối cảnh hội tụ mạng hiện nay, số lượng thiết bị và dịch vụ rất đa dạng vàphức tạp đã tạo ra các thách thức lớn trong vấn đề quản lý mạng
Nhiệm vụ của quản lý mạng rất rõ ràng về mặt nguyên tắc chung, nhưng cácbài toán quản lý cụ thể lại có độ phức tạp rất lớn Điều này xuất phát từ tính đa dạngcủa các hệ thống thiết bị và các đặc tính quản lý của các loại thiết bị, và xa hơn nữa
là chiến lược quản lý phải phù hợp với kiến trúc mạng và đáp ứng yêu cầu củangười sử dụng Một loạt các thiết bị điển hình cần được quản lý gồm: Máy tính cánhân, máy trạm, server, máy vi tính cỡ nhỏ, máy vi tính cỡ lớn, các thiết bị đầucuối, thiết bị đo kiểm, máy điện thoại, tổng đài điện thoại nội bộ các thiết bị truyềnhình, máy quay, modem, bộ ghép kênh, bộ chuyển đổi giao thức, CSU/DSU, bộghép kênh thống kê, bộ ghép và giải gói, thiết bị tương thích ISDN, card NIC, các
Trang 16bộ mã hóa và giải maz tín hiệu, thiết bị nén dữ liệu, các gateway, các bộ xử lý end, các đường trung kế, DSC/DAC, các bộ lặp, bộ tái tạo tín hiệu, các thiết bịchuyển mạch, các bridge, router, hay switch, tất cả mới chỉ là một phần của danhsách các thiết bị được quản lý.
front-Toàn cảnh của bức tranh quản lý bao gồm quản lý các tài nguyên mạng cũngnhư các tài nguyên dịch vụ, người sử dụng, các ứng dụng hệ thống, các cơ sở dữliệu khác nhau trong các loại môi trường ứng dụng
Về mặt kĩ thuật, tất cả thông tin trên được thu thập, trao đổi và được kết hợpvới hoạt động quản lý mạng dưới dạng các số liệu quản lý bởi các kĩ thuật tương tựnhư các kĩ thuật sử dụng trong mạng truyền số liệu
Tuy nhiên sự khác nhau căn bản giữa truyền thông số liệu và trao đổi thông tinquản lý là việc trao đổi thông tin quản lý đòi hỏi các trường dữ liệu chuyên biệt, cácgiao thức truyền thông cũng như các mô hình thông tin chuyên biệt, các kỹ năngchuyên biệt để có thể thiết kế, vận hành hệ thống quản lý cũng như biên dịch cácthông tin quản lý báo lỗi, hiện trạng hệ thống, cấu hình và độ bảo mật
2.2.2 Hai phương thức giám sát Poll và Alert
Hai phương thức giám sát “Poll” và “Alert” đây là 2 phương thức cơ bản củacác kỹ thuật giám sát hệ thống, nhiều phần mềm và giao thức được xây dựng dựatrên 2 phương thức này, trong đó có SNMP
a) Phương thức Poll
Nguyên tắc hoạt động: Trung tâm giám sát (manager) sẽ thường xuyên hỏithông tin của thiết bị cần giám sát (device) Nếu Manager không hỏi thì Devicekhông trả lời, nếu Manager hỏi thì Device phải trả lời Bằng cách hỏi thường xuyên,Manager sẽ luôn cập nhật được thông tin mới nhất từ Device
Ví dụ: Người quản lý cần theo dõi khi nào thợ làm xong việc Anh ta thườngxuyên hỏi người thợ “Anh đã làm xong chưa?” và người thợ sẽ trả lời rằng “Xong”hoặc “Chưa”
Trang 17
Request #1 Response #1
Request #2
Response
Hình 2-1: Hình minh họa cơ chế Poll b) Phương thức Alert
Nguyên tắc hoạt động: Mỗi khi trong Device xảy ra một sự kiện (event) nào
đó thì Device sẽ tự hoạt động gửi thông báo cho Manager gọi là Alert Managerkhông hỏi thông tin định kỳ từ Device
Device thì gửi những thông báo mang tính sự kiện chứ không gửi nhữngthông tin thường xuyên thay đổi, nó cũng sẽ không gửi Alert nếu chẳng có sự kiện
gì xảy ra Chẳng hạn khi một port down/up thì Device sẽ gửi cảnh báo, còn tổng sốbyte truyền qua port đó sẽ không được Device gửi đi vì đó là thông tin thườngxuyên thay đổi Muốn lấy những thông thường xuyên thay đổi thì Manager phải chủđộng đi hỏi Device, tức là phải thực hiện phương thức Poll
Event #3
Hình 2-2: Hình minh họa cơ chế Alert
Ví dụ: Người quản lý cần theo dõi tình hình làm việc của thợ, anh ta yêu cầungười thợ thông báo cho mình khi có vấn đề gì đó xảy ra Người thợ sẽ thông báo
Trang 18các sự kiện đại loại như “Tiến độ đã hoàn thành 50%”, “Mất điện lúc 10h”, “Cóđiện lại lúc 11h”, “Mới có tai nạn xảy ra”.
c) So sánh phương thức Poll và Alert
Hai phương thức hoàn toàn khác nhau về cơ chế Một ứng dụng giám sát cóthể sử dụng Poll hoặc Alert, hoặc cả hai, tùy vào yêu cầu cụ thể trong thực tế
Bảng so sánh sự khác biệt giữa hai phương thức:
Bảng 2-1: So sánh Port và Alert
Có thể chủ động lấy các thông tin cần
thiết từ các đối tượng mình quan tâm,
không cần lấy những thông tin không
cần thiết từ những nguồn không quan
tâm
Tất cả những event xảy ra đều được gửi
về Manager Manager phải có cơ chếlọc các event cần thiết, hoặc Devicephải thiết lập được cơ chế chỉ gửi eventcần thiết
Có thể lập bảng trạng thái tất cả thông
tin của Device sau khi poll qua một lượt
các thông tin đó Ví dụ Device có một
port down và Manager được khởi động
sau đó, thì Manager sẽ biết được port
đang down sau khi poll qua một lượt tất
cả các port
Nếu không có event gì xảy ra thìManager không biết được trạng thái củaDevice Ví dụ Device có 1 port down vàManager được khởi động sau đó, thìManager sẽ không thể biết được portđang down
Trong trường hợp đường truyền giữa
Manager và Device xảy ra gián đoạn và
Device có sự thay đổi, thì Manager sẽ
được cập nhật được thông tin mới nhất
do nó luôn luôn poll định kì
Khi đường truyền gián đoạn và Device
có sự thay đổi thì nó vẫn gửi Alert choManager, nhưng Alert này sẽ không đếnđược Manager Sau đó mặc dù đườngtruyền thông suốt trở lại thì Managervẫn không thể biết được những gì đãxảy ra
Trang 19Chỉ cần cài đặt tại Manager để trỏ đến
tất cả các Device Có thể dễ dàng thay
đổi Manager khác
Phải cài đặt tại từng Device để trỏ đếnManager Khi thay đổi Manager thì phảicài đặt lại trên tất cả Device để trỏ vềManager mới
Có thể bỏ sót các sự kiện: khi Device có
thay đổi, sau đó trở lại như ban đầu
trước khi đến lượt poll kế tiếp thì
Manager sẽ không phát hiện được
Manager sẽ được thông báo mỗi khi xảy
ra ở Device, do đó Manager không bỏsót bất kì sự kiện nào
Hai phương thức Poll và Alert có những điểm thuận lợi và bất lợi ngượcnhau, do đó nhiều trường hợp ta nên sử dụng kết hợp cả 2 phương thức để đạt đượchiệu quả của poll và alert
Các ví dụ ứng cơ chế Poll & Alert:
- Giao thức Syslog: mỗi khi có sự kiện xảy ra thì thiết bị sẽ gửi bản tin Syslogđến Syslog Server
- Phần mềm NetworkView, giám sát tình trạng các server bằng cách thực hiệnping liên tục
- Giao thức STP, phát hiện loop trong mạng bằng cách gửi nhận các góiBPDU và gửi bản tin Topology change mỗi khi phát hiện thay đổi
- Trong quản lý người ta luôn thực hiện song song chế độ kiểm tra và báo cáo,thường xuyên kiểm tra để phát hiện vấn đề và báo cáo khi xảy ra vấn đề
2.2.3 Giới thiệu giao thức SNMP
SNMP là giao thức quản lý mạng cơ bản dịch từ cụm từ “Simple NetworkManagement Protocol” Giao thức này được sử dụng rất phổ biến để giám sát vàđiều khiển các thiết bị mạng
Giao thức SNMP được thiết kế để cung cấp một phương thức đơn giản nhằmquản lý tập trung mạng TCP/IP Người quản trị có thể thông qua giao thức này đểquản lý các hoạt động hay thay đổi các trạng thái hệ thống mạng
Trang 20Giao thức SNMP được sử dụng để quản lý các hệ thống Unix, Window…, cácthiết bị mạng như router, gateway, firewall, switch…, thông qua một số phần mềmcho phép quản trị với SNMP.Một thiết bị hiểu được và hoạt động tuân theo giaothức SNMP được gọi là có hỗ trợ SNMP (SNMP surpported) hoặc tương tíchSNMP (SNMP compartible).
SNMP dùng để quản lý, nghĩa là nó có thể theo dõi, có thể lấy thông tin, cóthể được thông báo và có thể tác động để hoạt động như ý muốn VD một số khảnăng của phần mềm SNMP:
- Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đãtruyền/ nhận như thế nào
- Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trốngbao nhiêu
- Tự động nhận cảnh báo khi switch có một port bị down
- Điều khiển tắt (shutdown) các port trên switch
SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc bảntin và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP version3) Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tậptrung từ xa toàn mạng của mình
2.2.4 Ưu điểm của thiết kế SNMP
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trongmạng Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ít chi phí.SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát.Không có giới hạn cho SNMP có thể quản lý được cái gì Khi có một thiết bị mớivới các thuộc tính, tính năng mới thì người ta có thể thiết kế “custom” SNMP đểphục vụ cho riêng mình
SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chếcủa các thiết bị hỗ trợ SNMP Các thiết bị khác nhau nhưng đáp ứng SNMP là cơbản giống nhau
Trang 212.2.5 Các phiên bản của SNMP
Tổ chức Internet Engineering Task Force (IETF) chịu trách nhiệm cho việcđịnh nghĩa các chuẩn giao thức hoạt động trong môi trường mạng, bao gồm cảSNMP IETF phát hành các tài liệu Requests for Comments (RFCs) chỉ rõ các giaothức tồn tại trong môi trường IP
IETF đã công bố các phiên bản của SNMP như sau:
SNMP Version 1 (SNMPv1) được định nghĩa trong RFC 1157 Khảnăng bảo mật của SNMPv1 dựa trên nguyên tắc cộng đồng, cho phépbất cứ ứng dụng nào chạy SNMP cũng có thể truy xuất thông tin củacác thiết bị chạy SNMP khác Có 3 tiêu chuẩn là: read-only, read-write, và trap
SNMP Version 2 (SNMPv2): tính bảo mật của phiên bản này dưa trênchuỗi “community” Do đó phiên bản này còn được gọi là SNMPv2c
và được định nghĩa trong RFC 1905, 1906, 1907
SNMP Version 3 (SNMPv3): được định nghĩa trong các RFC 1905,
1906, 1907, 2571, 2572, 2573, 2574, và 2575 Phiên bản này hỗ trợchức thực mạnh, cho phép truyền thông riêng tư giữa và có xác nhậngiữa các thực thể
Trang 22Network
management
station
Network element
Network element
Network element
Network management station #2
Agent là một phần trong các chương trình chạy trên các thiết bị mạng cầnquản lý Nó có thể là một chương trình độc lập, hoặc tích hợp vào hệ điều hành nhưIOS của Cisco trên Router Ngày nay, đa số các thiết bị mạng hoạt động tới lớp IPđược cài đặt SNMP agent Các nhà sản xuất ngày càng muốn phát triển các agenttrong các sản phẩm của họ Các Agent cung cấp thông tin cho NMS bằng cách lưutrữ các hoạt động khác nhau của thiết bị
MIB không có sự hạn chế nào khi NMS gửi một truy vấn đồng thời Agent gửimột cảnh báo MIB có thể xem như một cơ sở dữ liệu của đối tượng quản lý màAgent lưu trữ được Bất kì thông tin bào NMS có thể truy cập được đều được địnhnghĩa trong MIB Một Agent có thể có nhiều MIB nhưng tất các Agent đều có mộtMIB gọi là MIB-II được định nghĩa trong RFC 1213
Theo RFC1157 bao gồm 2 thành phần chính: các trạm quản lý mạng (networkmanagement station) và các thành tố mạng (network element)
- Network management station thường là một máy tính chạy phần mềmquản lý SNMP (SNMP management application), dùng để giám sát vàđiều khiển tập trung các network element
SNMP Protocol
SNMP Protocol
Hình 2-3: Cấu trúc của Network management station
- Network element là các thiết bị, máy tính, hoặc phần mềm tương thíchSNMP và được quản lý bởi network management station Như vậyelement bao gồm device, host và application
Trang 23Network managerment
SNMP application
Network elementSNMP agent
- Một management station có thể quản lý nhiều element, một element cũng
có thể được quản lý bởi nhiều management station Vậy nếu một elementđược quản lý bởi 2 station thì điều gì sẽ xảy ra? Nếu station lấy thông tin
từ element thì cả 2 station sẽ có thông tin giống nhau Nếu 2 station tácđộng đến cùng một element thì element sẽ đáp ứng cả 2 tác động theo thứ
tự cái nào đến trước
Ngoài ra còn có khái niệm SNMP agent SNMP agent là một tiến trình(process) chạy trên network element, có nhiệm vụ cung cấp thông tin của elementcho station, nhờ đó station có thể quản lý được element Chính xác hơn làapplication chạy trên station và agent chạy trên element mới là 2 tiến trình SNMPtrực tiếp liên hệ với nhau Các ví dụ minh họa sau đây sẽ làm rõ các khái niệm này:
- Để dùng một máy chủ (= station) quản lý các máy con (= element) chạyHĐH Windows thông qua SNMP thì bạn phải: cài đặt một phần mềmquản lý SNMP (= application) trên máy chủ, bật SNMP service (= agent)trên máy con
- Để dùng một máy chủ (= station) giám sát lưu lượng của một router
(= element) thì bạn phải: cài phần mềm quản lý SNMP (= application) trênmáy chủ, bật tính năng SNMP (= agent) trên router
Hình 2-4: SNMP agent chạy trên network b) Object ID
Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗithông tin đó gọi là một object
Trang 24Ví dụ:
- Máy tính có thể cung cấp các thông tin: tổng số ổ cứng, tổng số port nốimạng, tổng số byte đã truyền/nhận, tên máy tính, tên các process đangchạy trên máy…
- Router có thể cung cấp các thông tin: tổng số card, tổng số port, tổng sốbyte đã truyền/nhận, tên router, tình trạng các port của router…
Mỗi object có một tên gọi và một mã số để nhận dạng object đó, mã số gọi là
Object ID (OID) Một trong các ưu điểm của SNMP là nó được thiết kế để chạy độc
lập với các thiết bị khác nhau Chính nhờ việc chuẩn hóa OID mà ta có thể dùngmột SNMP application để lấy thông tin các loại device của các hãng khác nhau
c) Object access
Mỗi object có quyền truy cập là READ_ONLY hoặc READ_WRITE Mọiobject đều có thể đọc được nhưng chỉ những object có quyền READ_WRITE mới
có thể thay đổi được giá trị
d) Management Information Base
MIB (cơ sở thông tin quản lý) là một cấu trúc dữ liệu gồm các đối tượng đượcquản lý (managed object), được dùng cho việc quản lý các thiết bị chạy trên nềnTCP/IP MIB là kiến trúc chung mà các giao thức quản lý trên TCP/IP nên tuântheo, trong đó có SNMP MIB được thể hiện thành 1 file (MIB file) và có thể biểudiễn thành 1 cây (MIB tree) MIB có thể được chuẩn hóa hoặc tự tạo
Một manager có thể quản lý được một device chỉ khi ứng dụng SNMPmanager và ứng dụng SNMP agent cùng hỗ trợ một MIB Các ứng dụng này cũng
Trang 252.2.7 Các phương thức trong SNMP
Giao thức SNMPv1 có 5 phương thức hoạt động, tương ứng với 5 loại bản tin
Bảng 2-2: Các phương thức trong SNMP
GetRequest Manager gửi GetRequest cho agent để yêu cầu agent cung
cấp thông tin nào đó dựa vào ObjectID (trong GetRequest
SetRequest Manager gửi SetRequest cho agent để đặt giá trị cho đối
tượng của agent dựa vào ObjectID
GetResponse Agent gửi GetResponse cho Manager để trả lời khi nhận
được GetRequest/GetNextRequest
Trap Agent tự động gửi Trap cho Manager khi có một sự kiện
xảy ra đối với một object nào đó trong agent
Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì OIDtrong GetRequest cho biết nó muốn lấy thông tin của object nào OID trongGetResponse cho biết nó mang giá trị của object nào OID trong SetRequest chỉ ra
nó muốn thiết lập giá trị cho object nào OID trong Trap chỉ ra nó thông báo sự kiệnxảy ra đối với object nào
Trang 26- Trong một bản tin GetRequest có thể chứa nhiều OID, nghĩa là dùng mộtGetRequest có thể lấy về cùng lúc nhiều thông tin.
b) GetNextRequest
Bản tin GetNextRequest cũng dùng để lấy thông tin và cũng có chứa OID, tuynhiên nó dùng để lấy thông tin của object nằm kế tiếp object được chỉ ra trong bảntin Tại sao phải có phương thức GetNextRequest? Như bạn đã biết khi đọc quanhững phần trên: một MIB bao gồm nhiều OID được sắp xếp thứ tự nhưng khôngliên tục, nếu biết một OID thì không xác định được OID kế tiếp Do đó ta cầnGetNextRequest để lấy về giá trị của OID kế tiếp Nếu thực hiện GetNextRequestliên tục thì ta sẽ lấy được toàn bộ thông tin của agent
- Có thể shutdown một port trên switch bằng phần mềm SNMP manager,bằng cách gửi bản tin có OID là 1.3.6.1.2.1.2.2.1.7 (ifAdminStatus) và cógiá trị là 2^7 Chỉ những object có quyền READ_WRITE mới có thể thayđổi được giá trị
d) GetResponse
Mỗi khi SNMP agent nhận được các bản tin GetRequest, GetNextRequest haySetRequest thì nó sẽ gửi lại bản tin GetResponse để trả lời Trong bản tinGetResponse có chứa OID của object được request và giá trị của object đó
e) Trap
Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy rabên trong agent, các sự kiện này không phải là các hoạt động thường xuyên củaagent mà là các sự kiện mang tính biến cố
Trang 27Ví dụ: Khi có một port down, khi có một người dùng login không thành công,hoặc khi thiết bị khởi động lại, agent sẽ gửi trap cho manager Tuy nhiên khôngphải mọi biến cố đều được agent gửi trap, cũng không phải mọi agent đều gửi trapkhi xảy ra cùng một biến cố Việc agent gửi hay không gửi trap cho biến cố nào là
do hãng sản xuất device/agent quy định
Phương thức trap là độc lập với các phương thức request/response SNMPrequest/response dùng để quản lý còn SNMP trap dùng để cảnh báo Nguồn gửi trapgọi là Trap Sender và nơi nhận trap gọi là Trap Receiver Một trap sender có thểđược cấu hình để gửi trap đến nhiều trap receiver cùng lúc
Có 2 loại trap: trap phổ biến (generic trap) và trap đặc thù (specific trap).Generic trap được quy định trong các chuẩn SNMP, còn specific trap do người dùng
tự định nghĩa (người dùng ở đây là hãng sản xuất SNMP device) Loại trap là một
số nguyên chứa trong bản tin trap, dựa vào đó mà phía nhận trap biết bản tin trap cónghĩa gì
Theo SNMPv1, generic trap có 7 loại sau:
Giá trị trong ngoặc là mã số của các loại trap Ý nghĩa của các bản tin generic-trap
- coldStart(1): Thông báo rằng thiết bị gửi bản tin này đang khởi động lại(reinitialize) và cấu hình của nó có thể bị thay đổi sau khi khởi động
- warmStart(2): Thông báo rằng thiết bị gửi bản tin này đang khởi động lại
và giữ nguyên cấu hình cũ
- linkDown(3): Thông báo rằng thiết bị gửi bản tin này phát hiện được mộttrong những kết nối truyền thông (communication link) của nó gặp lỗi.Trong bản tin trap có tham số chỉ ra ifIndex của kết nối bị lỗi
- linkup(4): Thông báo rằng thiết bị gửi bản tin này phát hiện được mộttrong những kết nối truyền thông của nó đã khôi phục trở lại Trong bảntin trap có tham số chỉ ra ifIndex của kết nối được khôi phục
- authenticationFailure(5): Thông báo rằng thiết bị gửi bản tin này đã nhậnđược một bản tin không được chứng thực thành công (bản tin bị chứngthực không thành công có thể thuộc nhiều giao thức khác nhau như telnet,
Trang 28ssh, snmp, ftp, …) Thông thường trap loại này xảy ra là do user đăngnhập không thành công vào thiết bị
- egpNeighborloss(6): Thông báo rằng một trong số những “EGP neighbor”
8 coi là down và quan hệ đối tác (peer relationship) giữa 2 bên không cònđược duy trì
- enterpriseSpecific(7): Thông báo rằng bản tin trap không thuộc các kiểugeneric như trên mà nó là một loại bản tin do người dùng tự định nghĩa.Người dùng có thể tự định nghĩa thêm các loại trap để làm phong phú thêmkhả năng cảnh báo của thiết bị như: boardFailed, configChanged, powerLoss,cpuTooHigh, v.v… Người dùng tự quy định ý nghĩa và giá trị của các specific trapnày, và dĩ nhiên chỉ những trap receiver và trap sender hỗ trợ cùng một MIB mới cóthể hiểu ý nghĩa của specific trap Do đó nếu bạn dùng một phần mềm trap receiverbất kỳ để nhận trap của các trap sender bất kỳ, bạn có thể đọc và hiểu các generictrap khi chúng xảy ra; nhưng bạn sẽ không hiểu ý nghĩa các specific trap khi chúnghiện lên màn hình vì bản tin trap chỉ chứa những con số
Trang 29Đối với các phương thức Get/Set/Response thì SNMP Agent lắng nghe ở portUDP 161, còn phương thức trap thì SNMP Trap Receiver lắng nghe ở port UDP162.
2.2.8 Các cơ chế bảo mật cho SNMP
Một SNMP management station có thể quản lý/giám sát nhiều SNMP element,thông qua hoạt động gửi request và nhận trap Tuy nhiên một SNMP element có thểđược cấu hình để chỉ cho phép các SNMP management station nào đó được phépquản lý/giám sát mình
Các cơ chế bảo mật đơn giản này gồm có: community string, view và SNMPaccess control list
a) Community string
Community string là một chuỗi ký tự được cài đặt giống nhau trên cả SNMPmanager và SNMP agent, đóng vai trò như “mật khẩu” giữa 2 bên khi trao đổi dữliệu Communitystring có 3 loại: Read-community, Write-Community và Trap-Community
Khi manager gửi GetRequest, GetNextRequest đến agent thì trong bản tin gửi
đi có chứa Read-Community Khi agent nhận được bản tin request thì nó sẽ so sánhRead-community do manager gửi và Read-community mà nó được cài đặt Nếu 2chuỗi này giống nhau, agent sẽ trả lời; nếu 2 chuỗi này khác nhau, agent sẽ khôngtrả lời Write-Community được dùng trong bản tin SetRequest Agent chỉ chấp nhậnthay đổi dữ liệu khi write-community 2 bên giống nhau
Trap-community nằm trong bản tin trap của trap sender gửi cho trap receiver.Trap receiver chỉ nhận và lưu trữ bản tin trap chỉ khi trap-community 2 bên giốngnhau, tuy nhiên cũng có nhiều trap receiver được cấu hình nhận tất cả bản tin trap
mà không quan tâm đến trap-community
Community string có 3 loại như trên nhưng cùng một loại có thể có nhiềustring khác nhau Nghĩa là một agent có thể khai báo nhiều read-community, nhiềuwrite-community
Trang 30Trên hầu hết hệ thống, read-community mặc định là “public”, community mặc định là “private” và trap-community mặc định là “public”
write-Community string chỉ là chuỗi ký tự dạng cleartext, do đó hoàn toàn có thể bịnghe lén khi truyền trên mạng Hơn nữa, các community mặc định thường là
“public” và “private” nên nếu người quản trị không thay đổi thì chúng có thể dễdàng bị dò ra -Khi community string trong mạng bị lộ, một người dùng bìnhthường tại một máy tính nào đó trong mạng có thể quản lý/giám sát toàn bộ cácdevice có cùng community mà không được sự cho phép của người quản trị
b) View
Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent Tuynhiên agent có thể quy định chỉ cho phép đọc một số OID có liên quan nhau, tức làchỉ đọc được một phần của MIB Tập con của MIB này gọi là view, trên agent cóthể định nghĩa nhiều view
Ví dụ : agent có thể định nghĩa view interfaceView bao gồm các OID liênquan đến interface, storageView bao gồm các OID liên quan đến lưu trữ, hayAllView bao gồm tất cả các OID
Một view phải gắn liền với một community string Tùy vào community stringnhận được là gì mà agent xử lý trên view tương ứng Ví dụ : agent định nghĩa read-community “inf” trên view interfaceView, và “sto” trên
StorageView: Khi manager gửi request lấy OID ifNumber với community là
“inf” thì sẽ được đáp ứng do ifNumber nằm trong interfaceView; nếu managerrequest OID hrStorageSize với community “inf” thì agent sẽ không trả lời dohrStorageSize không nằm trong interfaceView; nhưng nếu manager requesthrStorageSize với community “sto” thì sẽ được trả lời do hrStorageSize nằm trongstorageView
Việc định nghĩa các view như thế nào tùy thuộc vào từng SNMP agent khácnhau Có nhiều hệ thống không hỗ trợ tính năng view
Trang 31Ethernet frame IP packet UDP packet SNMP packet
Version Community string Data
c) SNMP access control list
Khi manager gửi không đúng community hoặc khi OID cần lấy lại không nằmtrong view cho phép thì agent sẽ không trả lời Tuy nhiên khi community bị lộ thìmột manager nào đó vẫn request được thông tin
Để ngăn chặn hoàn toàn các SNMP manager không được phép, người quản trị
có thể dùng đến SNMP access control list (ACL)
SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sát agent,
nó chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent Nếu một manager
có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dù request
Trang 32- Version: v1 = 0, v2c=2, v3 = 3.
- Phần Data trong bản tin SNMP gọi là PDU (Protocol Data Unit).SNMPv1 có 5 phương thức hoạt động tương ứng 5 loại PDU Tuy nhiênchỉ có 2 loại định dạng bản tin là PDU và Trap-PDU, trong đó có các bảntin Get, GetNext, Set, GetResponse có cùng định dạng là PDU, còn bản tinTrap có định dạng là Trap-PDU
2.2.10 Các lệnh cơ bản trong SNMP
SNMP sử dụng 3 lệnh cơ bản là Read, Write, Trap và một số lệnh tùy biến đểquản lý thiết bị
Quản lý liên lạc giữa management và agent
Việc lựa chọn cơ chế vận chuyển có tính trực giao với giao thức truyền thông
đó SNMP chỉ đòi hỏi cơ chế truyền tải không tin cậy dữ liệu đồ (datagram) đểtruyền đưa các PDU (đơn vị dữ liệu giao thức)giữa management và các agent
Bảo vệ truyền thông liên lạc giữa management và các agent khỏi sự cố
Việc SNMP sử dụng cơ chế UDP để liên lạc có nghĩa là thiếu đi độ tin cậy.Các lệnh GET, GET – NEXT, SET đều được phúc đáp bằng một lệnh GET –RESPOSE Hệ thống có thể dễ dàng phát hiện ra việc bị mất một lệnh khi khôngnhận được lệnh trả lại
2.2.11 Hoạt động của SNMP
Hoạt động của SNMP theo mô hình sau:
Trang 33Hình 2-7: Mô hình hoạt động SNMP a) Get
“Get”: Được gửi từ NMS yêu cầu tới agent Agent nhận yêu cầu và xử lý vớikhả năng tốt nhất có thể Nếu một thiết bị nào đó đang bận tải nặng, như router, nókhông có khả năng trả lời yêu cầu nên nó sẽ hủy lời yêu cầu này Nếu agent tập hợp
đủ thông tin cần thiết cho lời yêu cầu, nó gửi lại cho NMS một “get-response”:
Hình 2-8: Mô hình hoạt động giữa NMS và Agent với “Get”
Để agent hiểu được NMS cần tìm thông tin gì, nó dựa vào một mục trong
”get” là ”variable binding” hay varbind Varbind là một danh sách các đối tượngcủa MIB mà NMS muốn lấy từ agent Agent hiểu câu hỏi theo dạng: OID=value đểtìm thông tin trả lời
Câu lệnh “get” hữu ích trong việc truy vấn một đối tượng riêng lẻ trong MIB.Khi muốn biết thông tin về nhiều đối tượng thì “get” tốn khá nhiều thời gian
Trang 34b) Get – next
“get - next” đưa ra một dãy các lệnh để lấy thông tin từ một nhóm trongMIB Agent sẽ lần lượt trả lời tất cả các đối tượng có trong câu truy vấn của ”get-next” tương tự như ”get”, cho đến khi nào hết các đối tượng trong dãy Ví dụ tadùng lệnh “snmpwalk”, “snmpwalk’ tương tự như “snmpget” nhưng không chỉ tớimột đối tượng mà chỉ tới một nhánh nào đó:
c) Get – bulk
“get - bulk” được định nghĩa trong SNMPv2 Nó cho phép lấy thông tin quản
lý từ nhiều phần trong bảng Dùng “get” có thể làm được điều này
Tuy nhiên, kích thước của câu hỏi có thể bị giới hạn bởi agent Khi đó nếu nókhông thể trả lời toàn bộ yêu cầu, nó gửi trả một thông điệp lỗi mà không có dữliệu Với trường hợp dùng câu lệnh “get-bulk”, agent sẽ gửi càng nhiều trả lời nếu
nó có thể Do đó, việc trả lời một phần của yêu cầu là có thể xảy ra
Hai trường cần khai báo trong “get-bulk” là: “nonrepeaters” và repetitions”, “nonrepeaters” báo cho agent biết N đối tượng đầu tiên có thể trả lờilại như một câu lệnh “get” đơn “mã-repeaters” báo cho agent biết cần cố gắng tănglên tối đa M yêu cầu “get-next” cho các đối tượng còn lại:
“max-Hình 2-9: Mô hình hoạt động giữa NMS và Agent với “Get - bulk”
Trang 35Hình 2-10: Mô hình hoạt động giữa NMS và Agent với “set”
Có thể cài đặt nhiều đối tượng cùng lúc, tuy nhiên nếu có một hành động bịlỗi, toàn bộ sẽ bị hủy bỏ
e) Error Response của “get”, “get – next ”, “get - bulk”, “set”
Có nhiều loại lỗi báo lại từ agent:
Bảng 2-3: Các loại lỗi báo lại từ Agent với SNMPv1
tooBig(1) Yêu cầu quá lớn để có thể dồn vào một câu trả lời
noSuchName(2) OID yêu cầu không tìm thấy, không tồn tại ở agentbadValue(3) Câu lệnh “set” dùng không đúng với các object “read -
write” hay “write – only”
readOnly(4) Lỗi này ít dùng Lỗi (2) tương đương với lỗi này
getErr(5) Dùng cho tất cả các lỗi còn lại, không nằm trong các
lỗi trênSNMPv2 Error Message
noAccess(6) Lỗi khi lệnh “set” cố gắng xâm nhập vào một biến cấm
xâm nhập Khi đó biến có trường “ACCESS” là “not accessible”
-wrongType(7) Lỗi xảy ra khi lệnh “set” đặt một kiểu dữ liệu khác với
kiểu định nghĩa sẵn của đối tượng
wrongLength(8) Lỗi khi lệnh “set” đưa vào một giá trị có chiều dài lớn
hơn chiều dài tối đa của đối tượng
wrongEncoding(9) Lỗi khi lệnh “set” sử dụng cách mã hóa khác với cách
đối tượng đã được định nghĩa
wrongValue(10) Một biến được đặt một giá trị mà nó không hiểu Khi
Trang 36một biến theo kiểu liên kết “enumeration” được đặtmột giá trị theo kiểu liệt kê.
noCreation(11) Lỗi khi cố đặt một giá trị cho một biến không tồn tại
hoặc một biến không có trong MIB
inconsistentValue(12) Một biến MIB ở trạng thái không nhất quán và nó
không chấp nhận bất cứ câu lệnh “set” nào
resourceUnavailable(13) Không có tài nguyên hệ thống để thực hiện lệnh “set”commitFailed(14) Đại diện cho tất cả các lỗi khi lệnh set thất bại
undoFailed(15) Một lệnh “set” không thành công và agent không thể
phục hồi lại trạng thái trước khi lệnh “set” bắt đầu thấtbại
authorizationError(16) Một lệnh SNMP không được xác thực, khi một người
nào đó đưa mật mã không đúng
notWritable(17) Một biến không chấp nhận lệnh “set”
inconsistentName(18) Cố gắng đặt một giá trị, nhưng việc cố gắng thất bại vì
biến đó đang tình trạng không nhất quán
Trang 37Bảng 2-4: Lời cảnh báo “trap” từ Agent
coldStart (0) Thông báo agent vừa khởi động lại
Tất cả các biến quản lý sẽ được reset, các biến kiểu
“Counters” và “Gauges” được đặt về 0 “coldStart”dùng để xác định một thiết bị mới gia nhập vào mạng.Khi một thiết bị khởi động xong, nó gửi một “trap” tớiNMS Nếu địa chỉ NMS là đúng, NMS có thể nhậnđược và xác định xem có quản lý thiết bị đó haykhông
warmStart (1) Thông báo agent vừa khởi tạo lại, không có biến nào
bị reset
linkDown (2) Gửi đi khi một interface trên thiết bị chuyển sang
trạng thái “down”
linkUp (3) Gửi đi khi một interface trở lại trạng thái “up”
authenticationFailure (4) Cảnh báo khi một người nào đó cố truy cập vào agent
đó mà không được xác thực
egpNeighborLoss (5) Cảnh báo một EGP lân cận bị “down”
enterpriseSpecific (6) Đây là một “trap” riêng, chỉ được biết bởi agent và
NMS tự định nghĩa riêng chúng NMS sử dụngphương pháp giải mã đặc biệt để hiểu được thông điệpnày “trap” được đưa ra trong MIB qua
“rdbmsOutOfSpace”:
g) SNMP notification
Để chuẩn hóa định dạng PDU “trap” của SNMPv1 do PDU của ”get” và
“set” khác nhau, SNMPv2 đưa ra “NOTIFICATION-TYPE”
Định dạng PDU của “NOTIFICATION-TYPE” là để nhận ra “get” và “set”
Trang 382.2.12 Quản lý mạng với SNMP
a) Cách thức khai báo SNMP manager và SNMP agent
- Cấu hình Get/Set trên SNMP agent
Bật tính năng SNMP agent trên thiết bị cần giám sát: các thiết bị hỗ trợSNMP có thể không mặc định bật tính năng này, bạn phải bật nó lên đểtiến trình agent hoạt động được
Khai báo community-string và quyền truy cập tương ứng: bạn phải khaibáo các community string và chỉ ra community nào có quyền gì (read,write, set)
Khai báo phiên bản SNMP: chỉ định agent sẽ hoạt động bằng phiên bảnSNMP nào (v1, v2, v3) Nếu agent không cho phép khai báo version thìagent này có thể chỉ hỗ trợ SNMPv1
Khai báo SNMP ACL: ACL cho phép chỉ những dãy IP nào đó mới đượcgiám sát agent
Khai báo Location, Contact, HostName: là các tham số phụ nên khôngquan trọng
- Cấu hình trên SNMP manager
Khai báo IP của thiết bị cần giám sát
Khai báo community-string: community string được khai báo trênmanager phải giống như đã khai báo trên agent
Khai báo phiên bản SNMP: phiên bản mà manager sử dụng để giám sátphải giống với phiên bản đã khai báo trên agent
Chu kỳ lấy mẫu: do SNMP Get/Set sử dụng phương thức poll nên bạn cầnkhai báo chu kỳ lấy thông tin của manger
- Cấu hình Trap trên SNMP agent
Bật tính năng trap sender
Khai báo địa chỉ IP của trap receiver
Khai báo community-string của bản tin trap
Khai báo version của SNMP trap
- Cấu hình Trap trên SNMP Trap Receiver
Trang 39 Bật tính năng trap receiver.
Khai báo dãy địa chỉ IP của sender mà trap receiver sẽ nhận, những IPnằm ngoài dãy này thì trap receiver sẽ không nhận trap Tính năng này làtùy chọn, có thể nhiều trap receiver không hỗ trợ
Khai báo bộ lọc kiểu trap: đây là danh sách các kiểu trap sẽ được hiện ratrên màn hình của trap receiver Tính năng này cũng là tùy chọn
- Cấu hình SNMPv3
Đối với SNMPv3 các bạn sẽ phải cấu hình thêm các thông số: engineId,user, authentiation-type, authen-password, encryption algorithm,encryption key Trong chương này chúng ta không khảo sát cách thực hiệnvới SNMPv3, chúng ta sẽ có một chương riêng về version 3
2.2.13 Cơ sở thông tin quản lý (MIB)
1 SMIv1
MIB là một cấu trúc dữ liệu định nghĩa các đối tượng được quản lý, được thiết
kế để quản lý các thiết bị không chỉ riêng TCP/IP RFC1155 mô tả cấu trúc mib filecấu trúc này được gọi là SMI (Structure of Management Information)
Sau này người ta mở rộng thêm cấu trúc của mib thành SMI version 2, vàphiên bản trong RFC1155 được gọi là SMIv1
- ASN.1 (Abstract Syntax Notation One) là chuẩn mô tả các luật mã hóa dữliệu (encoding rules) cho các hệ thống truyền thông số Một trong 3 hệthống luật mã hóa trong ASN.1 là BER (Basic Encoding Rules) BERđược SNMP dùng làm phương pháp mã hóa dữ liệu Vì vậy trong cácRFC liên quan đến SNMP ta hay bắt gặp dòng ghi chú “use of the basicencoding rules of ASN.1”
- BER mô tả nhiều kiểu dữ liệu như : BOOLEAN, INTEGER,ENUMERATED, OCTET STRING, CHOICE, OBJECT IDENTIFIER,NULL, SEQUENCE, …
- Các luật mã hóa của “BER of ASN.1” và cách đọc bản tin SNMP từ việcphân tách các byte dựa vào luật BER Quay lại RFC1155, mỗi đối tượng
Trang 40bao gồm 3 phần : Name, Syntax và Encoding mô tả cấu trúc của mib file,cấu trúc này gọi là SMI (Structure of management information ).
Name
Name là định danh của object, có kiểu OBJECT IDENTIFIER OBJECTIDENTIFIER là một chuỗi thứ tự các số nguyên biểu diễn các nút (node) của mộtcây từ gốc đến ngọn Gốc (root node) trong mib không không có tên Dưới root là 3node con :
Ccitt (0): do CCITT quản lý (Consultative Committee for InternationalTelephone and Telegraph)
iso(1): do tổ chức ISO quản lý (International Organization forStandardization)
joint-iso-ccitt (2): do cả ISO và CCITT quản lý
Dưới node iso (1), tổ chức ISO thiết kế 1 node dành cho các tổ chức khác làorg (3) Dưới org (3) có nhiều node con, một node được dành riêng cho USDepartment of Defense, dod (6) Bộ Quốc phòng Mỹ được coi là nơi sáng lập ramạng Internet, dưới dod(6) chỉ có 1 node dành cho cộng đồng internet ngày nay, lànode internet(1) Tất cả mọi thứ thuộc về cộng đồng Internet đều nằmdưới .iso.org.dod.internet, mọi object của các thiết bị TCP/IP đều bắt đầu vớiprefix 1.3.6.1 (dấu chấm đầu tiên biểu diễn rằng iso là cây con của root, và root thìkhông có tên)
RFC1155 định nghĩa các cây con như sau :
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 } enterprises OBJECTIDENTIFIER ::= { private 1 }
Sintax