メインコンテンツまでスキップ
NetApp Response to Russia-Ukraine Cyber Threat
In response to the recent rise in cyber threat due to the Russian-Ukraine crisis, NetApp is actively monitoring the global security intelligence and updating our cybersecurity measures. We follow U.S. Federal Government guidance and remain on high alert. Customers are encouraged to monitor the Cybersecurity and Infrastructure Security (CISA) website for new information as it develops and remain on high alert.

Data ONTAP で SNMP による監視を設定する方法

Views:
2,611
Visibility:
Public
Votes:
4
Category:
clustered-data-ontap-8
Specialty:
core
Last Updated:

すべてのとおり  

環境

clustered Data ONTAP 8

回答

  • clustered Data ONTAP での簡易ネットワーク管理プロトコル( SNMP )と SNMP トラップの簡単な紹介。
  • SNMP を使用して C-Mode クラスタシステムから情報を取得する方法を教えてください。
  • 目的のクライアントで SNMP トラップを設定し、イベントを受信する方法を教えてください。

[1]: Data ONTAP 8.2.x および Data ONTAP 8.3.x では、次の『 TR-Guide - SNMP Support 』を参照してください

このレポートの目的は、 clustered Data ONTAP 8.2.x および clustered Data ONTAP 8.3.x での SNMP サポートのレベルをお客様とネットアップのフィールドチームが理解できるようにすることです。また、 7 モードとクラスタモードの両方の OID の可用性も比較します。個々のテーブルまたはグループレベルの情報のみが表示されます。netapp.mib ファイルには、テーブルまたはグループ内でサポートされているさまざまなフィールドまたは変数に関する追加情報が含まれています。i推論 のようnetapp.mibな MIB ブラウザツールを使用すると、ファイルの内容を簡単に解釈できます。 

SNMP:

SNMPは、一般に普及しているネットワーク監視および制御プロトコルです。データは SNMP エージェントから渡されます。 SNMP エージェントは、各ネットワークデバイス(ハブ、ルータ、またはブリッジ)のアクティビティを報告するハードウェアまたはソフトウェアのプロセスで、ネットワークの監視に使用されるワークステーションコンソールに渡されます。エージェントは、 MIB (管理情報ベース)に含まれる情報を返します。 MIB は、デバイスから取得可能な情報と、制御可能な情報(オフまたはオン)を定義するデータ構造です。UNIX コミュニティを起点とする SNMP は、すべての主要プラットフォームで広く使用されています。
MIB は、デバイスサブシステムの管理データの構造を記述します。 MIB は、 Object Identifier ( OID; オブジェクト ID )を含む階層型ネームスペースを使用します。各 OID は、 SNMP を介して読み取りまたは設定できる変数を識別します。

:ネットアップでは、 SNMP セット操作はサポートされていません。また、 SNMP サポートはクラスタ全体でのみサポートされ、サーバ化されません。ただし、これは 8.1 以降のリリースで実行され、 7G vFiler とは異なります。これは、 snmp-support が vfilered 状態になっていないためです。

 3010108_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ソリューション SKB 60714_ 1.jpg

SNMP の有効化 / 無効化:

SNMP プロトコルは、 CLI/ZAPI を使用してクラスタで有効または無効にできます。

  • CLI を使用したクラスタでの SNMP の有効化: NGsh から、を実行options-option-name snmp.enable-option-valueします on
  • CLI を使用してクラスタ上の SNMP を無効にする: ngsh からoptions-option-name snmp.enable-option-value、 off を実行します
  • ZAPI を使用したクラスタでの SNMP の有効化: ONTAPI または Zexplore.exe を使用して、を実行します API snmp-enable
  • ZAPI を使用したクラスタでの SNMP の無効API snmp-disable

    $> ontapi snmp-[en|dis]able
    化: ONTAPI または Zexplore.exe を使用して、例を実行します。注: SNMP プロトコルはクラスタ全体でのみ有効または無効にできます。Data ONTAP 8.1 C-Mode では、クラスタ内の個々のノードに対する SNMP は使用できません。

