Meraki MRだけでMACフィルタリングを行う

Cisco WLCではController上にMACアドレスを登録し、登録された端末のみ通信を許可するMACフィルタリンク機能があります。
Meraki MRではというと残念ながら全く同じ機能はありません。
しかし、少し強引な方法ではありますが"同等"の機能を実現することがMeraki Documentに書かれていましたのでまとめておきたいと思います。

どのように実現するのか?

Merakiにはクラウド上で
RADIUS認証を実現するMeraki認証
・MRのSSIDにアソシエートした際にWeb認証を行うSplash機能
があります。
MerakiMACフィルタリングはこの2つの機能を組み合わせて実現します。

動作の流れとしては、
1. SSIDにSplashページを設定。Splashの認証をMeraki認証にする。
2.ユーザはSSIDにアソシエートするもののMeraki認証のユーザID・PWを知らないのでアクセスできない。

3.Meraki管理者はMACアドレスを手動登録しSplashページをスルーさせる。
と言った感じです。

1. SSIDの設定を行う

ワイヤレス > 設定 > アクセス制御」を選択し、該当のSSIDを選択します。
セキュリティ」からSSIDのセキュリティ設定を行います。
今回はPSKの設定を行いました。

次にSplashページの設定を行います。
サインオン方法」としてMerakiクラウド認証を選択します。
これにより、通常はこのSSIDにアソシエートしようとした端末に対してはMerakiクラウド認証を要求するSplashページが表示されることになります。

高度なSplash設定から「Captiveポータルの強度」、「サインオンが完了するまで、すべてのアクセスをブロック」を選択します。

2. 端末を接続してみる

端末を試しに接続してみます。
端末にSSIDの設定を行うとSplashページが表示されることが確認できます。

このSplashページによりユーザはMerakiアカウント・PWを知らない(厳密にはMerakiアカウントを持っていない)のでSSIDへの接続が完了しないということになります。

3.MACアドレスを登録する

次にSplashページを表示させないようにするMACアドレスの登録を行なっていきます。
ネットワーク全体 > 監視 > クライアント」を選択します。
クライアントの追加」をクリックします。
MACアドレスを入力します。
1行毎に1MACアドレスで複数のMACアドレスを同時に設定することも可能です。
許可リスト」を選択し「クライアントの追加」をクリックして終了です。

これによりMACアドレス登録された端末はSplashページ表示無くSSIDへのアソシエーションが行えると言うことになります。

3-2.(Option)Group Policyを設定する

上記の設定でも問題はないのですが、「許可リスト」はすべてのSSIDに適用されてしまい、場合によってはそれが問題になるかもしれません。
Group Policyを設定することによりより細かく制御を行うことが可能になります。
ネットワーク全体 > 設定 > グループポリシー」を選択し、グループポリシーを作成します。
MACフィルタリングにACLを設定したい場合はLayer3ファイアーウォール設定を行います。
カスタムのネットワークファイヤーウォールとシェーピングの各ルールを作成」を選択してからFWルールの設定を行います。

ワイヤレスのみ」からスプラッシュを「バイパス」する設定を行います。

MACアドレスに上記のGroup Policyの紐付けを行います。
先の設定では「許可リスト」で設定しましたが、「接続やSSIDによって異なるポリシー」を選択します。該当のSSIDに対して作成したGroup Policyを設定します。

まとめ

大規模ではない環境においてはこの設定によるMACフィルタリングの運用は可能であることがわかったかと思います。
多くのMACアドレスを登録しての運用は出来なくはないですが、そのような場合には802.1xのMAB(MAC Authentication Bypass)を使ったほうが良いと思います。
また、MACアドレス登録を行い許可となった端末はキャッシュされるのかポリシーを「ノーマル」に設定したとしても引き続き接続が許可されてしまいます。
そのような場合は「ブロックリスト」に設定する必要があるようです。

documentation.meraki.com