らくがきちょう

なんとなく

SNMP Poll の最小設定

Cisco VIRL 上で幾つかのネットワーク機器に (Trap では無く) SNMP Poll だけを設定し、Linux からホスト名を SNMPGet してみます。Poll の最小設定であれば、少なくても今回扱った機器は全て一行で設定出来ます。

検証環境

今回は VIRL 上の以下デバイスで検証を実施しました。

OS バージョン
IOSv 15.6(1)
CSR 1000v (IOS-XE) 15.6(1)S
IOS-XRv 6.0.0
NX-OSv 7.2(0)D1(1)
ASAv 9.5(1)201
Junos 14.1R1.10

事前にチョット補足

Cisco IOS で、よく以下のような設定を見かけます。

snmp-server community PUBLIC RO
snmp-server host 10.0.0.101 PUBLIC

この設定は各々、以下のような意味を持ちます。

コマンド 意味
snmp-server community [COMMUNITY-STRING] RO SNMP Poll に関する設定
snmp-server host [TRAP-HOST-ADDRESS] [COMMUNITY-STRING] SNMP Trap に関する設定

つまり Poll だけを設定するのであれば前者のみで OK、後者は不要です。実戦では Poll と Trap の両方を設定するケースが殆どだと思いますので、両方を設定することになると思いますが…

IOSv の場合

設定例

hostname IOSv
!
interface GigabitEthernet0/1
 ip address 10.0.0.1 255.255.255.0
 no shutdown
!
snmp-server community PUBLIC RO
!
end

Linux からの SNMPGet 実行例

$ snmpget -v 2c -c PUBLIC 10.0.0.1 .1.3.6.1.2.1.1.5.0
iso.3.6.1.2.1.1.5.0 = STRING: "IOSv"

CSR1000v の場合

設定例

hostname CSR1000v
!
interface GigabitEthernet2
 ip address 10.0.0.2 255.255.255.0
 no shutdown
!
snmp-server community PUBLIC RO
!
end

Linux からの SNMPGet 実行例

$ snmpget -v 2c -c PUBLIC 10.0.0.2 .1.3.6.1.2.1.1.5.0
iso.3.6.1.2.1.1.5.0 = STRING: "CSR1000v.openstacklocal"

XRv の場合

設定例

hostname XRv
!
snmp-server community PUBLIC RO
!
interface GigabitEthernet0/0/0/0
 ipv4 address 10.0.0.3 255.255.255.0
 no shutdown
!
end

Linux からの SNMPGet 実行例

$ snmpget -v 2c -c PUBLIC 10.0.0.3 .1.3.6.1.2.1.1.5.0
iso.3.6.1.2.1.1.5.0 = STRING: "XRv"

NX-OSv の場合

設定例

hostname NX-OSv
!
snmp-server community PUBLIC group network-operator
!
interface Ethernet2/1
  no switchport
  ip address 10.0.0.4/24
  no shutdown
!
end

Linux からの SNMPGet 実行例

$ snmpget -v 2c -c PUBLIC 10.0.0.4 .1.3.6.1.2.1.1.5.0
iso.3.6.1.2.1.1.5.0 = STRING: "NX-OSv"

ASAv の場合

設定例

ASA は「セキュリティデバイス」という特性からなのか、SNMP Poll の設定をする際には必ず「アクセスを許可するホストのアドレス」を定義する必要があるようです。

hostname ASAv
!
interface GigabitEthernet0/0
 nameif inside
 security-level 100
 ip address 10.0.0.5 255.255.255.0
 no shutdown
!
snmp-server host inside 10.0.0.101 poll community 0 PUBLIC version 2c
!
end

Linux からの SNMPGet 実行例

$ snmpget -v 2c -c PUBLIC 10.0.0.5 .1.3.6.1.2.1.1.5.0
iso.3.6.1.2.1.1.5.0 = STRING: "ASAv"

Junos

設定例

set system host-name Junos
set system root-authentication encrypted-password "**********"
set interfaces em1 unit 0 family inet address 10.0.0.6/24
set snmp community PUBLIC

Linux からの SNMPGet 実行例

$ snmpget -v 2c -c PUBLIC 10.0.0.6 .1.3.6.1.2.1.1.5.0
iso.3.6.1.2.1.1.5.0 = STRING: "Junos"