Instal dan Konfigurasi SNMP di CentOS 8

Selamat datang di panduan kami tentang cara menginstal dan mengkonfigurasi SNMP di CentOS 8. SNMP adalah singkatan dari Smenerapkan Njaringan Mmanajemen Protokol. Ini adalah protokol Standar Internet yang menyediakan metode tanpa agen untuk mengelola dan memantau perangkat jaringan dan server untuk informasi kesehatan, metrik sistem seperti beban CPU, useran Memori Fisik, jumlah proses yang berjalan, status service, atau metrik lainnya yang mendukung polling yang  SNMP protokol.

Instal dan Konfigurasi SNMP di CentOS 8

Menginstal Net-SNMP di CentOS 8

Net-SNMP adalah suite aplikasi yang menyediakan agen dan utilitas yang memungkinkan pengambilan data dari sistem yang menggunakan protokol SNMP.

Sebelum Anda dapat menginstal Net-SNMP, pastikan paket sistem Anda mutakhir.

dnf update

Untuk menginstal Net-SNMP (agen SNMP, daemon SNMP dan utilitas SNMP lainnya) pada CentOS 8, cukup jalankan perintah di bawah ini;

dnf install net-snmp net-snmp-libs net-snmp-utils

Menjalankan SNMP Daemon di CentOS 8

Saat diinstal, Net-SNMP membuat service SystemD bernama snmpd. Layanan dapat dikelola menggunakan perintah systemctl.

Misalnya, untuk memulai dan mengaktifkannya untuk berjalan pada boot sistem;

systemctl enable --now snmpd

Untuk memeriksa statusnya;

