1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về Nagios | Nagios giám sát hệ thống mạng

73 333 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 5,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hiện nay, khi công nghệ thông tin đang phát triển ngày một mạnh mẽ, mạng máy tính là một thành phần không thể thiếu đối với các hệ thống thông tin của mọi tổ chức. Hệ thống thông tin là tập hợp gồm nhiều thiết bị mạng, với quy mô khác nhau mà số lượng thiết bị và độ phức tạp của mỗi hệ thống khác nhau. Độ phức tạp càng cao thì khả năng xảy ra rủi ro càng lớn.Hiểu được các vấn đề đó, nhóm chúng em đã quyết định chọn đề tài “Sử dụng nagios để giám sát mạng máy tính”. Đề tài này sẽ tập trung vào giao thức SNMP, việc sử dụng phần mềm nagiosxi để giám sát một mạng máy tính với quy mô vừa phải

Trang 1

GIÁM SÁT MẠNG MÁY TÍNH

SỬ DỤNG NAGIOS ĐỂ GIÁM SÁT MẠNG MÁY TÍNH

Ngành: Công nghệ thông tinChuyên ngành: An toàn thông tin

Mã số: 52.48.02.01

Trang 2

GIÁM SÁT MẠNG MÁY TÍNH

SỬ DỤNG NAGIOS ĐỂ GIÁM SÁT MẠNG MÁY TÍNH

Ngành: Công nghệ thông tinChuyên ngành: An toàn thông tin

Mã số: 52.48.02.01

Sinh viên thực hiện:Phạm Văn Đạt

Nguyễn Anh Huy Trần Tấn Lực Nguyễn Thị Mai Huyên

Người hướng dẫn: ThS Nguyễn Quốc Sử

Khoa Công nghệ Thông tin – Học viện Kỹ thuật Mật Mã

Trang 3

Một lần nữa em xin chân thành cảm ơn sự giúp đỡ của các thầy

SINH VIÊN THỰC HIỆN

PHẠM VĂN ĐẠTNGUYỄN ANH HUYTRẦN TẤN LỰCNGUYỄN THỊ MAI HUYÊN

Trang 4

LỜI NÓI ĐẦU

Hiện nay, khi công nghệ thông tin đang phát triển ngày một mạnh mẽ, mạngmáy tính là một thành phần không thể thiếu đối với các hệ thống thông tin của mọi

tổ chức Hệ thống thông tin là tập hợp gồm nhiều thiết bị mạng, với quy mô khácnhau mà số lượng thiết bị và độ phức tạp của mỗi hệ thống khác nhau Độ phứctạp càng cao thì khả năng xảy ra rủi ro càng lớn

Hiểu được các vấn đề đó, nhóm chúng em đã quyết định chọn đề tài “Sử

dụng nagios để giám sát mạng máy tính” Đề tài này sẽ tập trung vào giao thức

SNMP, việc sử dụng phần mềm nagiosxi để giám sát một mạng máy tính với quy

mô vừa phải

Nội dung đề tài gồm có 3 phần được chia thành 3 chương: Chương đầu là cáinhìn tổng quan về giao thức SNMP, chương thứ sẽ giới thiệu về phần mềm Nagios

XI và chương 3 sẽ là phần triển khai thưc nghiệm trên hệ thống LAP do chúng em

tự dựng nên

Trang 5

MỤC LỤC

CHƯƠNG 1 GIAO THỨC SNMP 1

I Giao thức SNMP 1

1.1 Khái niệm 1

1.2 Ưu điểm trong thiết kế của SNMP 2

1.3 Các thành phần trong SNMP 2

1.4 Các phương thức của SNMP 6

1.5 Các cơ chế bảo mật cho SNMP 7

1.6 Cấu trúc bản tin SNMP 8

II Management Information Base (MIB) 9

2.1 SMI Version 1 9

2.2 Mib-2 (RFC1213) 12

2.3 SMI Version 2 15

2.4 Host-Resources-Mib (RFC2790) 18

III Các phiên bản SNMP 20

3.1 SNMPv1 20

3.2 SNMPv2c 24

3.3 SNMPv3 27

