2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SNMPとは

Last updated at Posted at 2020-05-10

はじめに

cactiを使ってネットワーク機器の監視を始めたので、SNMPについて調べてみた。

SNMPとは

  • UDP/IPでサーバーやネットワーク機器のリソース状態を監視できるプロトコル

UDPで上で動く

SNMPデータ
UDPデータ
IPデータ

通信形態

SNMPマネージャーとSNMPエージェント

cactiがSNMPマネージャーになり、ネットワーク機器のエージェントと通信して管理情報を収集する

ポーリングとトラップ

ポーリング

  • マネージャーがエージェントに対して定期的にリクエストを送り、エージェントからその都度管理情報を受け取る
  • cactiなどでグラフを描く時など
  • エージェントのUDP161ポートに送る

トラップ

  • エージェントがマネージャーに対して自発的に管理情報を発信
  • トラブルが起こったときに、緊急でマネージャーに伝えるために使う
  • マネージャーのUDP162ポートに送る

管理情報(MIB)

機器ごとに異なる管理情報を統一

標準MIBと拡張MIB

標準MIB(mib-2)

  • 多くの機器が共通として持っている管理情報
  • マネージャーは何もせずに読み取れる

拡張MIB(プライベートMIB)

  • ベンダー独自の管理情報が格納
  • マネージャーに登録作業が必要

SNMPのセキュリティ(SNMPv1とSNMPv2)

SNMPv1とSNMPv2

脆弱。パケットのなかみは 暗号化されない

コミュニティ名

認証として使われ、機器をグループする役割もある

アクセス権限

ネットワーク機器側でコミュニティ名によって、

読み込み、書き込み、読み書き

といった設定ができる

SNMPv3

セキュリティ機能が大幅に強化、認証や暗号化、細かいアクセス制御が可能

snmpwalk

SNMPマネージャ用コマンドの一つ

SNMP設定ファイル(/etc/snmpd.conf) SNMPエージェントの設定

SNMPエージェントの設定は/etc/snmp/snmpd.confで行います。設定内容は、主にSNMPマネージャに対してどのような情報を公開するかのコントロールです。

http://zvub.hateblo.jp/entry/20161231/1483180199
↑各設定の意味について詳しい

/etc/snmpd.conf
 37 ####
 38 # First, map the community name "public" into a "security name"
 39 
 40 #       sec.name  source          community
 41 com2sec notConfigUser  default       public
 42 
 43 ####
 44 # Second, map the security name into a group name:
 45 
 46 #       groupName      securityModel securityName
 47 group   notConfigGroup v1           notConfigUser
 48 group   notConfigGroup v2c           notConfigUser
 49 
 50 ####
 51 # Third, create a view for us to let the group have rights to:
 52 
 53 # Make at least  snmpwalk -v 1 localhost -c public system fast again.
 54 #       name           incl/excl     subtree         mask(optional)
 55 view    systemview    included   .1.3.6.1.2.1.1
 56 view    systemview    included   .1.3.6.1.2.1.25.1.1
 57 
 58 ####
 59 # Finally, grant the group read-only access to the systemview view.
 60 
 61 #       group          context sec.model sec.level prefix read   write  notif
 62 access  notConfigGroup ""      any       noauth    exact  systemview none none

com2sec

#       sec.name  source          community
com2sec local     localhost       private
com2sec mynet     192.168.0.0/24  public
com2sec public    default         public
  • マネージャーからコミュニティへのアクセスがどのNWから、どんな権限でアクセスできるのかを定義している
  • defaultはどこからもでそのコミュニティにアクセスできる。

sec.nameはセキュリティnameで、以下で権限を設定する。

group

 46 #       groupName      securityModel securityName
 47 group   notConfigGroup v1            notConfigUser
 48 group   notConfigGroup v2c           notConfigUser

com2sec で定義したセキュリティ名に対して、

「どのバージョンのsnmp通信を許可するか」を定義する部分。

バージョンは securityModel で指定し、それぞれが以下のように対応する。

・SNMP version1 : v1
・SNMP version2 : v2c
・SNMP version3 : usm

view

SNMP で取得可能な情報の範囲を指定

 54 #       name           incl/excl     subtree         mask(optional)
 55 view    systemview    included   .1.3.6.1.2.1.1
 56 view    systemview    included   .1.3.6.1.2.1.25.1.1
 57 

"subtree" 列で指定したオブジェクトID を基準に情報を取得するよう定義する。"type" を「included」とすると "subtree" で指定したOIDを含む範囲の指定となり「excluded」とすると、"subtree" で指定したOIDの範囲外の指定となる。

access

セキュリティnameの権限設定

 61 #       group          context sec.model sec.level prefix read   write  notif
 62 access  notConfigGroup ""      any       noauth    exact  systemview none none
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?