キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
286
閲覧回数
3
いいね!
0
コメント
Yuji Suzuki
Cisco Employee
Cisco Employee

 

前提

本記事はASA 9.12(4)で確認した結果をもとに投稿しています。
また、TCP State Bypassの設定をしている前提となりますのでご注意ください。


概要

TCP State Bypassを設定している環境において、タイムアウト関連の設定がデフォルトの場合、設定上は1時間(デフォルト値)ですが、実際のコネクションテーブル上ではTCP State Bypass対象となっているTCP通信のコネクションアイドルタイムアウトは2分(*1)となります。
これはCLI Configuration Guideにも記載されている通り、期待動作となります。

Configure TCP State Bypass
To bypass TCP state checking in asynchronous routing environments, carefully define a traffic class that applies to the affected hosts or networks only, then enable TCP State Bypass on the traffic class using a service policy. Because bypass reduces the security of the network, limit its application as much as possible.

Before you begin
If there is no traffic on a given connection for 2 minutes, the connection times out. You can override this default using the set connection timeout idle command for the TCP state bypass traffic class. Normal TCP connections timeout by default after 60 minutes.

その一方で、もしアイドルタイムアウト値をチューニングしたい場合は、以下の2種類のコマンドで変更可能となります。

  • A: timeout conn hh:mm:ss
    • 設定箇所:グローバルコンフィギュレーション
    • デフォルト値:1時間
  • B: set connection timeout idle hh:mm:ss
    • 設定箇所:Policy Map
    • デフォルト値:無し

また、それぞれの設定パターンで、実際のTCP State Bypass対象のコネクションアイドルタイムアウトに採用される値は変わってきますのでご注意ください。

なお、TCP State Bypassを設定している環境かつ TCP State Bypass 対象通信のコネクションは、TCP FIN, RSTでセッション終了したとしても、コネクションテーブル上からは即時に削除されず、アイドルタイムアウトに至るまで残り続けます。
このため、アイドルタイムアウト値が比較的長いと、その分コネクションテーブルに残り続けるため、それに伴いリソース(主にメモリ)影響への懸念も出てきます。
このため、特にTCP State Bypass設定を行っている場合は、アイドルタイムアウトのチューニングには十分ご注意いただいた上で実施いただけますようお願いします。


具体的な設定例

パターン1

以下設定の場合、アイドルタイマーは2分となります。

  • A = Default値(1時間)
  • B = Default値(未設定)

ciscoasa/admin(config)# sh run timeout | i icmp
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 sctp 0:02:00 icmp 0:00:02
ciscoasa/admin(config)#
ciscoasa/admin(config)# sh run policy-map | i set
  set connection advanced-options tcp-state-bypass
ciscoasa/admin(config)#

  • TCP Conneciton生成後

ciscoasa/admin(config)# show conn detail | i flags
  flags b , idle 26s, uptime 31s, timeout 2m0s, bytes 4747
ciscoasa/admin(config)#

 
パターン2

以下設定の場合、アイドルタイマーはBのカスタム値となります。

  • A = Default値(1時間)
  • B = カスタム値

ciscoasa/admin(config)# sh run timeout | i icmp
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 sctp 0:02:00 icmp 0:00:02
ciscoasa/admin(config)# sh run policy-map | i set
  set connection timeout idle 0:00:30
  set connection advanced-options tcp-state-bypass
ciscoasa/admin(config)#

  • TCP Conneciton生成後

ciscoasa/admin(config)# show conn detail | i flags
  flags b , idle 3s, uptime 7s, timeout 30s, bytes 4875
ciscoasa/admin(config)#

 
パターン3

以下設定の場合、アイドルタイマーはAのカスタム値となります。

  • A = カスタム値(≠1時間)
  • B = Default値(未設定)

ciscoasa/admin(config)# sh run timeout | i icmp
timeout conn 2:00:00 half-closed 0:10:00 udp 0:02:00 sctp 0:02:00 icmp 0:00:02
ciscoasa/admin(config)#
ciscoasa/admin(config)# sh run policy-map | i set
  set connection advanced-options tcp-state-bypass