7G のような SNMP UI :

Data ONTAP C-Mode では、多数の UI ( CLI および ZAPI )を使用して、クラスタ上の SNMP の詳細を設定します。次に、クラスタ化されたシステムでの SNMP の設定に役立つ各 CLI の概要を示します。

  • snmp contact: 連絡先の詳細を表示または変更します
  • snmp location: ロケーションの詳細を表示または変更します
  • snmp init: クラスタから送信されたトラップを有効または無効にします( 1 -> 有効、 0 -> 無効)。
  • snmp authtrap: AuthenticationFailure トラップを有効または無効にします [1->enabled,0->disabled]
  • snmp community add|delete: クラスタ内のコミュニティを表示、追加、または削除するには、デフォルトの「パブリック」コミュニティ( ro )があります。
  • 注意:サポートされているのは、読み取り専用コミュニティのみです。また、最初の SNMP コミュニティエントリを削除するには、通知に使用するトラップホストを削除する必要があります。
  • snmp traphost add|delete: クラスタ内のトラップホストを表示、追加、または削除するには、クラスタ内で発生したすべてのトラップ(またはイベント)が、ホストの実行中にこれらのホストに送信されます snmptrapd
  • options snmp.enable: クラスタ上で SNMP プロトコルを有効または無効にします。 [ オン => 有効、オフ => 無効 ]

次に、クラスタ化された Data ONTAP システムで SNMP を設定する際に役立つ ZAPI の概要を示します。

  • snmp-enable: クラスタで SNMP プロトコルを有効にします
  • snmp-disable: クラスタ上の SNMP プロトコルをディセーブルにします
  • snmp-trap-enable: トラップホストに送信されるトラップをイネーブルにします
  • snmp-trap-disable: トラップホストに送信されるトラップをディセーブルにします
  • snmp-community-add: SNMP コミュニティを追加します。Data ONTAP 8.1 C-Mode では、 RO コミュニティのみがサポートされています
  • snmp-community-delete: 既存のコミュニティを削除します
  • snmp-traphost-add: トラップホストを追加します
  • snmp-traphost-delete: 既存のトラップホストを削除します
  • snmp-status: クラスタ上の SNMP 設定の詳細を表示します(場所、連絡先、トラップ、トラップホスト、コミュニティの詳細など)。
  • snmp-get: OID が API への入力として指定された場合にオブジェクト値を読み取ります( snmpget UNIX ユーティリティと同様)。
  • snmp-get-next: OID として指定されたオブジェクトの横にあるオブジェクトの値を読み取ります( snmpgetnext UNIX ユーティリティと同様)。
  • Add/modify/view contact: クラスタの連絡先とロケーションの詳細は、 SNMP CLI を使用して追加または変更できます。連絡先またはロケーションの詳細を変更するための対応する API はありません。ただし、 SNMP [Walk | Get | GetNext ] (または) snmp-status を使用して、クラスタの詳細を読み取ることができます( SNMP または ZAPI を使用して変更することはできません)

例:

CLI を使用した追加 / 変更:

ZAPI コールの使用を確認:
$> ontapi -x snmp-status

SNMP コールの使用を確認:
$> snmpwalk -c public -v [1|2c]

C-Mode システムで SNMPv3 を設定するには、次の手順を実行します。

  • Security Login Create CLI を使用して、クラスタに SNMPv3 ユーザを作成します。
  • engineID を入力します(デフォルトで使用されるローカル engineID を使用します)。
  • 認証プロトコルを入力し、指定した SNMPv3 ユーザのパスワードを入力します。
  • snmp[walk|get|getnext]-v3 を指定し、ユーザクレデンシャルを指定して、 SNMPv3 ユーザに対してを実行します。

PDF の付録セクションでは、 SNMPv3 ユーザSNMP utilitiesを作成してユーザに対して実行する方法の例を示します。

SNMPトラップ

