SNMPコミュニティ
SNMP コミュニティは、利用可能なMIBオブジェクト、それらのオブジェクトで有効な操作(読み取り専用または読み取り書き込み)、およびそれらのソースIPアドレスに基づいて、承認されたSNMPクライアントなどのメンバーに付与される承認のレベルを定義します。
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コミュニティ文字列を設定する
すべてのクライアントに読み取り専用のアクセス権を与えます。以下の構成では、システムはコミュニティ文字列 を含む SNMP Get 、GetNext リクエGetBulkストに応答しますpublic。
[edit]
snmp {
community public {
authorization read-only;
}
}
すべてのクライアントに ping MIB と jnxPingMIB への読み書き可能なアクセス権を与えます。以下の構成では、システムはコミュニティ文字列 を含み、ping MIB または 階jnxPingMIB層に含まれる OID を指定する SNMP Get、GetNext、GetBulk リクエSetストに応答privateします。
[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メントを含めます。このステートメントの詳細については、context (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メントを含めます。このステートメントの詳細については、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 コミュニティに関する情報が表示されます。