ciscoasa/admin(config)#

  • TCP Conneciton生成後

ciscoasa/admin(config)# show conn detail | i flags
flags b , idle 7s, uptime 11s, timeout 2h0m, bytes 4971
ciscoasa/admin(config)#

 
パターン4

以下設定の場合、アイドルタイマーはBのカスタム値となります。

  • A = カスタム値(≠1時間)
  • B = カスタム値

ciscoasa/admin(config)# sh run timeout | i icmp
timeout conn 2:00:00 half-closed 0:10:00 udp 0:02:00 sctp 0:02:00 icmp 0:00:02
ciscoasa/admin(config)#
ciscoasa/admin(config)# sh run policy-map | i set
  set connection timeout idle 0:00:30
  set connection advanced-options tcp-state-bypass
ciscoasa/admin(config)#

  • TCP Conneciton生成後

ciscoasa/admin(config)# show conn detail | i flags
  flags b , idle 7s, uptime 13s, timeout 30s, bytes 4971
ciscoasa/admin(config)#


タイマー設定のリセットについて

timeout conn の場合

Configurationモードにて、clear configure timeoutを実行します。(*1)

ciscoasa/admin(config)# sh run timeout | i icmp
timeout conn 2:00:00 half-closed 0:10:00 udp 0:02:00 sctp 0:02:00 icmp 0:00:02
ciscoasa/admin(config)#
ciscoasa/admin(config)# clear configure timeout
ciscoasa/admin(config)#
ciscoasa/admin(config)# sh run timeout | i icmp
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 sctp 0:02:00 icmp 0:00:02
ciscoasa/admin(config)#

set connection timeout idle の場合

Configurationモードにて、Policy-Map配下でno set connection timeoutを実行します。

ciscoasa/admin(config)# show running-config policy-map
!
policy-map p_tcp_state
 class c_tcp_state
  set connection timeout idle 0:00:30
  set connection advanced-options tcp-state-bypass
!
ciscoasa/admin(config)#
ciscoasa/admin(config)# policy-map p_tcp_state
ciscoasa/admin(config-pmap)# class c_tcp_state
ciscoasa/admin(config-pmap-c)#
ciscoasa/admin(config-pmap-c)# no set connection timeout
ciscoasa/admin(config-pmap-c)#
ciscoasa/admin(config-pmap-c)# show run policy-map
!
policy-map p_tcp_state
 class c_tcp_state
  set connection advanced-options tcp-state-bypass
!
ciscoasa/admin(config-pmap-c)#


*1: TCP State Bypass対象のコネクションとは、show conn detailコマンドでコネクションテーブルを確認した際にflags bと表示されるものが該当します。

ciscoasa/admin# show conn detail
2 in use, 4 most used
Flags: A - awaiting inside ACK to SYN, a - awaiting outside ACK to SYN,
    B - initial SYN from outside, b - TCP state-bypass or nailed,
    C - CTIQBE media, c - cluster centralized,
    <中略>
    Z - Scansafe redirection, z - forwarding stub flow

TCP outside: 192.168.47.3/49684 inside: 192.168.48.1/22,
  flags b , idle 4s, uptime 9s, timeout 2m0s, bytes 4747
TCP outside: 192.168.48.3/49689 inside: 192.168.48.1/22,
  flags UIOB , idle 2s, uptime 10s, timeout 1h0m, bytes 4971

ciscoasa/admin#

*2: 本記事投稿時点(2023/12)でコマンドリファレンス上はno timeoutコマンドを実行するような記載がありますが、実は非サポートコマンドとなります。

  • コマンドリファレンス

To set all timeouts to the default, use the no form of this command.

  • 実行結果

ciscoasa/admin(config)# no timeout
'no timeout ...' currently not supported, use clear instead
ciscoasa/admin(config)#

こちらの挙動に関しては、ドキュメント上の不具合として以下のものが登録されています。

 


参考情報

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします