Cách ghi lại mạng của bạn bằng Netdot trên CentOS 7
Công cụ Tài liệu Mạng (Netdot) là một công cụ open-souce có thể giúp administrator mạng thu thập, tổ chức và duy trì tài liệu mạng.Các khả năng cơ bản:
- Khám phá và thăm dò ý kiến các thiết bị bằng SNMP
- Khám phá và xây dựng cấu trúc liên kết L2 bằng cách sử dụng các nguồn khác nhau: CDP, LLDP, STP và chuyển tiếp bảng chuyển tiếp
- Quản lý tài sản
- Quản lý địa chỉ IP cho v4 và v6
- Quản lý DHCP
- Quản lý DNS
- Quản lý cáp: tủ quần áo, phòng, socket , kết nối trong và giữa các tòa nhà, v.v.
- Quản lý liên hệ: administrator , nhà điều hành, phòng ban, nhà cung cấp, nhà cung cấp, v.v.
- Xuất cài đặt cho các công cụ bên ngoài: Nagios, RANCID, Cacti, BIND, v.v.
Xem trang web của dự án Netdot .
Trong hướng dẫn này, ta sẽ chỉ cho bạn cách thêm thiết bị vào Netdot và cách sử dụng nó để lập bản đồ và quản lý không gian địa chỉ IP của bạn.
Yêu cầu
Trước khi bắt đầu, hãy đảm bảo bạn đã hoàn thành các bước này.
- Triển khai CentOS 7 Server
- Thêm user sudo theo Cài đặt server ban đầu
- Thêm không gian swap vào server của bạn; ví dụ số tiền 4 GB là tốt
- Cài đặt phần mềm LAMP , vì Netdot yêu cầu web server và database
- Ghi lại password MySQL gốc của bạn; bạn cần nó trong hướng dẫn này
- Bật repository EPEL (Gói bổ sung cho Enterprise Linux):
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm sudo rpm -ivh epel-release-7-2.noarch.rpm
Thông tin thêm về kho EPEL có sẵn tại đây .
- Cài đặt các công cụ tiên quyết này sẽ cho phép bạn biên dịch các gói khác:
sudo yum install make gcc gcc-c++ autoconf automake rpm-build openssl-devel git perl perl-CPAN perl-Inline
- Cài đặt dnssec-tools theo cách thủ công (bạn có thể cần sử dụng một phương pháp khác nếu lo ngại về việc bỏ qua kiểm tra certificate ):
wget --no-check-certificate https://www.dnssec-tools.org/download/dnssec-tools-2.1-1.fc22.src.rpm -O /tmp/dnssec-tools.src.rpm rpmbuild --rebuild /tmp/dnssec-tools.src.rpm cd ~/rpmbuild/RPMS/x86_64/ sudo rpm -ivh --nodeps dnssec-tools-*
Cài đặt
Trong phần đầu tiên của hướng dẫn này, ta sẽ cài đặt và truy cập Netdot.
Bước 1 - Sao chép Kho lưu trữ Netdot
Lấy nguồn mới nhất cho Netdot từ GitHub:
cd /usr/local/src/ sudo git clone https://github.com/cvicente/Netdot.git netdot
Bước 2 - Cài đặt phụ thuộc
Đến đây bạn cần cài đặt các phụ thuộc. Ta sẽ làm điều này với tập lệnh đi kèm với Netdot, sử dụng trình quản lý gói yum để cài đặt một số phụ thuộc.
Đầu tiên chuyển đến folder nơi bạn đã extract các file từ repository Netdot:
cd /usr/local/src/netdot/
Chạy lệnh cài đặt :
sudo make rpm-install
Dấu nhắc sẽ hỏi bạn database nào bạn muốn sử dụng. Câu trả lời được đánh dấu màu đỏ :
Installing required RPM packages /usr/bin/perl bin/perldeps.pl rpm-install Which RDBMS do you plan to use as backend: [mysql|Pg]? mysql
Sau đó, tập lệnh sẽ cài đặt các module cần thiết. Ở phần cuối, bạn sẽ thấy bản tóm tắt này, cho thấy một số đã cài đặt và một số thì không:
Complete! ===============RESULTS=============== RRDs..............................................ok GraphViz..........................................ok Module::Build.....................................ok CGI...............................................MISSING Class::DBI........................................MISSING Class::DBI::AbstractSearch........................MISSING Apache2::Request..................................ok HTML::Mason.......................................MISSING Apache::Session...................................MISSING URI::Escape.......................................ok SQL::Translator...................................MISSING SNMP::Info 2.06...................................ok NetAddr::IP 4.042.................................ok Apache2::AuthCookie...............................MISSING Apache2::SiteControl..............................MISSING Log::Dispatch.....................................ok Log::Log4perl.....................................ok Parallel::ForkManager.............................ok Net::Patricia 1.20................................MISSING Authen::Radius....................................MISSING Test::Simple......................................MISSING Net::IRR..........................................MISSING Time::Local.......................................ok File::Spec........................................ok Net::Appliance::Session...........................MISSING BIND::Config::Parser..............................MISSING Net::DNS..........................................ok Text::ParseWords..................................ok Carp::Assert......................................ok Digest::SHA.......................................ok Net::DNS::ZoneFile::Fast..........................ok Socket6...........................................ok XML::Simple.......................................ok DBD::mysql........................................ok If there are still any missing Perl modules, you can try: make installdeps
Vì vậy, bạn phải cài đặt các module Perl bị thiếu:
sudo make installdeps
Dấu nhắc sẽ hỏi bạn một số câu hỏi. Các câu trả lời được đánh dấu màu đỏ :
Installing required Perl modules /usr/bin/perl bin/perldeps.pl install Which RDBMS do you plan to use as backend: [mysql|Pg]? mysql CPAN.pm requires configuration, but most of it can be done automatically. If you answer 'no' below, you will enter an interactive dialog for each configuration option instead. Would you like to configure as much as possible automatically? [yes] ENTER <install_help> Warning: You do not have write permission for Perl library directories. To install modules, you need to configure a local Perl library directory or escalate your privileges. CPAN can help you by bootstrapping the local::lib module or by configuring itself to use 'sudo' (if available). You may also resolve this problem manually if you need to customize your setup. What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') [local::lib] ENTER Autoconfigured everything but 'urllist'. Now you need to choose your CPAN mirror sites. You can let me pick mirrors for you, you can select them from a list or you can enter them by hand. Would you like me to automatically choose some CPAN mirror sites for you? (This means connecting to the Internet) [yes] ENTER
Tập lệnh có thể yêu cầu bạn tạo password giả cho mục đích thử nghiệm. Bạn có thể bỏ qua phần đó.
Quá trình này sẽ mất 10-15 phút để hoàn thành. Tập lệnh sẽ cài đặt các module bị thiếu. Cuối cùng, bạn sẽ thấy rằng mọi module đã được cài đặt thành công:
===============RESULTS=============== RRDs..............................................ok GraphViz..........................................ok Module::Build.....................................ok CGI...............................................ok Class::DBI........................................ok Class::DBI::AbstractSearch........................ok Apache2::Request..................................ok HTML::Mason.......................................ok Apache::Session...................................ok URI::Escape.......................................ok SQL::Translator...................................ok SNMP::Info 2.06...................................ok NetAddr::IP 4.042.................................ok Apache2::AuthCookie...............................ok Apache2::SiteControl..............................ok Log::Dispatch.....................................ok Log::Log4perl.....................................ok Parallel::ForkManager.............................ok Net::Patricia 1.20................................ok Authen::Radius....................................ok Test::Simple......................................ok Net::IRR..........................................ok Time::Local.......................................ok File::Spec........................................ok Net::Appliance::Session...........................ok BIND::Config::Parser..............................ok Net::DNS..........................................ok Text::ParseWords..................................ok Carp::Assert......................................ok Digest::SHA.......................................ok Net::DNS::ZoneFile::Fast..........................ok Socket6...........................................ok XML::Simple.......................................ok DBD::mysql........................................ok
Tất cả các module Perl cần thiết đã được cài đặt! Đến đây bạn có thể tiến hành bước tiếp theo.
Bước 3 - Cấu hình Dịch vụ SNMP
Ta cần cấu hình SNMP trên server này để Netdot có thể giám sát nó. Bạn cần phải cấu hình SNMP trên các thiết bị mạng khác mà bạn muốn Netdot giám sát, nhưng đối với hướng dẫn này, ta sẽ chỉ giám sát chính Server này.
Đầu tiên, bạn phải cài đặt Netdisco MIBs . Cài đặt các gói hỗ trợ SNMP:
sudo yum install net-snmp net-snmp-utils
Download các file Netdisco và extract chúng:
wget http://downloads.sourceforge.net/project/netdisco/netdisco-mibs/latest-snapshot/netdisco-mibs-snapshot.tar.gz -P /tmp sudo tar -zxf /tmp/netdisco-mibs-snapshot.tar.gz -C /usr/local/src
Tạo một folder mới cho Netdisco và di chuyển / sao chép các file cần thiết:
sudo mkdir /usr/local/netdisco sudo mv /usr/local/src/netdisco-mibs /usr/local/netdisco/mibs sudo cp /usr/local/netdisco/mibs/snmp.conf /etc/snmp/
Chỉnh sửa file cấu hình:
sudo vi /etc/snmp/snmp.conf
Comment các dòng có nhà cung cấp không cần thiết để tiết kiệm bộ nhớ và thời gian bằng cách thêm dấu thăng vào phía trước họ ( # ). Bạn cần để các dòng netdisco
hoạt động và comment tất cả các dòng khác:
. . . mibdirs /usr/local/netdisco/mibs/rfc mibdirs +/usr/local/netdisco/mibs/net-snmp mibdirs +/usr/local/netdisco/mibs/cisco # mibdirs +/usr/local/netdisco/mibs/3com # mibdirs +/usr/local/netdisco/mibs/aerohive # mibdirs +/usr/local/netdisco/mibs/alcatel # mibdirs +/usr/local/netdisco/mibs/allied # mibdirs +/usr/local/netdisco/mibs/apc # mibdirs +/usr/local/netdisco/mibs/arista . . . # mibdirs +/usr/local/netdisco/mibs/sonicwall # mibdirs +/usr/local/netdisco/mibs/trapeze # mibdirs +/usr/local/netdisco/mibs/xirrus . . .
Cuối cùng, bạn cần khởi động dịch vụ SNMP:
sudo systemctl start snmpd.service
Tìm hiểu thêm về SNMP trong loạt bài hướng dẫn Giám sát và Quản lý Mạng của bạn với SNMP . Bạn cần tham khảo loạt bài hướng dẫn đó khi thêm nhiều thiết bị hơn vào Netdot.
Bước 4 - Cấu hình Cài đặt Database cho Netdot
Netdot đi kèm với một file cấu hình mà bạn cần tùy chỉnh theo nhu cầu của bạn . Tạo một bản sao của Default.conf với tên Site.conf :
sudo cp /usr/local/src/netdot/etc/Default.conf /usr/local/src/netdot/etc/Site.conf
Sau đó, bạn có thể sửa đổi file Site.conf để phản ánh các tùy chọn cụ thể của bạn.
sudo vi /usr/local/src/netdot/etc/Site.conf
Tệp hoàn chỉnh không được hiển thị ở đây. Bạn phải xác định các biến sau và cập nhật chúng để phù hợp với cài đặt của bạn :
DB_TYPE => 'mysql' DB_DBA => 'root', DB_DBA_PASSWORD => 'rootpass', DB_HOST => 'localhost', DB_DATABASE => 'netdot', DB_NETDOT_USER => 'netdot_user', DB_NETDOT_PASS => 'netdot_pass',
Hầu hết các cài đặt mặc định đều ổn.
-
DB_DBA
: User MySQL có quyền tạo database ; nên root trong hầu hết các trường hợp -
DB_DBA_PASSWORD
password MySQL cho root: -
DB_DATABASE
: Tên database bạn muốn tạo cho Netdot -
DB_NETDOT_USER
: User database Netdot mà bạn muốn tạo -
DB_NETDOT_PASS
: Đặt password duy nhất cho user database Netdot
Bạn không phải tạo database hoặc user Netdot theo cách thủ công. Quá trình cài đặt sẽ đọc các giá trị từ file này và tạo database và user thích hợp.
Lưu ý: Nếu bạn sửa đổi file cấu hình trong tương lai, bạn phải khởi động lại Apache để các thay đổi có hiệu lực.
sudo systemctl restart httpd.service
Bước 5 - Cài đặt Netdot
Khởi tạo database :
sudo make installdb
Sau đó cài đặt Netdot:
sudo make install PREFIX=/usr/local/netdot APACHEUSER=apache APACHEGROUP=apache
Bước 6 - Kết thúc cài đặt
Điều duy nhất còn lại để cấu hình sau khi cài đặt thành công Netdot là server Apache.
Sao chép file cấu hình trong folder có cài đặt Apache:
sudo cp /usr/local/netdot/etc/netdot_apache24_local.conf /etc/httpd/conf.d/
Khởi động lại Apache:
sudo systemctl restart httpd.service
Bước 7 - Cài đặt Cron Jobs
Netdot có một số tập lệnh nên được chạy định kỳ. Sao chép file crontab mẫu vào folder cron.d
của bạn:
sudo cp /usr/local/src/netdot/netdot.cron /etc/cron.d/netdot
Quá trình cài đặt hoàn tất.
Bước 8 - Truy cập Netdot
Chạy trình duyệt của bạn và truy cập địa chỉ http:// your_server_ip /netdot
.
Đăng nhập bằng tên user và password mặc định, cả hai đều là administrator .
Hãy chắc chắn rằng bạn sẽ thay đổi password ngay lập tức!
Sử dụng Netdot để ghi lại mạng của bạn
Trong phần này, ta sẽ giới thiệu về Netdot và hướng dẫn bạn cách thêm thiết bị và sử dụng nó để quản lý IP của bạn.
Khi bạn đã đăng nhập, bạn sẽ thấy như sau:
Giao diện của Netdot khá đơn giản. Hãy xem các việc cơ bản mà bạn có thể thực hiện với nó.
Thu thập dữ liệu từ thiết bị
Trước tiên, ta cần thêm các thiết bị mạng của bạn. Chúng có thể được thêm vào theo một số cách:
- Mỗi lần một, sử dụng một tập lệnh
- Bằng cách quét các thiết bị trong một mạng con nhất định
- Bằng cách quét các thiết bị được liệt kê trong một file
- Sử dụng console Netdot theo cách thủ công
Thăm dò ý kiến một thiết bị bằng tập lệnh
Đây là phương pháp ta sẽ sử dụng để thêm thông tin của Server này vào Netdot.
Lệnh này sẽ chạy script để lấy dữ liệu từ một server :
/usr/local/netdot/bin/updatedevices.pl -H your_server_ip -I -c snmp community
Ví dụ: bạn có thể thêm server mà Netdot được cài đặt bằng lệnh này:
/usr/local/netdot/bin/updatedevices.pl -H localhost -I -c public
Hãy tiếp tục và chạy lệnh này. Bạn sẽ thấy kết quả như sau:
INFO - /usr/local/netdot/bin/updatedevices.pl started at Wed Nov 5 09:49:39 2014 INFO - Updating single device: localhost INFO - Inserted new RR: localhost.defaultdomain INFO - Inserting new Device: localhost INFO - localhost.defaultdomain: SNMP target address set to 127.0.0.1 INFO - localhost.defaultdomain: Interface 1 (lo) updated INFO - localhost.defaultdomain: Interface 2 (eno16777728) updated INFO - localhost.defaultdomain [eno16777728]: Inserted new IP fe80::20c:29ff:fe20:4f53 INFO - localhost.defaultdomain [eno16777728]: Inserted new IP 192.168.176.128 INFO - Device::snmp_update: localhost.defaultdomain: Finished updating INFO - /usr/local/netdot/bin/updatedevices.pl total runtime: 18 sec
Quét thiết bị trong một mạng con nhất định
Phương pháp này sử dụng cùng một tập lệnh để quét tất cả các thiết bị trong một mạng con nhất định:
/usr/local/netdot/bin/updatedevices.pl -B 111.111.111.0/24 -I -c snmp community
Quét các thiết bị được liệt kê trong một file
Bạn có thể thấy hữu ích khi liệt kê tất cả các thiết bị của bạn trong một file văn bản đơn giản. Tệp phải chứa danh sách các thiết bị (tên server hoặc IP) và cộng đồng SNMP của chúng, mỗi thiết bị một dòng:
host1.sample community1 host2.sample community2 host3.sample community2 host4.sample community3 . . .
Sau đó, bạn có thể sử dụng tập lệnh Netdot để quét tất cả các thiết bị được liệt kê trong file :
/usr/local/netdot/bin/updatedevices.pl -E /path/to/file
Bạn có thể sử dụng lệnh sau để nhận danh sách đầy đủ các tham số tập lệnh:
/usr/local/netdot/bin/updatedevices.pl -h
Thêm thiết bị từ console Netdot
Trong console Netdot, chuyển đến Quản lý ở chuyển trên cùng. Chọn Quản lý> Thiết bị . Nhấp vào liên kết [mới] .
Nhập tên server hoặc địa chỉ IP của thiết bị. Chọn version SNMP và cộng đồng từ menu thả xuống. Sau đó, nhấp vào Khám phá . Sau đó, Netdot sẽ thăm dò ý kiến thiết bị bằng SNMP.
Tài liệu Thiết bị
Khi bạn đã tạo một thiết bị, bạn có thể thêm thông tin về nó. Bạn có thể tìm kiếm một thiết bị theo tên, IP hoặc địa chỉ MAC của nó. Mỗi trang thông tin bao gồm một số phần:
Khái niệm cơ bản:
Trong phần này, bạn có thể xem và chỉnh sửa thông tin chung về thiết bị: chủ sở hữu, vị trí, hệ điều hành và thông tin quản lý. Bạn cũng có thể thêm comment và các thuộc tính tùy chỉnh.
Một số thông tin có thể được lấy tự động và một số thông tin phải được nhập thủ công.
Bạn có thể nhận trợ giúp về bất kỳ thông số nào bằng cách chỉ cần nhấp vào tiêu đề của nó. Ví dụ: nhấp vào tiêu đề “Được khám phá đầu tiên”, bạn sẽ thấy cửa sổ bật lên sau:
Giao diện:
Trong phần này, bạn có thể xem và chỉnh sửa thông tin về giao diện của thiết bị: tên, tốc độ, trạng thái, hàng xóm (thiết bị được kết nối trực tiếp), v.v.
Bạn cũng có thể xem thông tin chi tiết về giao diện bằng cách nhấp vào số hoặc tên của nó.
Thông tin IP:
Trong phần này, bạn có thể xem thông tin về tất cả các địa chỉ IP được tìm thấy trên thiết bị cùng với các mạng con mà chúng thuộc về, giao diện thiết bị nơi chúng được tìm thấy và tùy chọn tên DNS của chúng. Bạn cũng có thể kết nối các dịch vụ (HTTP, DNS, MySQL, v.v.) với các địa chỉ tương ứng.
Cấu trúc liên kết:
Trong phần này, bạn có thể thấy biểu đồ của thiết bị và các thiết bị lân cận được kết nối trực tiếp.
Quản lý địa chỉ IP
Một trong những tính năng hữu ích nhất của Netdot là quản lý không gian địa chỉ. Bạn có thể lập kế hoạch, giám sát và quản lý địa chỉ IP trên mạng của bạn .
Các đối tượng cơ bản trong không gian địa chỉ của Netdot là các khối IP. Chúng có thể đại diện cho các địa chỉ nút cuối riêng lẻ, cũng như các group địa chỉ. Đặc điểm phân biệt là tiền tố: địa chỉ nút cuối là khối IP có tiền tố là / 32 và mạng con có địa chỉ nút cuối 126 là khối IP có tiền tố / 25.
Ví dụ, hãy tạo cấu trúc đơn giản sau:
104.236.38.0/24 104.236.38.0/25 104.236.38.128/25 104.236.38.128/26 104.236.38.192/26
Điều hướng đến Quản lý> Không gian địa chỉ .
Nhấp vào liên kết [mới] .
Nhập 104.236.38.0/24 vào trường IP [/ prefix] . Bạn có thể tùy chọn chỉ định Chủ sở hữu và Người sử dụng . (Bạn có thể thêm một mục vào danh sách thả xuống bằng cách nhấp vào liên kết [mới] , điền vào biểu mẫu và làm mới trang.) Từ menu thả xuống Trạng thái , chọn Vùng chứa . Nhập Mô tả của containers này.
Nhấp vào Lưu .
Netdot hỗ trợ các trạng thái sau:
- Vùng chứa : Bao gồm các containers hoặc khối IP khác
- Mạng con : Đại diện cho các mạng con thực tế
- Dành riêng : Các khối không nên được phân bổ vì bất kỳ lý do gì
- Tĩnh : Được chỉ định tĩnh
Tiếp theo, tạo một subnet mới cho 104.236.38.0/25, chọn Subnet cho Tình trạng:
Bạn sẽ thấy kết quả như sau:
Để tạo containers tiếp theo, bạn có thể nhấp vào vùng thanh màu xanh lá cây bên cạnh vùng màu đỏ ở cuối phần Sử dụng cho 104.236.38.0/24 .
Sau đó Netdot sẽ yêu cầu xác nhận: Địa chỉ IP hoặc khối 104.236.38.128/25 chưa tồn tại. Bạn có chắc chắn muốn tạo nó không? Sau khi xác nhận, bạn sẽ tạo một containers mới.
Trong containers này, bạn có thể thêm một mạng con khác cho 104.236.38.128/26 và một containers khác cho 104.236.38.192/26 , v.v.
Bây giờ, hãy xem toàn bộ hệ thống phân cấp mà bạn đã cài đặt . Để thực hiện việc này, hãy chuyển đến containers chính ( 104.236.38.0/24 ) và nhấp vào liên kết [Chế độ xem dạng cây] ở ngoài cùng bên phải. Bạn sẽ thấy như sau:
Nếu bạn nhấp vào một trong các hộp trong sơ đồ, bạn sẽ thấy bản đồ chi tiết của mạng con thích hợp.
Ví dụ, nó có thể trông như sau:
Hình này cho thấy rằng địa chỉ đầu tiên và địa chỉ cuối cùng của mạng được bảo lưu tự động. Các địa chỉ từ 1 đến 63 được sử dụng cho DHCP. Các địa chỉ đã được gán tĩnh cho server hoặc giao diện thiết bị được đánh dấu màu đỏ. Các địa chỉ chưa được chỉ định là tĩnh hoặc động, nhưng đã được nhìn thấy trên mạng, được đánh dấu màu xanh lam. Địa chỉ có sẵn được đánh dấu màu xanh lá cây.
Để thêm, đặt trước hoặc chỉnh sửa địa chỉ, bạn phải nhấp vào địa chỉ đó. Ngoài ra, bạn có thể xem thống kê tổng thể về các địa chỉ đã sử dụng và có sẵn trên mạng con trong trường Sử dụng , trong ví dụ này là:
Used: 76 of 126 Available: 50 (39%)
Kết luận
Netdot là một công cụ mạnh mẽ để ghi lại mạng của bạn. Sau khi hoàn thành hướng dẫn này, bạn đã hiểu chung về cách cài đặt nó, cách cài đặt cơ bản, cách thêm thiết bị mới và cách quản lý không gian địa chỉ của bạn.
Các tin liên quan
Cách cài đặt và cập nhật WordPress với Kiểm soát phiên bản trên CentOS 72014-11-10
Cách thêm swap trên CentOS 7
2014-10-31
Cách cài đặt và cấu hình OpenShift Origin trên CentOS 6.5
2014-10-31
Cách cài đặt WordPress trên CentOS 7
2014-10-30
Cách cài đặt Git trên CentOS 7
2014-10-29
Cách thêm và xóa người dùng trên server CentOS 7
2014-10-28
Giới thiệu về SELinux trên CentOS 7 - Phần 1: Các khái niệm cơ bản
2014-09-05
Giới thiệu về SELinux trên CentOS 7 - Phần 2: Tệp và Quy trình
2014-09-05
Giới thiệu về SELinux trên CentOS 7 - Phần 3: Người dùng
2014-09-05
Cách cài đặt puppet ở chế độ độc lập trên CentOS 7
2014-09-04