Cấu hình NMS

Một phần của tài liệu Đồ án tốt nghiệp Giao thức SNMP (Trang 50 - 65)

1. Cài đặt và khi động

Sau đây ta sẽ sử dụng phần mềm SNMPc của Castle Rock để thảo luận về phần này. Trước tiên bạn phải tải phiên bản miễn phí của SNMPc tại địa chỉ www.castlerock.com về máy và bắt đầu công việc cài đặt phiên bản. Sau khi bạn nhẫn lên biểu tượng setup của phiên bản bạn tải về bạn sẽ thấy như hình sau:

Bạn hãy chọn nút “Server” và nhẫn “Next”. Bạn sẽ thấy màn hình tương tự như sau:

Sau đó, bạn hãy điền địa chỉ IP, “Subnet Mask” và mục “Community” bạn hãy điền vào giống như trên là “public” rồi tiếp tục nhấn “Next” thế là công việc cài đặt đã bắt đầu. Khi công việc cài đặt đã kết thúc thì bạn nên vào start\Programs\SNMPc Network Manager\Login Console để bắt đầu khởi động phần mềm. Lúc này bạn sẽ thấy màn hình sau:

Bạn nên nhấn vào nút “Start All” để bắt đầu công việc. Ở đây tôi lấy trường hợp là 2 máy tính ở nhà làm thí dụ để bạn thấy rõ hơn. Máy thứ nhất có địa chỉ là 192.168.1.2 và máy thứ hai có địa chỉ là 192.168.1.4. Sau khi khởi động tôi sẽ thấy màn hình như sau:

Lúc này bạn sẽ thấy ở cửa sổ bên trái là mô hình của mạng với địa chỉ gốc là 192.168.1. Sau đó bạn hãy nhấn chuột vào biểu tượng dấu “+” bạn sẽ nhận được địa chỉ của hai máy, đồng thời bạn nhấn chuột vào “Root Subnet” bạn sẽ nhận được như hình dưới đây:

Tiếp tục bạn hãy nhấn chuột vào thư mục 192.168.1 bạn sẽ thấy được topology của mạng:

Giả sử rằng, bạn đã rút hết dây mạng ra, khi đó bạn khởi động hệ thống thì bạn sẽ nhận được màn hình như dưới đây.

Lúc này cả thư mục gốc lẫn các máy trạm đều có màu đỏ báo hiệu rằng các thiết bị đều đã bị tắt.

Nhưng nếu dây mạng không bị rút, mà chỉ một máy bị tắt, thì máy đó trên topology sẽ có màu vàng.

2. Hướng dn s dng

a.Xem bản đồ của các phân tử trong mạng

Bạn vào View\Map View\Root Submap để xem phần tử cao nhất của bản đồ. Để xem mạng cấp dưới của bất kỳ phần tử nào thì hãy nhấn chuột hai lần lên cây sơ đồ ở panel bên trái hoặc biểu tượng của nó trên View Window Area.

Để xem tất cả các phần tử trong mạng thì bạn vào View\Map View\Show All.

Vào Window\Tile Horizontally hoặc Tile Vertiacally để xem một lúc hai bản đồ theo kiểu chia ngang hoặc chia dọc cửa sổ window.

b.Dịch chuyển các đối tượng

Để dịch chuyển các đối tượng trên bản đồ một cách logic và dễ coi, thì trước hết bạn cần phải dùng khung lưới để định vị. Bạn vào Config\Console Options\Show Grid để vẽ khung lưới. Để dịch chuyển một đối tượng từ một cây con này đến một cây con khác, bạn phải làm theo các bước sau:

- Xóa hết tất cả các bản đồ đang trình diễn trên cửa sổ window Window\Close All.

- Mở hai cửa sổ window cho hai cây con chứa trực tiếp hai đối tượng.

- Chia cửa sổ window làm hai để chưa cả hai cửa sổ Window\Tile Horizontally.

- Chọn đối tượng mà bạn muốn chuyển đi, sau đó kéo đối tượng ấy sang vị trí mà bạn cần dịch chuyển ở cửa sổ kia.

c. Thay đổi thuộc tính của đối tượng

Để thay đổi thuộc tính của đối tượng bạn có thể nhấn chuột phải lên biểu tượng của đối tượng ở cửa sổ window, hoặc vào Edit\Properties.

Ở đây bạn có thể thay đổi tên của đối tượng (Label), kiểu của đối tượng (Type), địa chỉ (Address), biểu tượng (Icon), mô tả (Descr), hoặc nhóm (Group) ở mục General.

