CentOS/RHEL 5 および 6 の場合
CentOS/RHEL 5 には、snmptrapd.conf の構成ファイルはありません。マニュアル ページによると、「Net-SNMP 通知レシーバー (トラップ デーモン) は、1 つまたは複数の構成ファイルを使用して、その動作と着信トラップ (および INFORM 要求) の処理方法を制御します。このファイル (snmptrapd.conf) は、snmp_config(5) マニュアル ページで説明されているように、いくつかの場所のいずれかに配置できます。」
構成ファイル /etc/snmp/snmptrapd.conf 存在しない場合は手動で作成できます。 CentOS/RHEL 6 には、これらの構成ファイルが存在します。 SNMP ポート 161 でリッスンします および snmptrapd 162 で聞く .
snmp 構成:
snmpd が localhost (127.0.0.1) でリッスンするようにするには、echo コマンドを使用して以下の行を /etc/snmp/snmpd.conf に追加し、続いてサービスを再起動またはリロードします。
# echo "agentAddress 127.0.0.1" >> /etc/snmp/snmpd.conf
snmpd がリモートでリッスンするようにするには、echo コマンドを使用してサーバーの IP を含む以下の行を /etc/snmp/snmpd.conf に追加し、サービスを再起動します。
# echo "agentAddress" >> /etc/snmp/snmpd.conf # /etc/init.d/snmpd restart
localhost/IP でリッスンしているかどうかを確認します:
# netstat -ntulp | grep :161
snmptrapd 構成:
snmptrapd が localhost (127.0.0.1) でリッスンするようにするには、echo コマンドを使用して以下の行を /etc/snmp/snmptrapd.conf に追加し、サービスを再起動またはリロードします。
# echo "snmpTrapdAddr 127.0.0.1" >> /etc/snmp/snmptrapd.conf # /etc/init.d/snmptrapd restart
snmptrapd がリモートでリッスンするようにするには、以下の行を /etc/snmp/snmptrapd.conf に追加し、echo コマンドを使用してサーバーの IP を指定し、サービスを再起動します。
# echo "agentAddress" >> /etc/snmp/snmptrapd.conf
locahost/IP でリッスンしているかどうかを確認してください。
# netstat -ntulp |grep :162
これらのポートは接続に UDP を使用するため、telnet ではなく nc で接続を確認できます。
# nc -vz -u 127.0.0.1 161 Connection to 127.0.0.1 161 port [udp/snmp] succeeded!
# nc -vz -u 127.0.0.1 162 Connection to 127.0.0.1 162 port [udp/snmptrap] succeeded!
CentOS/RHEL 7 での snmpd 構成
root として ssh 経由で CentOS/RHEL 7 サーバーにログインします。まだインストールされていない場合は、snmpd の以下のパッケージをインストールしてください。
# yum install net-snmp-utils net-snmp-devel net-snmp
snmpd がすでに構成され、実行されている場合は、以下のコマンドを使用してサービスを停止します:
# systemctl stop snmpd.service
# net-snmp-create-v3-user -ro -A test123authPass -a SHA -X test123encPass -x AES user1 adding the following line to /var/lib/net-snmp/snmpd.conf: createUser user1 SHA "test123authPass" AES test123encPass adding the following line to /etc/snmp/snmpd.conf: rouser user1注意 :ここには、認証パスワードと暗号化用のプライバシー キーの 2 つのパスワードがあります。これにより、コンソールに記載されているように、/etc/snmp/snmpd.conf および /var/lib/net-snmp/snmpd.conf の行が追加されます。したがって、変更を加えたい場合は、これらの行を削除する必要があります。そのため、これら 2 つの conf ファイルのバックアップを取っておくことをお勧めします。
# systemctl start snmpd.service
ローカルで snmpwalk を使用してテストする:
# snmpwalk -u user1-A test123authPass -a SHA -X test123encPass -x AES -l authPriv 127.0.0.1 -v3
ファイアウォールが有効になっている場合。以下のコマンドを使用して、firewalld レベルで有効な SNMP ポートを追加します:
# firewall-cmd --zone=public --add-port=162/udp --permanent # firewall-cmd --zone=public --add-port=161/udp --permanent # firewall-cmd --reload
リモート マシンからの snmpwalk によるテスト:
# snmpwalk -u user1 -A test123authPass -a SHA -X test123encPass -x AES -l authPriv 192.168.22.21 -v3