エージェントからマネージャへの非同期通知:現在の sysUpTime 値、トラップのタイプを識別する OID 、およびオプションの変数バインディングが含まれます。トラップの宛先アドレスは、アプリケーション固有の方法で決定されます。通常は、 MIB のトラップ設定変数を使用します。トラップメッセージの形式が SNMPv2 で変更され、 PDU の名前が snmpv2-trap に変更されました。

3010108_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ソリューション SKB 60714_ 2.jpg

7-Mode および C-Mode での SNMP とそのトラップ Data ONTAP :

3010108_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ソリューション SKB 60714_3.jpg

標準SNMPトラップ

RFC 1215 には、 5 つの標準 SNMP トラップがあります。

  • linkDown :アクティブな物理ポートをダウンさせると、このトラップが生成されます。このポートはアップ状態になります( ifAdminStatus を up から down に変更する必要があります。また、 ifindex number 情報はトラップメッセージに含まれません。)
  • linkup - このトラップは、ダウンしている物理ポートを起動すると生成されます( ifAdminStatus を down から up/ に変更する必要があります。 ifindex number 情報はトラップメッセージに含まれません。)
  • warmstart ●通常のリブートを実行すると、ウォームスタートトラップが生成されます
  • coldstart ● coldstart トラップは、送信側のプロトコルエンティティが、エージェントの設定またはプロトコルエンティティの実装が変更されるように再初期化していることを示します
  • authenticationFailure :ユーザが不正な権限を使用してシステムにログインしようとすると、 authenticationFailure トラップが生成されます

ネットアップ組み込みの SNMP トラップ:

ネットアップには、 SNMP ユーザの利便性を考慮した多数のトラップが組み込まれています。このファイル/mroot/etc/mib/netapp.mibには、組み込みトラップのリストが含まれています。各トラップには、一意の識別子またはトラップコードがあります。組み込みトラップの例としては、 VolumeOnline があり、そのトラップコードは 276 です。以下の情報はnetapp.mibファイルから取得されます。

OID の後に、トラップであることを示す notification-type タグが続きます。このタグは、説明とトラップコード(この場合は 276 )に関連付けられています。

volumeOnline                    NOTIFICATION-TYPE
  OBJECTS                       {productTrapData, productSerialNum}
  STATUS                          current
  DESCRIPTION         Volume is online now. The string sent with trap specifies name of volume which is online now.
        
         ::= { netapp 0 276 }

ユーザ定義SNMPトラップ

これらは、ユーザの要件に基づいて設定できるトラップです。ネットアップにはいくつかのトラップが組み込まれていますが、ユーザは他の理由でイベントを生成したい場合があります。7-Mode には、ユーザ定義トラップをサポートするインフラがありますが、 Data ONTAP 8.1 の C-Mode インフラでは、ユーザ定義トラップはサポートされません。ユーザ定義トラップの設定に役立つ計画的な UI ( Data ONTAP 8.1 以降)は次のとおりです。

  • snmp-trap-list
  • snmp-trap-set
  • snmp-trap-delete :トラップを削除します
  • snmp-trap-reset を使用します
  • snmp-trap-load

EMS との提携:

トラップは EMS イベントに関連付けられます。SNMP イベントは、イベント CLI を使用しても生成できます。
SNMP トラップホストリストに追加されたすべてのトラップホストは、トラップホストエントリの下にあるイベント宛先テーブルと呼ばれる別のテーブルにレプリケートされます。
                               
test-01::*> system snmp traphost show
        TRAPHOST1
        TRAPHOST2
test-01::*> event destination show -name traphost

                  Name: traphost

      Mail Destination: -
      SNMP Destination: TRAPHOST1
                        TRAPHOST2
    Syslog Destination: -
       Syslog Facility: -
   SNMP Trap Community: public
Hide Parameter Values?: false

イベント * CLI を使用して、次の操作を実行できます。

新しい SNMP ホストは、イベントデスティネーションの create CLI を使用して追加できます。ホストがデフォルトのトラップホストリストに追加されると、 SNMP トラップホストリストにレプリケートされ、クラスタでトリガーされたすべてのイベントがこのホストに送信されます。

csiqa-3170-6a1365754940::*> snmp traphost
        -

csiqa-3170-6a1365754940::*> event destination show -name traphost

                  Name: traphost
      Mail Destination: -
      SNMP Destination: -
    Syslog Destination: -
       Syslog Facility: -
   SNMP Trap Community: qwerty
Hide Parameter Values?: false

csiqa-3170-6a1365754940::*> snmp community

csiqa-3170-6a1365754940
        ro  qwerty

csiqa-3170-6a1365754940::*> event destination modify -name traphost -hide-parameters false -snmp 10.229.88.174 -snmp-community qwerty

csiqa-3170-6a1365754940::*> event destination show -name traphost                                                                   

                  Name: traphost
      Mail Destination: -
      SNMP Destination: csiqa-labopt-rh5-003.gdl.englab.netapp.com
    Syslog Destination: -
       Syslog Facility: -
   SNMP Trap Community: qwerty
Hide Parameter Values?: false

csiqa-3170-6a1365754940::*> snmp traphost
        csiqa-labopt-rh5-003.gdl.englab.netapp.com (csiqa-labopt-rh5-003.gdl.englab.netapp.com) <10.229.88.174>

csiqa-3170-6a1365754940::*>

ただし、特定のイベントだけを受信するようにホストを設定する場合は、イベントルート CLI を使用して、任意のイベントをその宛先にルーティングできます。イベントを一覧表示するには、次の手順を実行します。

csiqa-3070-591287556400::*> event route show
                                                               Freq    Time
Message                          Severity       Destinations   Threshd Threshd
-------------------------------- -------------- -------------- ------- -------
EthrOutput.FamilyType.Err        ERROR          -              0       0
LUN.clone_snapshot_destroyed     NOTICE         -              0       0
LUN.destroy                      INFORMATIONAL  -              0       0
LUN.space_reservation_not_honored
                                 NOTICE         -              0       0
LUN.volume_processing_failed_no_space
                                 ERROR          -              0       0
Nblade.DidNotInitialize          ERROR          -              0       0
Nblade.JunctionRootLookup        WARNING        -              0       0
Nblade.Nfs4IllegalDirentName     ERROR          -              0       0
Nblade.NfsRaidError              ERROR          -              0       0

対応するイベントを必要な宛先にマッピングします。
すべてのイベントが SNMP トラップに対応しているわけではありませんSNMP トラップに関連付けられているすべてのトラップを確認するには、次の CLI を使用します。
csiqa-3070-591287556400::*> event route show -snmp-support true
                                                               Freq    Time
Message                          Severity       Destinations   Threshd Threshd
-------------------------------- -------------- -------------- ------- -------
app.log.alert                    ALERT          -              0       0
app.log.crit                     CRITICAL       -              0       0
app.log.debug                    DEBUG          -              0       0
app.log.emerg                    EMERGENCY      -              0       0
app.log.err                      ERROR          -              0       0
app.log.info                     INFORMATIONAL  -              0       0
app.log.notice                   NOTICE         -              0       0
app.log.warn                     WARNING        -              0       0
asup.general.create              ERROR          -              0       0
asup.general.drop                ERROR          -              0       0
asup.general.drop.enqueue        INFORMATIONAL  -              0       0

SNMP トラップ:トラップの設定方法とイベントの生成方法

SNMP トラップホスト CLI を使用してトラップホストを追加します。

$> snmp traphost add
-
$> snmp traphost add

または - 注:トラップホスト名を解決するために、クラスタに DNS が設定されていることを確認してください。 

  1. Filer で SNMP プロトコルが有効になっていることを確認します。

    ::> options -option-name snmp.enable on

  2. クラスタで SNMP トラップを有効にします。これは、


    Cluster::> snmp init 1

    次のいずれかの方法で実行できます。次のコマンドを実行します。 - または - ZAPI を実行します。
    $> ontapi snmp-trap-enable

  3. イベントのトリガーと監視

