はじめに
ASAは 簡易的なQoSをサポートします。 任意Interfaceの任意通信のinput/outputパケットの、通信量の制限(ポリシング)が可能です。 本ドキュメントでは、シンプルなQoS設定例と動作確認例について紹介します。
本ドキュメントは ASAバージョン 9.6(3)3を元に確認、作成しております。
通信構成例
CLI設定例
例えば、1.0.0.1宛の通信量を10Mbps前後に抑えたい場合、以下の順に設定します。
- ACLで 10.0.0.1宛の通信のマッチルールを定義
- 任意クラスマップに、設定したACLを紐付け
- ポリシーマップで 最大10Mbps (=10,000,000bps)に指定
- 任意Interfaceにポリシーマップを割当て
以下は実際の設定例です。
access-list ACL-1.0.0.1 extended permit ip any host 1.0.0.1
!
class-map CLASS-1.0.0.1
match access-list ACL-1.0.0.1
!
policy-map PMAP-INSIDE
class CLASS-1.0.0.1
police input 10000000
!
service-policy PMAP-INSIDE interface inside
動作確認
QoSの Policingが動作時、show service-policyの 各カウンタの上昇を確認できます。 任意間隔で数回実行し、各カウンタの増減を確認してください。
ASA# show service-policy interface inside
Interface inside:
Service-policy: PMAP-INSIDE
Class-map: CLASS-1.0.0.1
Input police Interface inside:
cir 10000000 bps, bc 312500 bytes
conformed 41427 packets, 43488344 bytes; actions: transmit
exceeded 1215260 packets, 1295495752 bytes; actions: drop
conformed 32 bps, exceed 1120 bps
ASA#
ASA# show service-policy interface inside
Interface inside:
Service-policy: PMAP-INSIDE
Class-map: CLASS-1.0.0.1
Input police Interface inside:
cir 10000000 bps, bc 312500 bytes
conformed 44963 packets, 47171531 bytes; actions: transmit
exceeded 1215314 packets, 1295557168 bytes; actions: drop
conformed 10022272 bps, exceed 167112 bps
ASA#
ASA# show service-policy interface inside
Interface inside:
Service-policy: PMAP-INSIDE
Class-map: CLASS-1.0.0.1
Input police Interface inside:
cir 10000000 bps, bc 312500 bytes
conformed 51831 packets, 54548679 bytes; actions: transmit <--- 許可状況
exceeded 1215418 packets, 1295673196 bytes; actions: drop <--- Drop状況
conformed 10002912 bps, exceed 157320 bps
定義したACLにマッチしているかは、show access-list <ACL名>から hitcntで確認できます。
ASA# show access-list ACL-1.0.0.1
access-list ACL-1.0.0.1; 1 elements; name hash: 0x7701xxxx
access-list ACL-1.0.0.1 line 1 extended permit ip any host 1.0.0.1 (hitcnt=99) 0xf9c5xxxx
以下は実際の試験クライアントの通信状況の確認画面です。 QoS設定後、1.0.0.1宛の通信が 10Mbps前後 (≒1Gbps x 1%)に制限されていることを確認できます。

制限事項
- ASAは ポリシングのみに対応します。 シェーピングには対応しません
- QoSは input もしくは outputで指定し適用します
- ASA宛の通信 (to-the-box traffic)のQoSはサポートされません
- ASAのQoSは簡易機能です。 基本はルータやスイッチなど QoSがより得意な機器で実行し、ASAのQoSは ASAパフォーマンスに十分余力があり かつ 必要時のみの補助的な利用をお勧めします
参考情報
より高度なQoS設定例や制限事項など情報は以下ドキュメントを参考ください。
QoS on the Cisco ASA Configuration Examples
https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/82310-qos-voip-vpn.html
CLI Book 2: Cisco ASA Series Firewall CLI Configuration Guide, 9.6 - Quality of Service
https://www.cisco.com/c/en/us/td/docs/security/asa/asa96/configuration/firewall/asa-96-firewall-config/conns-qos.html
ファイアウォール トラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161736
Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733