SNMP コミュニティ
SNMP コミュニティは、利用可能な MIB オブジェクト、それらのオブジェクトで有効な操作(読み取り専用または読み取り書き込み)、および承認された SNMP クライアントなど、メンバーに付与される承認のレベルを、送信元 IP アドレスに基づいて定義します。
SNMPコミュニティを設定する
Junos OSでSNMPエージェントを設定することは、ネットワーク内の他の管理対象デバイスと使い慣れた設定を共有する簡単なタスクです。例えば、SNMP コミュニティ文字列とトラップの宛先を使用して Junos OS を設定する必要があります。コミュニティ文字列は、デバイスのコレクションとその上で実行されているエージェントを、共通の管理ドメインにグループ化するための管理名です。マネージャーとエージェントが同じコミュニティを共有している場合、相互に通信できます。
SNMPコミュニティ文字列は、SNMPサーバーシステムとクライアントシステムの関係を定義します。この文字列は、サーバーへのクライアントのアクセスを制御するためのパスワードです。
読み取り専用のSNMPコミュニティを作成するには:
読み書き可能なSNMPコミュニティを作成するには:
-
ネットワークで使用するSNMPコミュニティを入力します。
[edit] user@host# set snmp community name
この標準コミュニティ文字列の例では、デバイス上で実行されている SNMP エージェントへの読み書きアクセスが許可されているコミュニティを識別するために
privateします。[edit] user@host# set snmp community private
-
コミュニティの許可レベルを定義します。
[edit snmp community name] user@host# set authorization authorization
この例では、publicコミュニティを読み取り専用アクセスに限定しています。publicコミュニティに所属するSNMPクライアント(SNMP管理システムなど)は、MIB変数を読み取ることはできますが、設定(変更)することはできません。
[edit snmp community public] user@host# set authorization read-write
-
Junos OSのSNMPエージェントへの変更を許可されているコミュニティ内のクライアントのリストを定義します。
IPアドレスとプレフィックス別にクライアントをリスト表示します。
[edit snmp community name] user@host# set clients address
次に例を示します。
[edit snmp community private] user@host# set clients 192.168.1.15/24 user@host# set clients 192.168.1.18/24
-
コミュニティ内で許可されていないクライアントを定義するには、その IP アドレスに続けて
restrictステートメントを記述します。[edit snmp community name] user@host# set clients address resrict
以下のステートメントは、他のすべてのホストは public コミュニティから制限されているものと定義します。
[edit snmp community private] user@host# set clients 0/0 restrict
-
設定をコミットします。
user@host# commit
SNMPコミュニティにクライアントのグループを追加する
Junos OSでは、SNMPコミュニティに1つ以上のクライアントグループを追加できます。[edit snmp community community-name]階層レベルでclient-list-name nameステートメントを含めることで、クライアントリストまたはプレフィックスリストのすべてのメンバーをSNMPコミュニティに追加できます。
クライアントのリストを定義するには、 set snmp client-list client-list-name ステートメントに続いてクライアントのIPアドレスを使用します。
[edit policy options]階層レベルでプレフィックスリストを設定できます。SNMP コミュニティ設定でプレフィックスリストをサポートすることで、単一のリストを使用して SNMP とルーティングポリシーを設定することができます。prefix-listステートメントの詳細については、ルーティングポリシー、ファイアウォールフィルター、およびトラフィックポリサーユーザーガイドを参照してください。
SNMPコミュニティにクライアントリストまたはプレフィックスリストを追加するには、 set snmp commmunity community-name client-list-name ステートメントを使用します。
クライアントリストとプレフィックスリストは、同じ名前であってはなりません。
以下の例は、クライアントリストを定義する方法を示しています。
[edit]
snmp {
client-list clentlist1 {
10.1.1.1/32;
10.2.2.2/32;
}
}
以下の例は、SNMP コミュニティにクライアントリストを追加する方法を示しています。
[edit]
snmp {
community community1 {
authorization read-only;
client-list-name clientlist1;
}
}
以下の例は、SNMP コミュニティにプレフィックスリストを追加する方法を示しています。
[edit]
policy-options {
prefix-list prefixlist {
10.3.3.3/32;
10.5.5.5/32;
}
}
snmp {
community community2 {
client-list-name prefixlist;
}
}
SNMPコミュニティ文字列の設定
SNMPコミュニティ文字列は、SNMPサーバーシステムとクライアントシステムの関係を定義します。この文字列は、サーバーへのクライアントのアクセスを制御するパスワードのように機能します。
Junos OS設定でコミュニティ文字列を設定するには、 set snmp community ステートメントを使用します。
コミュニティ名にスペースが含まれている場合は、引用符(" ")で囲みます。
コミュニティのデフォルトの認証レベルは read-onlyです。コミュニティ内で Set 要求を許可するには、そのコミュニティを authorization read-writeとして定義する必要があります。 Set リクエストでは、 view ステートメントを使用して読み書き権限でアクセスできる特定のMIBオブジェクトも含める必要があります。デフォルトのビューには、読み取り専用権限でアクセスできる、サポートされているすべての MIB オブジェクトが含まれています。読み書き権限でアクセスできるMIBオブジェクトはありません。 view ステートメントの詳細については、 MIBビューの設定を参照してください。
このコミュニティの使用が許可されているクライアント(コミュニティメンバー)のIPアドレスは、 clients ステートメントの一覧に記載されています。 clients ステートメントが存在しない場合、すべてのクライアントが許可されます。 addressには、ホスト名ではなくIPv4アドレスを指定する必要があります。アクセスが許可されていないすべてのSNMPクライアントへのアクセスを拒否する default restrict オプションを含めます。ローカルスイッチへのSNMPクライアントアクセスを制限するために、常に default restrict オプションを含めることをお勧めします。
コミュニティ名は、各SNMPシステム内で一意である必要があります。
関連項目
例:SNMPコミュニティ文字列を設定する
すべてのクライアントに読み取り専用のアクセス権を付与します。以下の設定では、システムはコミュニティ文字列publicを含むSNMPGet、GetNext、およびGetBulkリクエストに応答します。
[edit]
snmp {
community public {
authorization read-only;
}
}
すべてのクライアントに ping MIBと jnxPingMIB への読み書き可能なアクセス権を与えます。以下の設定では、システムはコミュニティ文字列privateを含み、ping MIBまたはjnxPingMIB階層に含まれる OID を指定する SNMP Get、GetNext、GetBulk、および Set リクエストに応答します。
[edit]
snmp {
view ping-mib-view {
oid pingMIB include;
oid jnxPingMIB include;
community private {
authorization read-write;
view ping-mib-view;
}
}
}
以下の構成では、範囲1.2.3.4/24内の IPアドレスを持つクライアントには読み取り専用アクセスを許可し、範囲 fe80::1:2:3:4/64内のシステムにはアクセスを拒否します。
[edit]
snmp {
community field-service {
authorization read-only;
clients {
default restrict; # Restrict access to all SNMP clients not explicitly
# listed on the following lines.
1.2.3.4/24; # Allow access by all clients in 1.2.3.4/24 except
fe80::1:2:3:4/64 restrict;# fe80::1:2:3:4/64.
}
}
}
SNMPv3コミュニティを設定する
SNMP コミュニティは、SNMP サーバーシステムとクライアントシステムの関係を定義します。このステートメントはオプションです。
SNMP コミュニティを設定するには、[edit snmp v3]階層レベルで snmp-community ステートメントを含めます。
[edit snmp v3] snmp-community community-index;
community-index は、SNMP コミュニティのインデックスです。
SNMP コミュニティプロパティを設定するには、 [edit snmp v3 snmp-community community-index] 階層レベルで以下のステートメントを含めます。
[edit snmp v3 snmp-community community-index] community-name community-name; context context-name; security-name security-name; tag tag-name;
以下は、 snmp v3 snmp-community 設定に必要な最小限のサンプル設定です。
set snmp v3 vacm security-to-group security-model v2c security-name NOSNMPV3 group SNMPV3GROUP set snmp v3 vacm access group SNMPV3GROUP default-context-prefix security-model any security-level none read-view SNMPVIEW set snmp v3 vacm access group SNMPV3GROUP default-context-prefix security-model any security-level none write-view SNMPVIEW set snmp v3 snmp-community SNMPV3COMMUNITY community-name JTACCOMMUNITY set snmp v3 snmp-community SNMPV3COMMUNITY security-name NOSNMPV3 set snmp view SNMPVIEW oid .1 include
SNMPv3をサポートしないユーザーが使用するコミュニティは、引き続きSNMPv2を使用します。
詳細については、次の設定を参照してください。
snmpget -v 2c -c JTACCOMMUNITY 10.52.170.100 sysUpTime.0
このセクションでは、以下のトピックについて説明します。
コミュニティ名の設定
コミュニティ名は、SNMP コミュニティを定義します。SNMP コミュニティは、SNMPv1 または SNMPv2c クライアントを許可します。設定されたセキュリティ名に関連付けられたアクセス権限は、どの MIB オブジェクトが使用可能か、およびそれらのオブジェクトで許可する操作(読み取り、書き込み、または通知)を定義します。
SNMP コミュニティ名を設定するには、[edit snmp v3 snmp-community community-index] 階層レベルで community-name ステートメントを含めます。このステートメントの詳細については、community-nameを参照してください。
コンテキストの設定
SNMP コンテキストは、SNMP エンティティがアクセスできる管理情報の集合を定義します。通常、SNMP エンティティは複数のコンテキストにアクセスできます。コンテキストは、物理システムまたは論理システム、複数システムの集合、またはシステムのサブセットです。管理ドメインの各コンテキストには、固有の識別子があります。
SNMP コンテキストを設定するには、[edit snmp v3 snmp-community community-index] 階層レベルで context context-name ステートメントを含めます。このステートメントの詳細については、コンテキスト(SNMPv3)を参照してください。
ルーティングインスタンスまたは論理システムのクエリーを行うには、
セキュリティ名の設定
セキュリティ名にコミュニティ文字列を割り当てるには、[edit snmp v3 snmp-community community-index]階層レベルでsecurity-nameステートメントを含めます。
[edit snmp v3 snmp-community community-index] security-name security-name;
security-nameは、アクセス制御を設定した場合に使用します。[edit snmp v3 vacm]階層レベルのsecurity-to-group設定によってグループが識別されます。
このセキュリティ名は、トラップの設定時に [edit snmp v3 target-parameters target-parameters-name parameters] 階層レベルで設定したセキュリティ名と一致する必要があります。
タグの設定
タグを設定するには、[edit snmp v3 snmp-community community-index]階層レベルでtagステートメントを含めます。このステートメントの詳細については、タグ(SNMP)を参照してください。
例:SNMPv3コミュニティを設定する
この例では、SNMPv3 コミュニティを構成する方法を示します。
要件
この例を設定する前に、デバイスの初期化以外の特別な設定を行う必要はありません。
概要
この例では、SNMPv3 コミュニティを作成する方法を示します。SNMP コミュニティ名を定義し、アクセス制御を実行するためのセキュリティ名を指定し、コミュニティ文字列の使用が許可されているマネージャーのアドレスを識別するタグ名を定義します。ターゲットアドレスは、通知の送信に使用する管理アプリケーションのアドレスとパラメーターを定義します。
認識したコミュニティ文字列を持つパケットをデバイスが受信し、そのパケットにタグが関連付けられている場合、Junosソフトウェアはこのタグを持つすべてのターゲットアドレスを検索し、このパケットの送信元アドレスが構成済みターゲットアドレスのいずれかと一致するかどうかを検証します。
トラップを送信する場所を指定し、許可される SNMPv1 および SNMPv2c パケットを定義します。ターゲットアドレスを識別するターゲットアドレス名を指定し、ターゲットアドレス、アドレスのマスク範囲、ポート番号、タグリスト、およびターゲットパラメーターを定義します。
設定
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit snmp v3] 階層レベルでCLIにコピー アンド ペーストして、設定モードから commit を入力します。
set snmp-community index1 community-name "public" set snmp-community index1 security-name john set snmp-community index1 tag router1 set target-address ta1 address 10.1.1.1 set target-address ta1 address-mask 255.255.255.0 set target-address ta1 port 162 set target-address ta1 tag-list router1 set target-address ta1 target-parameters tp1
手順
ステップバイステップの手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。その方法の詳細については、『Junos OS CLIユーザーガイド』の 設定モードでの CLIエディターの使用 を参照してください。
SNMP コミュニティ名を設定します。
[edit snmp v3] user@host# set snmp-community index1 community-name "public"
注:SNMP コミュニティ名は一意でなければなりません。
アクセス制御を実行するためのセキュリティ名を設定します。
[edit snmp v3] user@host# set snmp-community index1 security-name john
タグ名を定義します。タグ名は、コミュニティ文字列の使用が許可されているマネージャーのアドレスを識別します。
[edit snmp v3] user@host# set snmp-community index1 tag router1
SNMP ターゲット アドレスを設定します。
[edit snmp v3] user@host# set target-address ta1 address 10.1.1.1
コミュニティ文字列のアクセス制御用アドレスのマスク範囲を設定します。
[edit snmp v3] user@host#set target-address ta1 address-mask 255.255.255.0
SNMPv3ターゲットポート番号を設定します。
[edit snmp v3] user@host#set target-address ta1 port 162
ターゲット アドレスを選択するための SNMPv3 タグ リストを構成します。
[edit snmp v3] user@host#set target-address ta1 tag-list router1
ターゲット パラメーター テーブルで SNMPv3 ターゲット パラメーター名を設定します。
[edit snmp v3] user@host#set target-address ta1 target-parameters tp1
結果
設定モードから、 show snmp v3 コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返します。
[edit]
user@host# show snmp v3
target-address ta1 {
address 10.1.1.1;
port 162;
tag-list router1;
address-mask 255.255.255.0;
target-parameters tp1;
}
snmp-community index1 {
community-name "$9$JOZi.QF/AtOz3"; ## SECRET-DATA
security-name john;
tag router1;
}
検証
SNMPv3 コミュニティの検証
目的
SNMPv3 コミュニティが有効になっているかどうかを確認します。
アクション
SNMPv3 コミュニティ構成を検証するには、 show snmp v3 community コマンドを入力します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
Community Security Context Tag Storage Status index1 john router1 nonvolatile active
意味
出力には、システムで有効になっている SNMPv3 コミュニティに関する情報が表示されます。