traps.dat 情報 - 参照先: BURT #460968 [2]

traps.dat ファイルは、特にユーザ定義トラップ用です。UDT のサポートは、 Data ONTAP C-Mode ではまだサポートされていません( Data ONTAP 8.1.1 以降)。

traps.dat ファイルの末尾には余分な 1 があり、テーブル内の OID と 0 (テーブル外)で終わる OID を区別するのに役立ちます。テーブル内の OID はトラップされないようにする必要があります。そのため、余分な暗号化は、実際には無効なユーザ定義トラップを減らすのに役立ちます 

C モード OID 情報 - リファレンス: BURT #460968 [3] 

netapp.mibファイルに表示される OID はキーであり、実際の絶対 OID 値ではありません。これを確認する最善の方法は、実際に最後の数字を削除して snmpwalk を実行することです。

例: 

  • [rakeshc@cyclnb01 ~/p4]$ snmpwalk -v 1 -c public 10.10.10.10 .1.3.6.1.4.1.789.1.5.11.1.2
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1030 = STRING: "aggr0_br3040n2_rtp"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1034 = STRING: "n1_aggr1"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1038 = STRING: "n2_aggr1"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1050 = STRING: "coral_aggr" 

上記の 5 つの異なる OID ( 1026 、 1030 、 1034 、 1038 、 1050 )を指定し、次の手順を実行します。

  • [rakeshc@cyclnb01 ~/p4]$ snmpwalk -v 1 -c public 10.61.76.140 .1.3.6.1.4.1.789.1.5.11.1.2.1026
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"

さまざまなタイプのトラップ / イベントを生成する方法の詳細な手順については、次の付録セクションを参照してください。

 

SNMP を有効にし、 SNMP ユーティリティを実行します。

snmpwalk/snmpget/snpgetnext etc..クラスタ上で実行され、設定手順も実行されます

 DOT_cluster::*> options snmp.enable

DOT_cluster
    snmp.enable                       on

DOT_cluster::*> network interface show -vserver DOT_cluster
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
DOT_cluster
            cluster_mgmt up/up    10.238.44.38/18    node1         e0c     true

DOT_cluster::*>


bash-3.2$ snmpwalk -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1030 = STRING: "aggr0_partnernode"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1034 = STRING: "aggr_node1"
bash-3.2$

 
SNMP を無効にし、 SNMP ユーティリティを実行します。

snmpwalk/snmpget/snpgetnext etc..クラスタでのディセーブル化、および設定手順も実行します

 DOT_cluster::*> option snmp.enable off
  (options)
1 entry was modified.

DOT_cluster::*> net int show -vserver DOT_cluster
  (network interface show)
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
DOT_cluster
            cluster_mgmt up/up    10.238.44.38/18    node1         e0c     true

DOT_cluster::*>

bash-3.2$ snmpwalk -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2
Timeout: No Response from 10.238.44.38
bash-3.2$ snmpget -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2.1026
Timeout: No Response from 10.238.44.38.
bash-3.2$ snmpgetnext -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2.1026
Timeout: No Response from 10.238.44.38.
bash-3.2$

SNMPv3 ユーザを追加し、 SNMP ユーティリティを実行します。

SNMPv3 プロトコルは、 SNMPv1 、 v2c と比較してセキュリティで保護されたプロトコルです。 SNMPv3 ユーザに設定して SNMP ツールを実行するには、次の手順を実行する必要があります
 

DOT_cluster::*> security login create -username snmpv3user -application snmp -authmethod usm            

Enter the authoritative entity's EngineID [local EngineID]:

Which authentication protocol do you want to choose (none, md5, sha) [none]: sha

Enter the authentication protocol password (minimum 8 characters long):

Enter the authentication protocol password again:

Which privacy protocol do you want to choose (none, des) [none]: des

Enter privacy protocol password (minimum 8 characters long):