CHƯƠNG 2 PHẦN MỀM GIÁM SÁT NAGIOS 31

I Nagios 31

1.1 Khái niệm 31

1.2 Cấu trúc nagios 31

Trang 6

1.3 Các sản phẩm của Nagios 32

II Nagios XI 34

2.1 Lợi ích của Nagios đem lại 34

2.2 Tính năng và đặc điểm 35

2.3 Yêu cầu với hệ thống của bạn 40

CHƯƠNG 3 THỰC NGHIỆM 41

I Giới thiệu về mô hình triển khai 41

II Cài đặt 42

2.1 Cài đặt Nagios XI manager trên ContOS 7 42

2.2 Cài đặt SNMP Agent trên host 43

2.3 Cấu hình trên Router/Switch Cisco 45

2.4 Cấu hình giám sát 46

III Kết quả giám sát 51

3.1 Đồ thị đo được 51

3.2 Kiểm tra gói tin 53

Trang 7

CHƯƠNG 1 GIAO THỨC SNMP

I Giao thức SNMP

I.1 Khái niệm

SNMP là “giao thức quản lý mạng đơn giản”, dịch từ cụm từ “SimpleNetwork Management Protocol” Thế nào là giao thức quản lý mạng đơn giản ?Giao thức là một tập hợp các thủ tục mà các bên tham gia cần tuân theo để cóthể giao tiếp được với nhau Trong lĩnh vực thông tin, một giao thức quy định cấutrúc, định dạng (format) của dòng dữ liệu trao đổi với nhau và quy định trình tự, thủtục để trao đổi dòng dữ liệu đó Nếu một bên tham gia gửi dữ liệu không đúng địnhdạng hoặc không theo trình tự thì các bên khác sẽ không hiểu hoặc từ chối trao đổithông tin SNMP là một giao thức, do đó nó có những quy định riêng mà các thànhphần trong mạng phải tuân theo

Một thiết bị hiểu được và hoạt động tuân theo giao thức SNMP được gọi là

“có hỗ trợ SNMP” (SNMP supported) hoặc “tương thích SNMP” (SNMPcompartible)

SNMP dùng để quản lý, nghĩa là 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 để hệ thố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

 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

Trang 8

SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nềnTCP/IP và quản lý các thiết bị có nối mạng TCP/IP Các thiết bị mạng không nhấtthiết phải là máy tính mà có thể là switch, router, firewall, adsl gateway, và cả một

số phần mềm cho phép quản trị bằng SNMP Giả sử bạn có một cái máy giặt có thểnối mạng IP và nó hỗ trợ SNMP thì bạn có thể quản lý nó từ xa bằng SNMP

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

I.2 Ưu điểm trong thiết kế của SNMP

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 rằng 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 có hoạt động khác nhau nhưngđáp ứng SNMP là giống nhau VD bạn có thể dùng 1 phần mềm để theo dõi dunglượng ổ cứng còn trống của các máy chủ chạy HĐH Windows và Linux; trong khinếu không dùng SNMP mà làm trực tiếp trên các HĐH này thì bạn phải thực hiệntheo các cách khác nhau

I.3 Các thành phần trong SNMP

Kiến trúc của SNMP bao gồm 2 thành phần chính đó là các trạm quản lý

mạng (Network Management Station) và các thành tố của mạng (Network

Trang 9

Network management station thường là một máy tính chạy phần mềm quản lý

SNMP (SNMP management application), dùng để giám sát và điều khiển tập trung các network element

Network element là các thiết bị, máy tính, hoặc phần mềm tương thích SNMP

và được quản lý bởi network management station Như vậy element bao gồm

device, host và application

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õ hơn các khái niệmnày :

Object Id (OID)

Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗi

thông tin đó gọi là một object.Ví 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ối mạng, tên máy tính….Router có thể cung cấp các thôngtin : tổng số card, tổng số port, tổng số byte đã truyền/nhận,…

Trang 10

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) VD : Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5.

Địa chỉ Mac Address của một port được gọi là ifPhysAddress, OID là1.3.6.1.2.1.2.2.1.6

Một object chỉ có một OID, chẳng hạn tên của thiết bị là một object Tuynhiên nếu một thiết bị lại có nhiều tên thì làm thế nào để phân biệt? Lúc này người

ta dùng thêm 1 chỉ số gọi là “scalar instance index” (cũng có thể gọi là “sub-id”)đặt ngay sau OID Ví dụ : Địa chỉ Mac address được gọi là ifPhysAddress, OID là1.3.6.1.2.1.2.2.1.6; nếu thiết bị có 2 mac address thì chúng sẽ được gọi làifPhysAddress.0 & ifPhysAddress.1 và có OID lần lượt là 1.3.6.1.2.1.2.2.1.6.0 &1.3.6.1.2.1.2.2.1.6.1

Ở hầu hết các thiết bị, các object có thể có nhiều giá trị thì thường được viết

dưới dạng có sub-id VD một thiết bị dù chỉ có 1 tên thì nó vẫn phải có OID là

sysName.0 hay 1.3.6.1.2.1.1.5.0 Bạn cần nhớ quy tắc này để ứng dụng trong lậptrình phần mềm SNMP manager

Sub-id không nhất thiết phải liên tục hay bắt đầu từ 0 VD một thiết bị có 2

mac address thì có thể chúng được gọi là ifPhysAddress.23 vàifPhysAddress.125645

OID của các object phổ biến có thể được chuẩn hóa, OID của các object dobạn tạo ra thì bạn phải tự mô tả chúng Để lấy một thông tin có OID đã chuẩn hóathì SNMP application phải gửi một bản tin SNMP có chứa OID của object đó choSNMP agent, SNMP agent khi nhận được thì nó phải trả lời bằng thông tin ứng vớiOID đó

Trang 11

Mỗi object có quyền truy cập là READ_ONLY hoặc READ_WRITE Mọi object đề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ị

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 node trong cây là một object, có thể được gọi bằng tên hoặc id Ví dụ :

Trang 12

Node iso.org.dod.internet.mgmt.mib-2.system có OID là 1.3.6.1.2.1.1,

chứa tất cả các object liên quan đến thông tin của một hệ thống nhưtên của thiết bị (iso.org.dod.internet.mgmt.mib-2.system.sysName hay1.3.6.1.2.1.1.5)

 Các OID của các hãng tự thiết kế nằm dướiiso.org.dod.internet.private.enterprise Số 9-Cisco hay 311-Microsoft là sốdành riêng cho các công ty do IANA cấp Nếu Cisco hay Microsoft chế tạo

ra một thiết bị nào đó, thì thiết bị này có thể hỗ trợ các MIB chuẩn đã đượcđịnh nghĩa sẵn (như mib-2) hay hỗ trợ MIB được thiết kế riêng Các MIBđược công ty nào thiết kế riêng thì phải nằm bên dưới OID của công ty đó.Các objectID trong MIB được sắp xếp thứ tự nhưng không phải là liên tục,khi biết một OID thì không chắc chắn có thể xác định được OID tiếp theotrong MIB

I.4 Các phương thức của SNMP

Trang 13

Thông thường SNMP có 5 phương thức như bảng sau:

Riêng với các phương thức GetRequest, GeNextQuest, SetRequest thì khiManager gửi một yêu cầu thì Agent mới tự động gửi câu trả lời GetRespone với oidtương ứng, còn phương thức Trap sẽ được Agent tự động gửi về Manager màkhông cần hỏi

Các phương thức GetResquest, GetNextRequest thì SNMP Agent lắng nghetrên port 161, còn phương thức tráp thì SNMP Manager lắng nghe trên port 62

Trang 14

I.5 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ép

quả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à SNMP access control list.

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 Community string có 3 loại : Read-community, Write-Community và Trap-Community

Khi manager gửi GetRequest, GetNextRequest đến agent thì trong bản tingửi đi có chứa Read-Community Khi agent nhận được bản tin request thì nó sẽ sosánh Read-community do manager gửi và Read-community mà nó được cài đặt.Nếu 2 chuỗi này giống nhau, agent sẽ trả lời; nếu 2 chuỗi này khác nhau, agent sẽkhông trả 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

View

Trang 15

Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent.Tuy nhiê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ênagent có thể định nghĩa nhiều view Một view phải gắn liền với một communitystring Tùy vào community string nhận được là gì mà agent xử lý trên view tươngứng

