SNMP v1 / v2構成

最終更新日: 03 年 2023 月 XNUMX 日

最も一般的なLinuxベースのアプリケーションとデバイスの場合、SNMPバックグラウンドサービスを有効にすることは、監視用にホストを構成するための重要なステップです。 このページの目的は、LinuxホストでSNMPを構成する方法の一般的な理解を提供し、これらのプロトコルのいずれかが最大限に機能するのをブロックするIPtablesに関連する可能性のある問題のトラブルシューティングを行うことです。 構成によっては、追加の調整が必要になる場合があります。

SNMP v3の構成に関するヘルプが必要な場合は、を参照してください。 SNMPv3構成. SNMPのトラブルシューティングのヘルプをお探しの場合は、を参照してください。 SNMPのトラブルシューティング.

SNMPの構成

十分な権限があることを確認するには、rootになるか、次の構成手順でsudoコマンドを使用する必要があります。

  1. /etc/snmp/snmpd.confファイルを編集して、読み取り専用のコミュニティ文字列を宣言します(パスワードと考えてください)。 /etc/snmp/snmpd.conf全体を以下の単純なバージョンに置き換えることをお勧めします。 「$ CommunityString」は、使用しているコミュニティ文字列に必ず置き換えてください。
rocommunity $CommunityString <10.0.0.0/8>

2. テキスト ファイル全体を置き換えるか、ファイルの先頭に上記の行を追加することができます。 既存のファイルをバックアップすることをお勧めします。

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.old

3.IP範囲はオプションです。 設定されている場合、そのネットワーク/マスクの組み合わせ内のホストのみがsnmpdにクエリを実行できるため、このLinuxデバイスを監視するLogicMonitorコレクターのIPアドレスが含まれていることを確認してください。 IPを省略することで、すべてのアドレスを有効にできます。

4. 走っている場合 デルのハードウェア また、これらの行をsnmpd.confに含めて、基盤となるハードウェアをDellOpenManageパッケージスイートを介して監視できるようにすることもできます。

smuxsocket 127.0.0.1 smuxpeer .1.3.6.1.4.1.674.10892.1

5. snmpd.confファイルを更新した後、ブート時に起動するようにsnmpdを設定し、今すぐ起動します。

chkconfig snmpd on service snmpd restart

使用しているLinuxディストリビューションに固有の手順については、以下のRedHat / CentOSおよびDebian / Ubuntuのセクションを参照してください。

RedHat / CentOS

  1. RPMをインストールします
yum install net-snmp

2.オプションで、トラブルシューティングに役立つsnmpwalkおよびその他のツールをインストールできます。

yum install net-snmp-utils

3.デフォルトの構成ファイルを移動し、バックアップとして保持します。

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.original

4. 新しい構成ファイルで snmp コミュニティを定義します。

echo "rocommunity notpublic" > /etc/snmp/snmpd.conf

次の点に注意してください。

sudoを使用している場合、コマンドは次のようになります。

sudo sh -c "echo 'rocommunity notpublic' > /etc/snmp/snmpd.conf"

オプションで、IPアドレスまたはIPアドレスの範囲を含めて、SNMPを介してシステムに接続できるIPアドレスを制限できます。 これを行うには、上記のコマンドのコミュニティ文字列の後にIPアドレスを追加します。

echo "rocommunity notpublic 10.9.8.0/24" > /etc/snmp/snmpd.conf

5.デーモンを起動し、サーバーの起動時に起動するように設定します。 RedHat / CentOS 7.0の場合、次のコマンドを使用できます。

systemctl restart snmpd.service
systemctl enable snmpd.service

古いバージョンのRedHat / CentOSの場合は、次のコマンドを使用します。

/etc/init.d/snmpd restart
chkconfig snmpd on

Debian / Ubuntu

  1. snmpdパッケージをインストールします
apt-get install snmpd

2.元のsnmpd.confファイルをバックアップします

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.org

3.新しいsnmpd.confファイルを作成し、「logicmonitor」を使用しているコミュニティ文字列に置き換えます。

echo "rocommunity logicmonitor" > /etc/snmp/snmpd.conf

4.snmpdファイルを編集します。

nano /etc/default/snmpd

5.次の行(または同様の行)をコメントアウトします。

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -p /var/run/snmpd.pid'

6.コメントアウトしたリンクの下に次の行を追加します。

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'

7. iptablesを実行している場合は、次の例外を作成し、「10.1.1.10」をコレクターマシンのIPに置き換えます。

iptables -A INPUT -p udp -s 10.1.1.10 --dport 161 -j ACCEPT

8.ファイルを保存して閉じます。

9. 環境に応じて、次のコマンド セットのいずれかを実行して snmpd を再起動し、サーバーの起動時に起動するように設定します。

systemctl restart snmpd
systemctl enable snmpd
service snmpd start
chkconfig snmpd on

ファイアウォールルールの追加

次の手順では、LinuxデバイスにSNMPアクセスとNTPアクセスの両方を許可する方法について詳しく説明します。

iptablesを使用したファイアウォールルールの追加

  1. Linuxホストのコマンドシェルにアクセスします(sshまたはコンソールから)。
  2. ファイル/ etc / sysconfig / iptablesをエディターで開きます。
  3. 「-ARH-Firewall-1-INPUT–p udp –dport 5353」と同様の行マッチングの後、次の行をINPUTセクションに追加します。
-A RH-Firewall-1-INPUT -p udp --dport 161 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 123 -j ACCEPT 

4.ファイルを保存して閉じます。

5.次のコマンドを使用して、ファイアウォールサービスを再起動します。

service iptables restart

Firewalldを使用したファイアウォールルールの追加

次のコマンドを使用して、firewalldを使用してファイアウォールルールを追加します。

firewall-cmd --permanent --add-port=161/udp 
firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload
firewall-cmd --permanent --list-all
記事上で