このドキュメントでは、Cisco Nexus 7000 および 7700 シリーズ スイッチの最適化されたアクセス コントロール リスト(ACL)のロギング(OAL)を設定する方法について説明します。
このドキュメントで説明する設定を開始する前に、基本的な ACL を使用した Nexus の設定を理解しておくことをお勧めします。
このドキュメントの情報は、次のハードウェアとソフトウェアのバージョンに基づいています。
本書の情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。 稼働中のネットワークで作業を行う場合、コマンドの影響について十分に理解したうえで作業してください。
ロギング対応 ACL により、ネットワークを通過する、またはネットワーク デバイスによって廃棄されたときのトラフィックを詳細に理解できます。 残念ながら、ACL ロギングは CPU 負荷が大きく、ネットワーク デバイスのその他の機能に悪影響を与える可能性があります。 CPU サイクルを短縮するために、Cisco Nexus 7000 シリーズ スイッチは OAL を使用します。
OAL を使用すると、ACL ロギングはハードウェアでサポートされます。 OAL では、ハードウェアのパケットを許可またはドロップして、スーパバイザに情報を送信するために最適化されたルーチンを使用し、ロギング メッセージを生成できるようにします。 たとえば、パケットがハードウェアで転送される際にそのパケットがロギングを有効にした ACL にヒットした場合、パケットのコピーがハードウェアで作成され、パケットは設定された時間間隔に従ってロギングのためスーパバイザにパントされます。
この項では OAL を使用する Nexus スイッチを設定するために使用できる情報を提供します。
この項に記載する例では、IP アドレス 10.10.10.1 のホストが、トラフィックを IP アドレス 172.16.10.10 の別のホストに送信し、その際に ACL のロギングが設定された Nexus 7000 シリーズのインターフェイスを使用します。
ホストと Nexus 7000 シリーズのスイッチの間の接続は、次のトポロジに従って発生します。
OAL を使用するようにスイッチを設定するには、次の手順を実行します。
logging ip access-list cache entries 8000次に例を示します。
logging ip access-list cache interval 300
logging ip access-list cache threshold 0
Nexus-7000# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Nexus-7000(config)#logging ip access-list cache entries 8000
Nexus-7000(config)#logging ip access-list cache interval 300
Nexus-7000(config)#logging ip access-list cache threshold 0
logging level acllog <number>次に例を示します。
acllog match-log-level <number>
logging logfile [name] <number>
Nexus-7000(config)# logging level acllog 5
Nexus-7000(config)# acllog match-log-level 5
Nexus-7000(config)# logging logfile acllog 5
Nexus-7000(config)# ip access-list test1
Nexus-7000(config-acl)# 10 permit ip 10.10.10.1/32 172.16.10.10/32 log
Nexus-7000(config-acl)# 20 deny ip any any log
Nexus-7000(config-acl)#
Nexus-7000(config-acl)#show ip access-lists test1 IP access list test1
10 permit ip 10.10.10.1/32 172.16.10.10/32 log
20 deny ip any any log
Nexus-7000(config-acl)#
Nexus-7000# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Nexus-7000(config)# int ethernet 4/1
Nexus-7000(config-if)# ip access-group test1 in
Nexus-7000(config-if)# ip access-group test1 out
Nexus-7000(config-if)#
Nexus-7000(config-if)# show run int ethernet 4/1
!Command: show running-config interface Ethernet4/1
!Time: Mon Jun 30 16:30:38 2014
version 6.2(6)
interface Ethernet4/1
ip access-group test1 in
ip access-group test1 out
ip address 10.10.10.2/24
no shutdown
Nexus-7000(config-if)#
設定が適切に機能することを確認するために、この項に記載する情報を活用してください。
このドキュメントで使用されている例では、ping は IP アドレス 10.10.10.1 のホストから IP アドレス 172.16.10.1 のホストに向けて開始されます。 トラフィック フローを確認するには、CLI に show logging ip access-list cache コマンドを入力します。
Nexus-7000# show logging ip access-list cache
Src IP Dst IP S-Port D-Port Src Intf Protocol Hits
--------------------------------------------------------------
10.10.10.1 172.16.10.10 0 0 Ethernet4/1 (1)ICMP 368
Number of cache entries: 1
--------------------------------------------------------------
Nexus-7000#
Nexus-7000# show logging ip access-list status Max flow = 8000
Alert interval = 300
Threshold value = 0
Nexus-7000#
300 秒ごとにロギングを確認できますが、これはこれがデフォルトの間隔です。
Nexus-7000# show logging logfile
2014 Jun 29 19:19:01 Nexus-7000 %SYSLOG-1-SYSTEM_MSG : Logging logfile (acllog)
cleared by user
2014 Jun 29 19:20:57 Nexus-7000 %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by
admin on console0
2014 Jun 29 19:21:18 Nexus-7000 %ACLLOG-5-ACLLOG_FLOW_INTERVAL: Src IP: 10.1 0.10.1,
Dst IP: 172.16.10.10, Src Port: 0, Dst Port: 0, Src Intf: Ethernet4/1, Pro tocol:
"ICMP"(1), Hit-count = 2589
2014 Jun 29 19:26:18 Nexus-7000 %ACLLOG-5-ACLLOG_FLOW_INTERVAL: Src IP: 10.1 0.10.1,
Dst IP: 172.16.10.10, Src Port: 0, Dst Port: 0, Src Intf: Ethernet4/1, Pro tocol:
"ICMP"(1), Hit-count = 4561
現在のところ、この設定に関する特定のトラブルシューティング情報はありません。
この項では、このドキュメントで説明されている設定に関する追加情報を提供します。
Nexus Operating System(NX-OS)リリース 6.2(6)以降では、詳細な ACL ロギングを使用できます。 この機能は、次の情報を記録します。
詳細ロギングを有効にするには、CLI に logging ip access-list detailed コマンドを入力します。 次に例を示します。
Nexus-7000(config)# logging ip access-list detailed
ACL Log detailed Logging feature is enabled. Hit-count of existing ACL Flow entry will
be reset to zero and will contain Hit Count per ACL type Flow.
Nexus-7000(config)#
詳細ログを有効にした後のログ出力の例を次に示します。
2014 Jul 18 02:20:38 Nexus7k-1-oal %ACLLOG-6-ACLLOG_FLOW_INTERVAL: Src IP: 10.10.10.1,
Dst IP: 172.16.10.10, Src Port: 0, Dst Port: 0, Src Intf: Ethernet4/5, Protocol:
"ICMP"(1), ACL Name: test1, ACE Action: Permit, Appl Intf: Ethernet4/5, Hit-count: 69
この項では、OAL を使用できるように Nexus 7000 シリーズ スイッチを設定するために使用するグローバル OAL コマンドについて説明します。
コマンド
|
説明
|
---|---|
Switch(config)# logging ip access-list cache {{entries number_of_entries} | {interval seconds} | {rate-limit number_of_packets} | {threshold number_of_packets}} | このコマンドは OAL グローバル パラメータを設定します。 |
Switch(config)# no logging ip access-list cache {entries | 間隔 | rate-limit | threshold} | このコマンドは、OAL グローバル パラメータをデフォルト設定に戻します。 |
entries num_entries |
これらのパラメータは、ソフトウェア内にキャッシュされるログ エントリの最大数を指定します。 値の範囲は 0 ~ 1,048,576 です。 デフォルト値は 8,000 エントリです。 |
間隔 秒 |
これらのパラメータは、エントリが Syslog に送信されるまでの最大時間を指定します。 値の範囲は 5 ~ 86,400 です。 デフォルト値は 300 秒です。 |
threshold num_packets |
これらのパラメータは、エントリが Syslog に送信されるまでのパケット一致(ヒット)の数を指定します。 値の範囲は 0 ~ 1,000,000 です。 デフォルト値は 0 パケット(レート制限なし)です。つまり、デフォルトでは、パケット マッチ個数によってシステム ログがトリガーされることはありません。 |
この項では、OAL を使用できるように Nexus 7000 シリーズ スイッチを設定するために使用するロギング コマンドについて説明します。
コマンド
|
説明
|
---|---|
switch(config)# acllog match-log- level number 例: switch(config)# acllog match-log- level 3 |
このコマンドは、エントリが ACL ログ(acllog)に記録される前に一致している必要があるロギング レベルを指定します。 値の範囲は 0 ~ 7 です。 デフォルト値は 6 です。 |
Switch(config)# no acllog match-log- level number 例: switch(config)# no acllog match-log- level 6 |
このコマンドはデフォルト設定(6)にログ レベルを戻します。 |
Switch(config)# logging level facility severity-level 例: switch(config)# logging level acllog 3 |
このコマンドは、指定された重大度またはそれ以上の重大度である指定のファシリティからのロギング メッセージを有効にします。 このドキュメントで使用する例では、デフォルト設定が 2 であるのに対し、acllog レベルは 3 に設定されます。 |
Switch(config)# no logging level [facility severity-level] 例: switch(config)# no logging level acllog 3 |
このコマンドは、指定されたファシリティのロギング重大度をデフォルト レベルにリセットします。 ファシリティと重大度のレベルを指定しない場合、 すべてのファシリティがそれぞれのデフォルト レベルにリセットされます。 このドキュメントで使用する例では、acllog はデフォルト(2)に戻ります。 |
Switch(config)# logging logfile logfile-name severity-level [size bytes] 例: switch(config)# logging logfile acllog 3 |
このコマンドは、ロギングが発生する前に、システム メッセージと最小の重大度を保存するために使用されるログ ファイルの名前を設定します。 任意で最大ファイル サイズを指定できます。 デフォルトの重大度は 5 です。デフォルトのファイル サイズは 10,485,760 です。 |
Switch(config)# no logging logfile [logfile-name severity-level [size bytes]] 例: switch(config)# no logging logfile acllog 3 |
このコマンドは、ログ ファイルへのロギングを無効にします。 |
このドキュメントで説明した設定を適用する前に、考慮する必要がある重要なガイドラインと制限を次に示します。