SNMP access control list

Khi manager gửi không đúng community hoặc khi OID cần lấy lại khôngnằm trong 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ácSNMP manager không được phép, người quản trị có thể dùng đến SNMP accesscontrol list (ACL)

SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sátagent, nó chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent Nếu mộtmanager có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dùrequest có community string là đúng

I.6 Cấu trúc bản tin SNMP

SNMP chạy trên nền UDP Cấu trúc của một bản tin SNMP bao gồm : version,community và data

Trang 16

 Version : v1 = 0, v2c = 1, v2u = 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ên chỉ có 2loại định dạng bản tin là PDU và Trap-PDU; trong đó các bản tin Get,GetNext, Set, GetResponse có cùng định dạng là PDU, còn bản tin Trap cóđịnh dạng là Trap-PDU

II Management Information Base (MIB)

II.1 SMI Version 1

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 củamib file, cấu trúc này gọi là SMI (Structure of Management Information) Sau nàyngười ta mở rộng thêm cấu trúc của mib thành SMI version 2, và phiên bản trongRFC1155 được gọi là SMIv1

RFC1155 bao gồm 3 phần : Name, Syntax và Encoding:

Name

Name là định danh của object, có kiểu OBJECT IDENTIFIER OBJECT

Trang 17

Gốc (root node) trong mib không không có tên Dưới root là 3 node con :

ccitt(0) : do CCITT quản lý (Consultative Committee for International

Telephone and Telegraph)

iso(1) : do tổ chức ISO quản lý (International Organization for

Standardization)

o org(3): Là node mà ISO dành cho các tổ chức khác

o dod(6): Là một trong số nhiều node của org(3) node này

được dành riêng cho US Department of Defense

internet(1): Dưới dod(6) chỉ có 1 node, và dành cho

cộng đồng internet

joint-iso-ccitt(2) : do cả ISO và CCITT quản lý.

Tất cả mọi thứ thuộc về cộng đồng Internet đều nằm dưới.iso.org.dod.internet, mọi object của các thiết bị TCP/IP đều bắt đầu với prefix 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 :

o directory : dành riêng cho tương lai nếu dịch vụ OSI Directory được sửdụng trên internet

o mgmt (management) : tất cả các mib chuẩn chính thức của internet đềunằm dưới mgmt Mỗi khi một RFC mới về mib ra đời thì tổ chức IANA

Trang 18

(Internet Assigned Numbers Authority) sẽ cấp cho mib đó một identifier nằm dưới mgmt.

object-o experimental : dùng chobject-o các object-object đang trobject-ong quá trình thử nghiệm,được IANA cấp phát

o private : dùng cho các object do người dùng tự định nghĩa, tuy nhiêncác chỉ số cũng do IANA cấp

Syntax

Syntax mô tả kiểu của object là gì Syntax được lấy từ chuẩn ASN.1 nhưngkhông phải tất cả các kiểu đều được hỗ trợ SMIv1 chỉ hỗ trợ 5 kiểu nguyên thủy(primitive types) lấy từ ASN.1 và 6 kiểu định nghĩa thêm (defined types)

Primitive types : INTEGER, OCTET-STRING, OBJECT-IDENTIFIER,

NULL, SEQUENCE

Defined types :

o NetworkAddress : kiểu địa chỉ internet (ip)

o IpAddress : kiểu địa chỉ internet 32-bit (ipv4), gồm 4 octet liên tục

Trang 19

o Counter : kiểu số nguyên không âm 32-bit và tăng đều, khi số này tăngđến giới hạn thì phải quay lại từ 0 Giá trị tối đa là 232-1 (4294967295).

o Gauge : kiểu số nguyên không âm 32-bit, có thể tăng hoặc giảm nhưngkhông tăng quá giá trị tối đa 232-1

o TimeTicks : kiểu số nguyên không âm, chỉ khoảng thời gian trôi qua kể

từ một thời điểm nào đó, tính bằng phần trăm giây

o Opaque : kiểu này cho phép truyền một giá trị có kiểu tùy ý nhưngđược đóng lại thành từng OCTET-STRING theo quy cách của ASN.1.S

Encoding

Cơ chế Encoding là chuẩn BER trong ASN.1

Cấu trúc kiểu OBJECT-TYPE

RFC1155 quy định cấu trúc của một record “định nghĩa đối tượng quản lý” (amanaged object definition), kiểu dữ liệu này gọi là OBJECT-TYPE, các tài liệu mibkhác khi viết định nghĩa cho một managed object nào đó thì phải theo quy định củaSMI Một “Managed Object Definition” có kiểu OBJECT-TYPE bao gồm cáctrường:

SYNTAX : kiểu của object, là một trong các primitive types hoặc defined

types ở trên

ACCESS : mức truy nhập của object, mang một trong các giá trị read-only,

read-write, write-only, not-accessible

STATUS : mang một trong các giá trị mandatory (bắt buộc phải hỗ trợ),

optional (có thể hỗ trợ hoặc không), obsolete (đã bị thay thế) Một agent nếu

hỗ trợ một chuẩn mib nào đó thì bắt buộc phải hỗ trợ tất cả các object cóstatus=mandatory, còn status=optional thì có thể hỗ trợ hoặc không

DESCRIPTION : dòng giải thích cho ý nghĩa của object.

II.2 Mib-2 (RFC1213)

Trang 20

Như đã trình bày ở trên RFC1155 mô tả cách trình bày một mib file như thếnào chứ không định nghĩa các object RFC1213 là một chuẩn định nghĩa nhánh mibnằm dưới iso.org.dod.internet.mgmt.mib-2 (tất nhiên phải theo cấu trúc màRFC1155 quy định) RFC1155 là đặc tả mib chuẩn cho các thiết bị TCP/IP, đượccoi là Internet-Standard Mib (mib version 1) RFC1213 là đặc tả mib chuẩn version

2, thường gọi là mib-2 Chú ý phân biệt mib-1 và mib-2 là các chuẩn đặc tả địnhnghĩa của các object, còn SMIv1 và SMIv2 là đặc tả cấu trúc của mib file Mib-1 vàmib-2 sử dụng cấu trúc của SMIv1

Mib-2 là một trong những mib được hỗ trợ rộng rãi nhất Nếu một thiết bịđược tuyên bố là có hỗ trợ SNMP thì hãng sản xuất phải chỉ ra nó hỗ trợ các RFCnào, và thường là RFC1213 Nhiều bạn chỉ biết thiết bị của mình “có hỗ trợSNMP” nhưng không rõ hỗ trợ các RFC nào, và dùng phần mềm giám sát SNMP

hỗ trợ RFC1213 để giám sát thiết bị nhưng không thu được kết quả Lý do là phầnmềm thì hỗ trợ RFC1213 nhưng thiết bị thì không.Vị trí của MIB-2 trong mib nhưsau :

Trang 21

Các kiểu dữ liệu mới được định nghĩa trong mib-2 gồm :

Display String : kế thừa từ kiểu OCTET STRING nhưng chỉ bao gồm

các ký tự in được (printable characters) và dài không quá 255 ký tự

Physycal Address: giống kiểu OTET STRING nhưng chỉ được dùng

riêng để định nghĩa địa chỉ vật lý của thiết bị

Để có được mô tả đầy đủ các bạn hãy tham khảo cấu trúc cây RFC1213:

Trang 23

II.3 SMI Version 2

SMIv2 (Structure of Management Information version 2) được trình bày trongRFC2578, bao gồm nhiều thay đổi trong cấu trúc mib file Phần này trình bàynhững thay đổi chủ yếu nhất

Các kiểu dữ liệu mới hoặc thay đổi so với SMIv1

INTEGER32: số nguyên nằm trong khoảng -231 and 231-1

(-2147483648 to 2147483647 decimal)

OCTET STRING : kiểu chuỗi ký tự, độ dài tối đa 65535.

Trang 24

OBJECT IDENTIFIER : định danh của object, không quá 128 phần tử

và giá trị của mỗi phần tử là số nguyên không vượt quá 232-1

COUNTER32 : kiểu số nguyên không âm tăng dần, tối đa là 232-1,khi vượt giá trị tối đa thì quay lại từ 1 Counter32 không bắt buộc giátrị bắt đầu phải là 0