systemctl status snmpd
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon. Loaded: loaded (/usr/lib/systemd/system/snmpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2020-03-04 20:36:52 EAT; 2s ago Main PID: 3017 (snmpd) Tasks: 1 (limit: 11500) Memory: 4.8M CGroup: /system.slice/snmpd.service └─3017 /usr/sbin/snmpd -LS0-6d -f Mar 04 20:36:52 centos8.kifarunix-demo.com systemd[1]: Stopped Simple Network Management Protocol (SNMP) Daemon.. Mar 04 20:36:52 centos8.kifarunix-demo.com systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon.... Mar 04 20:36:52 centos8.kifarunix-demo.com snmpd[3017]: NET-SNMP version 5.8 Mar 04 20:36:52 centos8.kifarunix-demo.com systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..

Untuk restart daemon SNMP;

systemctl restart snmpd

Konfigurasikan SNMP pada CentOS 8

Setelah instalasi Net-SNMP selesai, lanjutkan untuk mengonfigurasinya agar Anda dapat melakukan polling metrik sistem Anda dari jarak jauh.

File konfigurasi default daemon agen Net-SNMP adalah  /etc/snmp/snmpd.conf. File sangat dikomentari dan dengan demikian, kami hanya akan membuat beberapa perubahan. Akibatnya, buat copyan file asli sebelum Anda dapat melanjutkan.

cp /etc/snmp/snmpd.{conf,orig}

Konfigurasikan Informasi Sistem

Secara default, Net-SNMP menyediakan informasi dasar seperti: hostname, the location, the administrator contact informationtentang sistem. Informasi ini disediakan oleh nilai-nilai objek sysName, sysLocationdan sysContactmasing – masing.

Untuk membuat daftar informasi sistem default menggunakan SNMP, cukup gunakan snmpwalk perintah dengan string komunitas versi 2 default, public. Pastikan daemon SNMP berjalan sebelum Anda dapat menjalankan perintah di bawah ini;

snmpwalk -v2c -c public localhost system

Anda bahkan dapat mencoba menggunakan IP server;

snmpwalk -v2c -c public 192.168.58.9 system
SNMPv2-MIB::sysDescr.0 = STRING: Linux centos8.kifarunix-demo.com 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (7884) 0:01:18.84 SNMPv2-MIB::sysContact.0 = STRING: Root <[email protected]> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: centos8.kifarunix-demo.com SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00...

Untuk memperbarui informasi ini, cukup buka file konfigurasi SNMPD, /etc/snmp/snmpd.confdan sesuaikan nilai objek di atas;

vim /etc/snmp/snmpd.conf

Perhatikan bahwa nilai sysName objek diatur ke nama host sistem secara default. Oleh karena itu, sysLocationdan sysContactdapat diatur dalam file konfigurasi di bawahSystem contact information bagian.

############################################################################### # System contact information # # It is also possible to set the sysContact and sysLocation system # variables through the snmpd.conf file: # Comment the default lines below #syslocation Unknown (edit /etc/snmp/snmpd.conf) #syscontact Root <[email protected]> (configure /etc/snmp/snmp.local.conf) syslocation Serverfarm, DC2, Rack 3 syscontact Kifarunix-Admin <[email protected]>

Simpan file konfigurasi dan reload SNMPD untuk melakukan perubahan.

systemctl reload snmpd

Verifikasi perubahan;

snmpwalk -v2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux centos8.kifarunix-demo.com 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (138942) 0:23:09.42 SNMPv2-MIB::sysContact.0 = STRING: Kifarunix-Admin <[email protected]> SNMPv2-MIB::sysName.0 = STRING: centos8.kifarunix-demo.com SNMPv2-MIB::sysLocation.0 = STRING: Serverfarm, DC2, Rack 3 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00

Mengonfigurasi Otentikasi SNMP

SNMP mendukung tiga versi protokol SNMP; version 1, 2cdan 3.

  • Baik versi 1 dan 2c menyediakan otentikasi menggunakan  community string, rahasia bersama antara agen dan client yang diteruskan dalam teks yang jelas melalui jaringan.
  • Versi 3 mendukung otentikasi user dan enkripsi pesan menggunakan berbagai protokol dan karenanya sedikit lebih aman.

Mengonfigurasi Komunitas SNMP Versi 2c di CentOS 8

Seperti yang dinyatakan di atas, SNMP v2 menyediakan akses menggunakan izin direktif, string komunitas, dan Alamat sumber. Alamat sumber dapat berupa IP Server Nagios (server SNMP). Arahan ini harus diatur dalam format;

directive community [source [OID]]

di mana arahan dapat  rocommunity (menyediakan akses hanya-baca) atau  rwcommunity (menyediakan akses baca-tulis), OID adalah pohon SNMP opsional untuk menyediakan akses.

Untuk mengkonfigurasi SNMP v2c, misalnya, untuk mengizinkan a read-only akses dari specific source host, seperti server pemantauan seperti Nagios, ke objek sistem menggunakan string komunitas, monsvronly, cukup masukkan baris di bawah ini di file konfigurasi snmpd.

rocommunity monsvronly 192.168.58.8

Anda dapat menggunakan perintah di bawah ini;

echo -e "# SNMP version 2c communitynrocommunity monsvronly 192.168.58.8" >> /etc/snmp/snmpd.conf

Di mana 192.168.58.8IP dari server jarak jauh yang diizinkan akses.

Untuk mengizinkan dari localhost, tambahkan baris;

rocommunity monsvronly 127.0.0.1

Konfigurasikan Port Koneksi Daemon SNMP

Secara default, agen daemon SNMP menerima permintaan pada port UDP 161. Namun SNMPd tidak membuka port ini secara default.

Untuk mengonfigurasi SNMPd agar mendengarkan pada loopback dan interface IP melalui port UDP 161, Anda perlu mengedit skrip start-up snmpd systemd, /lib/systemd/system/snmpd.serviceseperti yang ditunjukkan di bawah ini;

vim /lib/systemd/system/snmpd.service

Ganti baris:

ExecStart=/usr/sbin/snmpd $OPTIONS -f

Dengan;

ExecStart=/usr/sbin/snmpd $OPTIONS -f udp:127.0.0.1:161 udp:192.168.56.9:161

Di mana 192.168.58.9IP interface server.

Sehingga konfigurasi Anda terlihat seperti;

[Unit] Description=Simple Network Management Protocol (SNMP) Daemon. After=syslog.target network.target [Service] Type=notify Environment=OPTIONS="-LS0-6d" EnvironmentFile=-/etc/sysconfig/snmpd #ExecStart=/usr/sbin/snmpd $OPTIONS -f ExecStart=/usr/sbin/snmpd $OPTIONS -f udp:127.0.0.1:161 udp:192.168.58.9:161 ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target

Simpan file konfigurasi dan reload unit systemd;

systemctl daemon-reload

Mulai ulang daemon SNMP.

systemctl restart snmpd

Verifikasi bahwa port UDP 161 terbuka.

netstat -alun | grep 161
udp 0 0 192.168.58.9:161 0.0.0.0:* udp 0 0 127.0.0.1:161 0.0.0.0:*

Buka Port SNMP di FirewallD

Jika firewalld sedang berjalan, jalankan perintah di bawah ini untuk membuka port SNMPd

firewall-cmd --add-port=161/udp --permanent firewall-cmd --reload

Verifikasi Konektivitas

Uji konektivitas dari host jarak jauh yang diizinkan.

Periksa apakah port UDP dapat dijangkau di server.

nc -uvz 192.168.58.9 161
Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.58.9:161. Ncat: UDP packet sent successfully Ncat: 1 bytes sent, 0 bytes received in 2.03 seconds.

Uji apakah Anda dapat meminta objek SNMP di server menggunakan snmpwalkdan membaca 10 baris pertama dari output.

snmpwalk -v2c -c monsvronly 192.168.58.9 | head -10
SNMPv2-MIB::sysDescr.0 = STRING: Linux centos8.kifarunix-demo.com 4.18.0-147.3.1.el8_1.x86_64 #1 SMP Fri Jan 3 23:55:26 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (732) 0:00:07.32 SNMPv2-MIB::sysContact.0 = STRING: Kifarunix-Admin <[email protected]> SNMPv2-MIB::sysName.0 = STRING: centos8.kifarunix-demo.com SNMPv2-MIB::sysLocation.0 = STRING: Serverfarm, DC2, Rack 3 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance...

Mengkonfigurasi SNMP Versi 3 pada CentOS 8

SNMP v3 menggunakan username, permission, security level, authenticationdan privacy passphrasesuntuk mengizinkan akses.

Akibatnya, Anda perlu membuat user untuk otentikasi. Saat dibuat, user ditambahkan ke file konfigurasi berikut; /etc/snmp/snmpd.conf dan  /var/lib/net-snmp/snmpd.conf.

Sebelum Anda dapat melanjutkan, buat copyan file konfigurasi asli seperti yang kami lakukan di atas.

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

Komentari baris konfigurasi snmp V2 yang ditambahkan di atas;

# rocommunity monsvronly 127.0.0.1 # rocommunity monsvronly 192.168.58.8

Hentikan daemon SNMP

systemctl stop snmpd

Buat user otentikasi baca-saja menggunakan  net-snmp-create-v3-user perintah. Sintaks perintahnya adalah;

net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]

