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"
コメント