GAUGE32 : kiểu số nguyên không âm tăng hoặc giảm, giới hạn trong

khoảng 0 ~ 232-1, nó không thể vượt ra giới hạn này

COUNTER64 : kiểm số nguyên không âm tăng dần, tối đa là 264-1(18446744073709551615)

UNSIGNED32 : kiểu số nguyên từ 0 ~ 232-1

Kiểu dữ liệu OBJECT-TYPE

Trong SMIv1 kiểu OBJECT-TYPE bao gồm : SYNTAX, ACCESS, STATUS,DESCRIPTION Trong SMIv2 kiểu OBJECT-TYPE bao gồm các trường :SYNTAX, UNITS, MAX-ACCESS, STATUS, DESCRIPTION, REFERENCE,INDEX, AUGMENTS, DEFVAL

SYNTAX : kiểu dữ liệu của object, là một kiểu theo chuẩn ASN.1 hoặc các

kiểu định nghĩa riêng của SMIv2

UNITS : là dòng text mô tả một unit nào đó gắn liền với object, trường

này không bắt buộc phải có

MAX_ACCESS : có 5 quyền truy xuất object có ưu tiên từ thấp đến cao là

"not-accessible", "accessible-for-notify", only", write", create"; MAX_ACCESS quy định quyền cao nhất tác động đến object,quyền cao hơn bao gồm các quyền thấp hơn

"read- STATUS : trạng thái của object, mang một trong các giá trị “current” (định

nghĩa của object đang có hiệu lực và đang được sử dụng), “obsolete”

Trang 25

DESCRIPTION : dòng text mô tả thông tin ý nghĩa của object.

REFERENCE : là dòng text mô tả đến các tài liệu khác có liên quan đến

object này, reference không bắt buộc phải có

INDEX : chỉ ra trường index của object hiện tại.

AUGMENTS : tương tự như INDEX và có thể dùng thay thế INDEX,

nhưng chỉ một trong 2 trường INDEX hoặc AUGMENTS tồn tại, khôngthể tổn tại cùng lúc cả 2

DEFVAL : giá trị mặc định (default value) của object khi nó được tạo ra.

Kiểu dữ liệu NOTIFICATION-TYPE

Kiểu NOTIFICATION-TYPE được dùng để mô tả những thông tin quản lýmạng được truyền không theo yêu cầu (ví dụ bản tin TrapPDU hoặcInformRequestPDU của SNMPv2, chúng được tự động gửi đi khi có sự kiện xảy ra

mà không cần phải có request từ thiết bị khác) Các notification phải được địnhnghĩa trong mib, cấu trúc của chúng bao gồm các mệnh đề sau :

OBJECT : danh sách có thứ tự các object có liên quan đến notification,

vd bản tin notification cho 4 interface của thiết bị thì OBJECT phảichứa ifIndex của 4 interface đó

STATUS : mang một trong 3 giá trị “current”, “obsolete” hoặc

“depricated”

DESCRIPTION : dòng text mô tả ý nghĩa của notification.

REFERENCE : mô tả các tài liệu có liên quan đến định nghĩa của

notification, REFERENCE không bắt buộc phải có

II.4 Host-Resources-Mib (RFC2790)

Trang 26

RFC2790 là mib dùng cho host, nó cung cấp định nghĩa nhiều object nhưthông tin hệ thống, lưu trữ, device, software, performance Dịch vụ SNMP agenttrên Windows và Linux đều hỗ trợ RFC2790.

Vị trí của Host-mib trong mib như sau :

Tức là iso.org.dod.internet.mgmt.mib-2.host hay 1.3.6.1.2.1.25

Các kiểu dữ liệu mới được định nghĩa trong host-mib gồm :

Kbytes : kiểu INTEGER32, thể hiện kích thước của thiết bị lưu trữ, đơn

vị tính là 1024 Bytes

ProductID : xác định nhà sản xuất, model, phiên bản của phần cứng hay

phần mềm

AutonomousType : kiểu giá trị định danh có thể mở rộng độc lập.

DateAndTime : kiểu ngày và giờ, định dạng như sau :

