ACL Operation の動作について
こちらのドキュメントは英語版を2022年4月26日付けで翻訳したものです。
記載内容に矛盾が生じた場合、英語版の内容が優先されます。
アクセス制御リスト (ACL) は Cisco Meraki MS シリーズスイッチに設定することができ、スイッチを通して許可されるトラフィックを制限する機能。この記事では、一連の例に基づいて ACL の実際の動作について説明しています。Meraki ACL の設定方法についてはこちらを参照してください。
IPv6 の指定は ファームウェアバージョン MS10.0 以降でサポートしています。
MS22/42/220/320 では IPv6 アクセスリストはサポートしていません。
ステートレス
Meraki スイッチの ACL はステートレスで動作します。つまり各パケットが個別に評価されるため、行きのトラフィックが許可されていても戻りのトラフィックが拒否される場合があります。ACL ルールを作成するとき、このことを念頭に置き、両方向にトラフィックを許可するルールを作成することが重要です。
処理の順番
トラフィックはリストの上から順に評価され、最初にマッチしたルールだけが使用されます。特定の許可ルールまたは拒否ルールにマッチしないトラフィックは、リストの最後にあるデフォルトの許可ルールによって許可されます。
また、ルーティングされていないトラフィックも含めスイッチを通過するあらゆるトラフィックが評価されます。
例
明示的な許可と明示的な拒否の組み合わせ
以下の例では、10.1.10.0/24 サブネットから 192.168.20.0/24 サブネットへのトラフィックがルール 1 で許可されています。それ以外のIPv4またはIPv6トラフィックは、ルール2によって拒否されます。ルール2はルール1 に該当するトラフィック以外を明示的に拒否するため、許可したいトラフィックはこのルールより上に明示的に許可する必要があります。
したがって、例えば 10.1.10.50 が 192.168.20.20 と通信しようとすると、ルール 1 によりトラフィックは許可されます。しかし、192.168.20.20からの応答はルール2によってブロックされます。これは、ACLのステートレス動作により、各トラフィックが独立して評価され戻りの通信はルール 1 に該当しないためです。
また、この例では 10.1.10.0/24ネットワーク内のクライアント間と192.168.20.0/24ネットワーク内のクライアント間のすべての通信がブロックされます。したがって、192.168.20.20は192.168.20.25と通信することもできません。
各ルールで以下の表記はサポートされていません。
- ポートの範囲指定(例 20000-30000)
- ポートの複数指定(例 80,443,3389)
- サブネットの複数指定 (例 192.168.1.0/24,10.1.0.0/23)
送信元 VLAN 制御
以下の例では、VLAN10からのトラフィックは、どの宛先に対しても拒否されます。これにより、VLAN10内のクライアントデバイスは実質的に隔離され、互いまたは他のネットワークと通信することができなくなります。その他のトラフィックは、リストの末尾にあるデフォルトの allow で許可されます。
注1: MS390 では VLAN の指定はサポートされていません。VLAN の項目に値が入っているルールは MS390 では無視されます。
注2 : VLAN のフィールドは送信元のVLAN ID を参照しておりトラフィック受信時に評価されます。
したがって、10.1.10.50 は 192.168.20.20 に到達できません。しかし、192.168.20.20は10.1.10.50にトラフィックを送信できます。
また、同一VLAN内のクライアント間のトラフィックも遮断されます。
明示的な Deny
以下の例では、VLAN 10 (10.1.10.0/24) は、ルール 1 によって VLAN 30 (172.16.30.0/24) 内のどのサーバーに対しても SSH アクセスを許可されません。VLAN 30 は、ルール 2 により、LAN 10 内のすべてのサーバーへの MySQL アクセスを許可されません。また、ルール3とルール4により、VLAN4のIPv6 IPである2001:0db8::7334/128と2001:0db8::7335/128の間で送られる通信を一切禁止します。それ以外のトラフィックはデフォルトの許可ルールで許可されます。