SNMP機能の動作仕様

SEILのSNMP機能の動作仕様を説明します。

SEIL の SNMP 機能を実現のために、 net-snmp の snmpd と snmptrap を採用しています。 SEIL のファームウェア 3.40 において、 net-snmp 5.0.7 を元に、 独自の修正とセキュリティパッチを施しています。

SEIL の場合、 SNMP による値の書き込みを禁止しています。

SEIL の場合、 ifIndex を静的に割り当てています。 SEIL の再起動が発生しても、 インタフェースの設定の追加や削除を行っても、 前後で ifIndex の値が同じです。 ただし、 ファームウェア更新によって、 当該インタフェースの ifIndex の値が、 変更される場合があります。

SEIL の場合、 trap の送信先を最大 4 アドレス指定可能です。 trap は v1 形式です。
  • coldStart trap が、 電源投入による起動、reboot コマンドによる起動、panic による起動 を示します。
  • linkDown trap が LAN インタフェースのリンクダウンを示します。
  • linkUp trap が LAN インタフェースのリンクアップを示します。
SEIL の sysObjectID の値を解釈するためには、 IIJ-SEIL-MIB.txt ファイルを参照してください。
  • overLoad trap
  • fan1Start trap
  • fan1Stop trap
  • lanWatchDown trap
  • lanWatchUp trap
を解釈するためには、 IIJ-SEIL-V1TRAP.txt ファイルを参照してください。
SEIL 独自の「死活監視」の機能を、 Enterprise Specific trap を使い実現しています。 "snmp trap watch" コマンドで「死活監視」設定を行います。 「死活監視」で SEIL が送信する trap の内容を、 利用例の設定と環境を使って説明します。 利用例において、 10.0.0.1 を「死活監視」する設定が SEIL/B1 に入っていました。 「死活監視」機能が送信する trap を PC 上の snmptrapd によって受信確認します。 10.0.0.1 が icmp echo に無答になった場合に、 SEIL から送信された trap を受信した snmptrapd は、 以下のように出力します:
14:20:29 14:20:29 b=UDP: [192.168.0.1]:63635->[0.0.0.0] a=192.168.0.1
        P=TRAP, SNMP v1, community NAISHO
        N=IIJ-SEIL-MIB::seilB1 T=2031180 w=6 W=Enterprise Specific q=IIJ-SEIL-V1TRAP::seilB1LanWatchDown
         IIJ-SEIL-V1TRAP::seilLanWatchNodeAddress.0 = IpAddress: 10.0.0.1
         IIJ-SEIL-V1TRAP::seilLanWatchNodeStatus.0 = INTEGER: down(2);
SEIL の snmp 設定から、 snmpd.conf と snmptrap.conf への変換を、 例を使って説明します。 まず SEIL に以下のような SNMP 設定をしています:
# show config snmp
snmp enable
snmp community "NAISHO"
snmp user add "USER3" auth-protocol hmac-sha1 auth-password "MY-AUTH-PASS" privacy-protocol des-cbc privacy-password "MY-PRIVACY-PASS"
snmp trap enable
snmp trap add 192.168.0.2
snmp trap watch add 10.0.0.1
#
ただし、上の例のハッシュ文字 (#) が、 SEIL の CLI の入力促進 (プロンプト) を示しています。 上記の SNMP 設定において、 SEIL 内部の snmpd.conf 設定ファイルの内容が以下のようになります:
sysdescr SEIL/B1 ver 3.40 (Folia)
sysobjectid 1.3.6.1.4.1.770.1.1.4.509
sysname ""
syslocation ""
syscontact ""
sysservices 78
rocommunity "NAISHO"
rocommunity6 "NAISHO"
rouser USER3
trapcommunity NAISHO
trapsess -v1 udp:192.168.0.2:162
authtrapenable 1
そして snmptrap.conf が以下になります:
trap on
community NAISHO
enterprise .1.3.6.1.4.1.770.1.1.4.509
traphost 192.168.0.2
ただし v3 の認証に関係する snmpd.conf は、本稿で省略します。