“year-mon-day,hour:min:sec.centiSec,±HourFromUCT:MinFromUTC”

Mục này trích định nghĩa một số object quan trọng trong công tác giám sátserver như tình trạng hệ thống, tình trạng lưu trữ (ổ cứng), tỷ lệ sử dụng cpu & bộ

Trang 27

dùng các công cụ đọc mib để đọc các object này Để có được mô tả đầy đủ các bạnhãy tham khảo RFC2790

Trang 30

III Các phiên bản SNMP

Trang 31

Phần 1 chúng ta đã trình bày về các vấn đề liên quan đến SNMPv1 là có gồm : 5phương thức hoạt động và các cấu trúc bản tin Nên phần này chúng ta sẽ trình bàyngắn gọn lại và thêm phần cấu trúc các PDU.

Các phương thức của SNMPv1

 GetRequest : lấy thông tin của object có OID trong bản tin

 GetNextRequest : lấy thông tin của object nằm kế tiếp object có OIDtrong bản tin

 SetRequest : thiết lập giá trị cho object có OID trong bản tin

GetResponse : trả về thông tin kết quả sau khi Get hoặc Set.

 Trap : thông báo có sự kiện xảy ra tại agent

Agent lắng nghe request ở cổng UDP 161 còn manager nhận trap ở cổng UDP 162

Cấu trúc của PDU GetRequest

request-id : mã số của request ID này là số ngẫu nhiên do manager tạo

ra, agent khi gửi bản tin GetResponse cho request nào thì nó phải gửirequestID giống như lúc nhận Giữa manager và agent có thể có nhiềurequest & reponse, một request và một response là cùng một phiên traođổi khi chúng có requestID giống nhau

error-status : nếu = 0 là thực hiện thành công không có lỗi, nếu <> 0 là

có lỗi xảy ra và giá trị của nó mô tả mã lỗi Trong bản tin GetRequest,GetNextRequest, SetRequest thì error-status luôn = 0

error-index : số thứ tự của objectid liên quan đến lỗi nếu có Trong

variable-bindings có nhiều objectid, được đánh số từ 1 đến n, một bản tinGetRequest có thể lấy cùng lúc nhiều object

Varible-bindings: danh sách các cặp ObjectId – Value, cần lấy bảng tin,

ObjectId là chứa OID của bảng tin cần lấy, giá trị value bằng NULL đến

khi Agent gửi thông tin trả lời và điền vào giá trị tương ứng với OID

Trang 32

Cấu trúc của PDU GetResponse

request-id : mã số của request ID này phải giống với request-id của bản

tin GetRequest trước đó

error-status : mang một trong các giá trị noError(0), tooBig(1),

noSuchName(2), badValue(3), readOnly(4), genErr(5) Nếu agent lấythông tin để trả lời request thành công thì error-status là noError(0)

objectid : định danh của object được trả về Nếu trước đó là GetRequest

thì objectid sẽ giống với objectid trong bản tin request, nếu trước đó làGetNextRequest thì objectid sẽ là định danh của object nằm sau (nằm sautrong mib) objectid của request

Cấu trúc của PDU GetNextRequest

Cấu trúc GetNextRequest giống với GetRequest, chỉ khác ở PDU GetRequest

Trang 33

Cấu trúc của PDU SetRequest

Cấu trúc SetRequest cũng giống với GetRequest, objectid-value chỉ ra đối tượng vàgiá trị cần set

Cấu trúc của PDU Trap

Cấu trúc của bản tin trap của SNMPv1 như sau:

enterprise: kiểu của object gửi trap Đây là một OID giúp nhận dạng thiết bị

gửi trap là thiết bị gì, nhận dạng chi tiến đến hãng sản xuất, chủng loại,model OID này bao gồm chỉ số doanh nghiệp và chỉ số id của thiết bị có thể

do hãng tự định nghĩa

 agent address: địa chỉ IP của nguồn sinh ra trap

 generic trap: kiểu của loại trap generic

Trang 34

specific trap: kiểu của các loại trap do người dùng tự định nghĩa.

 time trap: thời gian tính từ lúc thiết bị khỏi động đến lúc gửi bản tin trap, tínhbằng centi giây