Sebagai contoh;

net-snmp-create-v3-user -ro -A [email protected] -a SHA -X [email protected] -x AES snmpadmin
adding the following line to /var/lib/net-snmp/snmpd.conf: createUser snmpadmin SHA "[email protected]" AES "[email protected]" adding the following line to /etc/snmp/snmpd.conf: rouser snmpadmin

Mulai daemon SNMP

systemctl start snmpd

Aktifkan daemon SNMP untuk dijalankan pada sistem reboot.

systemctl enable snmpd

Konfigurasikan aturan Firewall masuk ke port UDP 161 seperti yang kita lakukan di atas.

Uji untuk memverifikasi bahwa semuanya berfungsi seperti yang diharapkan.

snmpwalk -v3 -a SHA -A [email protected] -x AES -X [email protected] -l authPriv -u snmpadmin localhost | head
SNMPv2-MIB::sysDescr.0 = STRING: Linux centos8.kifarunix-demo.com 4.18.0-147.3.1.el8_1.x86_64 #1 SMP Fri Jan 3 23:55:26 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5705) 0:00:57.05 SNMPv2-MIB::sysContact.0 = STRING: Kifarunix-Admin <[email protected]> SNMPv2-MIB::sysName.0 = STRING: centos8.kifarunix-demo.com SNMPv2-MIB::sysLocation.0 = STRING: Serverfarm, DC2, Rack 3 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

Verifikasi dari host jarak jauh;

snmpwalk -v3 -a SHA -A [email protected] -x AES -X [email protected] -l authPriv -u snmpadmin 192.168.58.9 | head
SNMPv2-MIB::sysDescr.0 = STRING: Linux centos8.kifarunix-demo.com 4.18.0-147.3.1.el8_1.x86_64 #1 SMP Fri Jan 3 23:55:26 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (22366) 0:03:43.66 SNMPv2-MIB::sysContact.0 = STRING: Kifarunix-Admin <[email protected]> SNMPv2-MIB::sysName.0 = STRING: centos8.kifarunix-demo.com SNMPv2-MIB::sysLocation.0 = STRING: Serverfarm, DC2, Rack 3 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

Agung!!! Anda telah berhasil menginstal dan mengonfigurasi SNMP pada CentOS 8. Sekarang Anda dapat melakukan polling metrik sistem Anda dari server pemantauan jarak jauh Anda.

Tutorial Terkait:

 Pemantauan SNMP Nagios dari Host Linux di AlienVault USM/OSSIM.

Instal dan Konfigurasi SNMP di Debian 10 Buster

Cara Mengkonfigurasi SNMP versi 3 di Debian 9

Cara Mengkonfigurasi SNMP Versi 2c di Debian 9

Instal dan Konfigurasi SNMP di Ubuntu 18.04 dan CentOS 7