snmp agent構築

テスト環境
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.6 (Ootpa)
# uname -a
Linux dns00 4.18.0-372.9.1.el8.x86_64 #1 SMP Fri Apr 15 22:12:19 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
    

パッケージインストール

        dnf install net-snmp net-snmp-utils
    

設定ファイル編集

        コミュニティ名をwakuwaku
        # vi /etc/snmp/snmpd.conf
        # diff /etc/snmp/_snmpd.conf.orig /etc/snmp/snmpd.conf
        41c41
        < com2sec notConfigUser  default       public
        ---
        > com2sec authPriv  default       wakuwaku        
    

snmp v3 ユーザ作成

        # /usr/bin/net-snmp-create-v3-user -ro -A hogehoge -X hogehoge -a SHA -x AES snmpuser
        adding the following line to /var/lib/net-snmp/snmpd.conf:
           createUser snmpuser SHA "hogehoge" AES "hogehoge"
        adding the following line to /etc/snmp/snmpd.conf:
           rouser snmpuser
    
        上記コマンド実行後に/etc/snmp/snmpd.confの最終行に作成したユーザが追記されていることを確認する。
        # diff /etc/snmp/_snmpd.conf.orig /etc/snmp/snmpd.conf
        41c41
        < com2sec notConfigUser  default       public
        ---
        > com2sec authPriv  default       wakuwaku
        462a463
        > rouser snmpuser
    
        又、以下のファイルにcreateUser....行が追加されていることを確認する。
        # cat /var/lib/net-snmp/snmpd.conf
        ================================================
        createUser snmpuser SHA "hogehoge" AES "hogehoge"
        ================================================
    

snmpdサービス

        # systemctl enable snmpd
        # systemctl is-enabled snmpd
        # systemctl start snmpd
    

/var/lib/net-snmp/snmpd.confファイルの確認

        snmpdを起動すると/var/lib/net-snmp/snmpd.confが更新される。
        createUser....の行がなくなり、替わりに以下の行が追記されていることを確認する。
        ================================================
        engineBoots 1
        oldEngineID 0x80001f88806c10542b0f680063xxxxxxxx 
        ================================================
    

確認

        # snmpwalk -v 3 -l authPriv -c wakuwaku -u snmpuser -a SHA -A hogehoge -x AES -X hogehoge localhost
    
        【実行例】
        SNMPv2-MIB::sysDescr.0 = STRING: Linux ns1 4.18.0-372.9.1.el8.x86_64 #1 SMP Fri Apr 15 22:12:19 EDT 2022 x86_64
        SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
        DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (66590) 0:11:05.90
        SNMPv2-MIB::sysContact.0 = STRING: Root  (configure /etc/snmp/snmp.local.conf)
        SNMPv2-MIB::sysName.0 = STRING: ns1
        SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
        SNMPv2-MIB::sysORLastChange.0 = Timeticks: (9) 0:00:00.09
        ~以下省略~
    

firewall

        $ sudo firewall-cmd --add-service=snmp --zone=public --permanent
        success
        $ sudo firewall-cmd --reload
        success