varible-binding: các cặp OjectId-Value mô tả các object có liên quan đến

trap

III.2 SNMPv2c

Khác biệt của SNMPv2c so với SNMPv1 là :

 Có nhiều phương thức hơn so với SNMPv1

 Cấu trúc bản tin Trap PDU khác so với SNMPv1

 Có thêm bản tin Bulk PDU với cấu trúc riêng

Các phương thức của SNMPv2c

SNMPv2c có 8 phương thức gồm : GetRequest, GetNextRequest, Response,SetRequest, GetBulkRequest, InformRequest, Trap và Report Như vậy so vớiSNMPv1 thì v2c có thêm các phương thức GetBulk, Inform và Report

GetRequest : manager gửi GetRequest cho agent để lấy thông tin.

GetNextRequest : manager gửi GetNextRequest cho agent để lấy thông

tin của object nằm sau object được chỉ ra trong bản tin GetNext

SetRequest : manager gửi SetRequest cho agent để thiết lập giá trị cho

một object nào đó

GetBulkRequest : phương thức này dùng để lấy một loạt nhiều object

chỉ trong 1 bản tin GetBulk Các bản tin Get/GetNext vẫn có thể lấycùng lúc nhiều object bằng cách đưa tất cả chúng vào danh sáchvariable-bindings trong bản tin request, nhưng GetBulk có thể lấy nhiềuobject mà chỉ cần chỉ ra 1 object trong variable-bindings

Response : agent gửi Response cho manager để thông báo kết quả của

request mà nó nhận trước đó, Response là bản tin trả lời cho các

Trang 35

Trap : agent gửi Trap cho manager để thông báo về một sự kiện đang

xảy ra tại agent

InformRequest : có tác dụng tương tự như trap, nhưng khi manager

nhận được InformRequest thì nó sẽ gửi lại Response để xác nhận đãnhận được thông báo, còn Trap thì không có cơ chế xác nhận

Report : bản tin Report không được định nghĩa trong RFC3416, các hệ

thống có sử dụng Report phải tự định nghĩa chúng, tuy nhiên bản tinReport vẫn có cấu trúc giống như các bản tin khác

Hình sau minh họa hoạt động của các phương thức SNMPv2c :

Cấu trúc bản tin SNMPv2c

Cấu trúc chung của bản tin SNMPv2c như sau:

Trang 36

version : phiên bản SNMP (v1 = 0, v2c = 1, v2u = 2, v3 = 3).

community string : chuỗi community.

data : phần data là các bản tin ứng với các phương thức của SNMP.

Trong SNMPv2c, bản tin PDU có 2 loại cấu trúc là PDU và BulkPDU Cácbản tin GetRequest, GetNextRequest, SetRequest, Response, Trap, InformRequest

và Report có cùng cấu trúc là PDU; còn GetBulkRequest có cấu trúc là BulkPDU

Cấu trúc PDU

Cấu trúc PDU của SNMPv2c không thay đổi gì so với PDU của SNMPv1, gồm cáctrường :

request-id : mã số của request ID này là số ngẫu nhiên do manager tạo

ra, agent khi gửi bản tin Response cho request nào thì nó phải gửirequestID giống như lúc nhận Giữa manager và agent có thể có nhiềurequest & reponse, một request và một response là cùng một phiên traođổi khi chúng có requestID giống nhau

error-status : nếu = 0 là thực hiện thành công không có lỗi, nếu <> 0 là

có lỗi xảy ra và giá trị của nó mô tả mã lỗi Trong các bản tin request thìerror-status luôn = 0

error-index : số thứ tự của objectid liên quan đến lỗi nếu có Trong

variable-bindings có nhiều objectid, được đánh số từ 1 đến n

variable-bindings : danh sách các cặp [ObjectID – Value] cần lấy thông

tin, trong đó objectId là định danh của object cần lấy, còn value là giá trịcủa object đó Khi agent gửi bản tin request thì value là không xác định,khi gửi trả lời thì nó sẽ điền vào value bằng giá trị của object

Cấu trúc Bulk PDU

Ngày đăng: 28/02/2019, 23:24

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w