らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

Cisco ACI で BD Subnet と異なるアドレスを学習させる設定

Cisco ACI では EPG が EndPoint を学習します。 デフォルトの状態では対象の EndPoint が「BD Subnet と同じネットワークに所属しているか? 異なるネットワークに所属しているか?」に応じて「IP アドレスを学習するか? 否か?」の挙動が異なります。

項目 IP アドレスを学習するか?
BD Subnet と同じネットワークに所属する EndPoint 学習する
BD Subnet と異なるネットワークに所属する EndPoint 学習しない

稀に何かの理由で「BD Subnet と異なるネットワークに所属する EndPoint の IP アドレスも学習させたい」ケースがあるかも知れません。 「BD Subnet と異なる IP アドレスを学習させるか? 学習させないか?」は以下、2 つの設定によって制御されます。

  1. SystemSystem SettingsFabric-Wide SettingsEnforce Subnet Check
  2. TenantNetworkingBridge DomainsLimit Local IP Learning To BD/EPG Subnet(s)

これらを適切に設定することにより、「BD Subnet と異なるネットワークの EndPoint に関しても IP アドレスを学習させる」ことが出来ます。

設定名の変更

上述の 2. 設定ですが、ACI のバージョンによって設定名が変更されています。

バージョン 設定名
4.x 系まで Limit IP Learning To Subnet
5.x 系以降 Limit Local IP Learning To BD/EPG Subnet(s)

5.0(1) のリリースノート によると CSCvf70362 で設定名が変更されたそうです。 これは表示上の変更だけであり、挙動の変更はありません。

This enhancement is to change the name of "Limit IP Learning To Subnet" under the bridge domains to be more self-explanatory.

Original :

Limit IP Learning To Subnet: [check box]

Suggestion :

Limit Local IP Learning To BD/EPG Subnet(s): [check box]

Enforce Subnet Check 設定

SystemSystem SettingsFabric-Wide SettingsEnforce Subnet Check から設定出来ます。 デフォルトでは Disable です。 後述しますが、この設定は次項で説明する Limit Local IP Learning To BD/EPG Subnet(s) 設定よりも優先されます。

f:id:sig9:20200926150305p:plain

ACI 上のヘルプでは以下のように説明されています。

Enforce Subnet Check

When checked, IP address learning on outside of subnets configured in a VRF, for all VRFs are disabled.

Limit Local IP Learning To BD/EPG Subnet(s) 設定

TenantNetworkingBridge DomainsLimit Local IP Learning To BD/EPG Subnet(s) から設定出来ます。 デフォルトでは Enable です。

f:id:sig9:20200926150312p:plain

ACI 上のヘルプでは以下のように説明されています。 余談ですが 5.0(2h) でもヘルプ上の表示名は 4.x 系までの設定名と同じになっていました…

Limit IP Learning to Subnet

Limits IP address learning to the bridge domain subnets only. Every bridge domain can have multiple subnets associated with it. By default, all IP addresses are learned.

実際の動作

Enforce Subnet Check を有効にすると BD で Limit Local IP Learning To BD/EPG Subnet(s) がどのような設定であっても「BD Subnet 外アドレスは学習しない」という動作になります。 BD 外 Subnet を学習させるには Enforce Subnet CheckLimit Local IP Learning To BD/EPG Subnet(s) の両方を Disable にする必要があります。

Case.1 Case.2 Case.3 Case.4
Enforce Subnet Check Enable Enable Disable Disable
Limit IP Learning to Subnet Disable Enable Enable Disable
BD Subnet 内のアドレスを学習するか? 学習する 学習する 学習する 学習する
BD Subnet 外のアドレスを学習するか? 学習しない 学習しない 学習しない 学習する