Nếu bạn muốn thay đổi thuộc tính, hay các tham số và của đối tượng bạn có thể vào mục Access. Gồm có các thuộc tính sau:

- Read Access Mode: được dùng để giám sát và thao tác của SNMP Read. Chọn ICMP cho các thiết bị không phải là SNMP, chọn SNMPv1 cho các thiết bị SNMP chuẩn, và chọn NONE cho các thiết bị chỉ dùng TCP.

- Read/Write Access Mode: được dùng cho các thao tác SNMP Write, chọn SNMPv1 cho các thiết bị SNMP chuẩn.

- Read Community: tên Community được sử dụng cho các thao tác SNMPv1 và SNMPv2 khi mà Read Access Mode được sử dụng.

- Read/Write Community: tên Community được sử dụng cho các thao tác SNMPv1 và SNMPv2 khi mà Read\Write Access Mode được sử dụng.

d. Xem cơ sở dữ liệu của thiết bị (adsbygoogle = window.adsbygoogle || []).push({});

S dng cây

Đầu tiên bạn chọn đối tượng cần xem. Sau đó bạn vào View\Selection Tool, lúc này bạn sẽ thấy ở cửa sổ bên trái có mục Mib, bạn hãy chọn mục này.

Vào mục “mgmt” để xem các toán tử Mib chuẩn. Vào mục “private” để xem các toán tử Mib trạm.

Bạn chọn một mục bất kỳ, và tìm cho đến khi thấy thấy các biểu tượng table thì bạn nhấp chuột bên phải và vào View Graph hay View Table để xem bảng này.

S dng menu

Bạn có thể chọn mục Manage và chọn thiết bị mà bạn muốn xem.

Ngoài ra, nếu bạn muốn tìm hiểu hay truy vấn cơ sở dữ liệu của thiết bị thì bạn cần phải biết rõ nơi lưu trữ chính xác (đã được giới thiệu ở chương 3). Ví dụ như bạn muốn biết kích thước lớn nhất của một gói tin có thể được gửi và nhận trên cổng thì bạn chọn: mgmt\interfaces\ifTable\ifEntry\ifMtu giống như hình bên dưới. Sau đó, bạn hãy bấm chuột phải vào đối tượng rồi chọn “View Table”, bạn sẽ thấy rằng kích thước lớn nhất một gói tin có thể gửi là 1520 octet và kích thước lớn nhất một gói tin có thể nhận là 1500 octet.

Bên cạnh đó bạn còn có thể xem nhiều thông tin khác như tên của nhà sản xuất hay phiên bản của hệ điều hành của từng thiết bị…

e. Giám sát thiết bị:

Bạn có thể theo dõi quá trình hoạt động của các thiết bị hiện tại trong mạng bằng cách nhấn chuột vào bên phải biểu tượng của thiết bị mà bạn muốn xem sau đó bạn chọn View\Active Events .

Nếu bạn muốn xem quá trình hoạt động của thiết bị trong những ngày trước thì bạn cũng làm tương tự như trên và chọn View\Event History.

CHƯƠNG 6: ỨNG DỤNG VÀ XÂY DỰNG MỘT VÀI TIỆN ÍCH

I. ỨNG DỤNG

Qua những gì ta đã tìm hiểu thì ta có thể ứng dụng các chương trình và tiện ích miễn phí để quản lý và giám sát các thiết bị trong mạng của chúng ta như: tài nguyên của các thiết bị, tình trạng của các thiết bị …Để làm được những điều này chúng ta cần phải:

- Cài đặt tiện ích NET–SNMP agent hoặc bất kỳ tiện ích tương tự lên các thiết bị mà ta cần quản lý.

- Dùng các phần mềm quản lý như là: Castle Rock’s SNMPc hay HP’s OpenView Network Node Manager…

Sau khi thực hiện những công việc cài đặt và cấu hình các thiết bị trên các tiện ích bạn có thể dễ dàng quản lý các thiết bị trong mạng của bạn. Nhưng tùy theo sản phẩm mà bạn mua hay tai miễn phí mà chức năng của nó có giới hạn về các tiện ích sử dụng hay hạn chế về mặt kỹ thuật. Qua một thời gian sử dụng lâu dài bạn có thể làm quen và tìm hiểu rõ về các tiện ích và phần mềm đó từ đó bạn có thể xây dựng riêng cho mình một phần mềm quản lý tùy theo ý thích của bạn thân.