Enter privacy protocol password again:

DOT_cluster::*>

bash-3.2$ snmpwalk -v 3 -u snmpv3user -a SHA -A testing123! -l authPriv -x DES -X testing123! 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1030 = STRING: "aggr0_partnernode"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1034 = STRING: "aggr_node1"
bash-3.2$

NetApp 組み込み SNMP トラップの生成:

ネットアップの組み込みトラップはnetapp.mibファイルで定義されています。次の手順は、トラップホストまたは SNMP の宛先にトラップを生成する方法を示しています

DOT_cluster::*> snmp traphost                 
        -

DOT_cluster::*> snmp traphost add 10.229.88.174

DOT_cluster::*> snmp traphost                 
        10.229.88.174 (10.229.88.174) <10.229.88.174>

DOT_cluster::*> snmp init
        1

DOT_cluster::*> options snmp.enable                                                         

DOT_cluster
    snmp.enable                       on

DOT_cluster::*>

DOT_cluster::*> volume offline -volume testvol -vserver vs0
Volume "vs0:testvol" is now offline.                                                                                                                                      

Volume modify successful on volume: testvol


DOT_cluster::*> volume online -volume testvol -vserver vs0
Volume "vs0:testvol" is now online.                                                                                                                                       

Volume modify successful on volume: testvol


DOT_cluster::*>


2013-05-03 05:30:00 prakashl-vsim1.sim.eng.btc.netapp.in [10.238.44.36] (via UDP: [10.238.44.36]:161) TRAP, SNMP v1, community public
    SNMPv2-SMI::enterprises.789 Enterprise Specific Trap (275) Uptime: 1:10:12.70
    SNMPv2-SMI::enterprises.789.1.1.12.0 = STRING: "Volume testvol@vserver:17309c4f-b3d6-11e2-a9a8-123478563412 is offline. "    SNMPv2-SMI::enterprises.789.1.1.9.0 = STRING: "1-80-000011"

2013-05-03 05:31:55 prakashl-vsim1.sim.eng.btc.netapp.in [10.238.44.36] (via UDP: [10.238.44.36]:161) TRAP, SNMP v1, community public
    SNMPv2-SMI::enterprises.789 Enterprise Specific Trap (276) Uptime: 1:12:12.07
    SNMPv2-SMI::enterprises.789.1.1.12.0 = STRING: "Volume testvol@vserver:17309c4f-b3d6-11e2-a9a8-123478563412 is online. "    SNMPv2-SMI::enterprises.789.1.1.9.0 = STRING: "1-80-000011"

イベント生成 CLI を使用してトラップを生成します。

また、イベント生成 CLI を使用してトラップを生成することもできます。

DOT_cluster::*> event destination show
                                                                         Hide
Name             Mail Dest.        SNMP Dest.         Syslog Dest.       Params
---------------- ----------------- ------------------ ------------------ ------
allevents        -                 -                  -                  false
asup             -                 -                  -                  false
criticals        -                 -                  -                  false
pager            -                 -                  -                  false
traphost         -                 10.229.88.174
     -                  false
5 entries were displayed.

DOT_cluster::*> snmp traphost
        10.229.88.174 (10.229.88.174) <10.229.88.174>

DOT_cluster::*> event generate -messagename wafl.dir.size.warning -values TEST_EVENT

DOT_cluster::*>

2013-05-03 05:33:01 prakashl-vsim1.sim.eng.btc.netapp.in [10.238.44.36] (via UDP: [10.238.44.36]:161) TRAP, SNMP v1, community public
   SNMPv2-SMI::enterprises.789 Enterprise Specific Trap (485) Uptime: 1:13:17.57
   SNMPv2-SMI::enterprises.789.1.1.12.0 = STRING: "Directory TEST_EVENT is approaching the maxdirsize limit. "   SNMPv2-SMI::enterprises.789.1.1.9.0 = STRING: "1-80-000011"


           

追加情報

ここにテキストを追加します。

 

Scan to view the article on your device