II. XÂY DỰNG MỘT VÀI TIỆN ÍCH

Sau một khoảng thời gian ngắn tìm hiểu và sử dụng các tiện ích và phần mềm miễn phí trên mạng, em cảm thấy có rất nhiều ngôn ngữ phù hợp để xây dựng NMS, một trong những ngôn ngữ đó là Perl. Trên cơ sở thực hiện đề tài em cũng muốn tìm hiểu thêm về một ngôn ngữ mới nên em đã quyết định chọn Perl làm ngôn ngữ để lập trình.

1. Tìm hiu v ngôn ng Perl

a. Lịch sử phát triển

Trước khi Java hay Javascript chiếm lĩnh Internet, và thậm chí trước khi Web xuất hiện thì Perl (Practical Extraction and Reporting Language) đã có một vai trò

rất quan trọng. Từ việc tự động hóa các tác vụ UNIX cho đến việc thực hiện thường trình phân tích file, Perl được sử dụng như một ngôn ngữ tiện ích thực sự.

Ngày nay, Perl được sử dụng theo nhiều cách mới mẻ và đầy sáng tạo. Perl có thể được dùng để xử lý file, truy cập dữ liệu, và được dùng cho giao diện cổng chung (Commen Gateway Interface - CGI), tiến trình tạo scrip của Microsoft Windows, giao diện người dùng đồ họa (Graphical User Interfaces - GUI). Perl không chỉ là một ngôn ngữ đa năng và hữu dụng mà còn tương đối dễ học.

Perl là một ngôn ngữ lập trình cũ, nó được sử dụng vào năm 1987 và kể từ đó đã có 4 phiên bản chính va một phiên bản phụ. Hiện nay Perl tự hào là một trong những ngôn ngữ lập trình nhiều người học nhất và họ thường là những người sử dụng hệ điều hành Linux, OS/2, và MAC OS.

b. Các kiểu biến của Perl

Perl chỉ có 3 kiểu dữ liệu chính là:

- Kiểu dữ liệu vô hướng: biểu diễn một giá trị đơn giản, có thể là một chuỗi, một số integer, hoặc số floating. Perl sẽ tự động chuyển kiểu giữa chúng.

- Arrays: chứa một danh sách các giá trị. - Hashes: thiết lập cặp gía trị và khóa. c. Các cấu trúc điều khiển

Gồm có cáccâu lệnh điều khiến sau: (adsbygoogle = window.adsbygoogle || []).push({});

- If – then – else: câu lệnh điều kiện này có thể bỏ else đi cũng hợp lệ: if { Khối câu lệnh } else { Khối câu lệnh }

unless (biểu thức) { Khối câu lệnh } else { Khối câu lệnh }

- While: đây là câu lệnh cho phép bạn lặp lại một khối lệnh bao nhiêu lần tùy ý:

while (biểu thức) {

Khối câu lệnh }

- Until: ngược lại với câu lệnh while, nó thực hiện khối câu lệnh cho đến khi biểu thức là đúng.

until (biểu thức) {

Khối câu lệnh }

- Ngoài ra còn có câu lệnh điều kiện do while và do until, nó cũng tương tự như các ngôn ngữ lập trình khác.

- For: câu lệnh này lại giống ngôn ngữ Java và C++: for (i = 5; i < 5; i++)

{

Khối câu lệnh }

- Ngoài ra còn có câu lệnh điều khiển foreach, nó được dùng để lặp lại thông qua các nội dung của một biến mảng, điều này cho phép bạn xác định các phạm vi

khác nhau của một vòng lặp để lặp lại thay vì chỉ có thể xác định điểm khởi đầu và kết thúc: foreach $b (@a) { Khối câu lệnh }

- Bên cạnh đó, còn có các câu lệnh điều khiển đơn dòng như: next, last, redo. Perl là ngôn ngữ có đầy đủ tính năng như các ngôn ngữ khác. Vì thế, ngoài một số khác biệt mà em đã trình bày ở trên thì Perl không hề thiếu các tác vụ khác như là: chương trình con, làm việc với file và thư mục, gói và module, tương tác với cơ sở dữ liệu, và thông báo lỗi …

2. Xây dng ng dng:

Hiện tại, em đã viết được một ứng dụng nhỏ chạy trên nền DOS. Chương trình của em có thể kiểm tra được thông tin của các thiết bị trên mạng như là hãng sản xuất, dòng sản phẩm, hệ điều hành mà thiết bị đang sử dụng…

Sau đây là giao diện của chương trình khi chạy trên nền DOS, chương trình có tên là “baitap.pl”.

Ở giao diện trên bạn có thể thấy được cách lựa chọn các toán tử cơ bản để truy vấn dữ liệu là: get, getnext, walk và walkhash. Nhưng vì chương trình này

được viết để truy vấn hai máy tính mà em ví dụ, nên các toán tử được đánh số 1 và 2 để ta lựa chọn đối tượng mà ta truy vấn là máy nào.

Dưới đây là một ví dụ sử dụng toán tử get trên máy thứ nhất là “get1”. Lúc này ta cần phải đánh địa chỉ OID vào để xác định dữ liệu mà ta cần lấy. Ở đây, ta sẽ lấy tên của máy thứ nhất chẳng hạn thì ta có thể đưa vào là “sysUptime” hoặc là “.1.3.6.1.2.1.1.3.0”. Ta thấy kết quả trả về là 1:45:15, tức là máy1 đã chạy được 1 giờ 45 phút 15 giây.

Toán tử getnext thì có công dụng là lấy giá trị của đối tượng tiếp theo. Cách thức dùng toán tử này hoàn toàn giống như cách dùng của toán tử get. Ở ví dụ dưới đây ta thấy rằng OID mà ta truy vấn là “sysName” nhưng kết quả trả về lại là giá trị của “sysLocation” (.1.3.6.1.2.1.1.6.0)

Còn nếu ta dùng toán tử “walk” thì ta có thể lấy thông tin của các đối tượng trên cây MIB như là toán tử get. Nhưng khi ta dùng toán tử này, nó sẽ trã về giá trị cho đến khi nào đến hết một phân nhánh của cây. Dưới đây là một ví dụ minh họa:

Ở ví dụ trên ta thấy rằng OID mà ta truy vấn là “ifTable” (hoặc là “.1.3.6.1.2.1.2.2”), nó sẽ in ra danh sách các cổng vào và một số dữ liệu. Nhưng với kết quả như trên ta rất khó đọc. Vì thế , em có cải tiến hơn một chút là cho phép thêm một toán tử nữa là “walkhash”, chức năng của nó giống hệt như toán tử “walk”. Sau đây là kết quả kho sử dụng toán tử “walkhash”:

Em tin rằng, nếu có thời gian sử dụng va nghiên cứu lâu dài các sản phẩm của thị trường thì ta có thể tự xây dựng cho mình một phần mềm quản trị riêng, phù hợp với đặc trưng của mạng chúng ta, có các đặt tính mà ta cần…

KẾT LUẬN

Qua quá trình làm đề tài em cảm thấy mình đã chưa làm được và làm được các vấn đề sau:

1. Chưa làm được

Do thời gian nghiên cứu có hạn, khả năng sử dụng ngôn ngữ chưa thông thạo và nhất là chưa có kinh nghiệm trong công việc quản trị mạng nên em còn một số khuyết điểm sau:

- Chưa thể xây dựng một chương trình quản trị mạng hoàn thiện như bao sản phẩm có trên thị trường. (adsbygoogle = window.adsbygoogle || []).push({});

- Chưa thể hiểu thấu được những vấn đề có thể phát sinh trong quá trình quản trị.

2. Các vic đã hoàn thành

Sau 12 tuần thực hiện đề tài em đã làm được các công việc sau:

- Tìm hiểu và biết được thế nào là giao thức quản trị mạng SNMP và công dụng của nó.

- Tìm hiểu được các công cụ ứng dụng trong công tác quản trị và giám sát mạng, từ đó có thể ứng dụng cho việc giám sát các thiết bị trong mạng nội bộ.

- Tìm hiểu và biết thêm về ngôn ngữ Perl, từ đó có thể viết được một ứng dụng nhỏ trên cơ sở đề tài.

TÀI LIỆU THAM KHẢO

- Ngôn ngữ lập trình Perl – TS Lê Minh Trung – NXB thống kê.

- Quản trị mạng máy tính – TS Đỗ Trung Tuấn – NXB đại học Quốc Gia Hà Nội.

- Mạng máy tính – TS Nguyễn Thúc Hải. - OReilly - Essential SNMP 2nd Edition(2005) - http://net-snmp.sourceforge.net

- http://www.castlerock.com - http://www.opennms.org - http://www.perl.com - http://www.perl.org

Một phần của tài liệu Đồ án tốt nghiệp Giao thức SNMP (Trang 50 - 65)