NETGEAR M4300 ( GSM4328S ) で IP ACL ( Extended Rule ) を指定してVLAN間の通信をさせない設定をするには

投稿者: | 2019年4月18日

NETGEAR M4300-26G とかいって、GSM4328S なんて書いてあるのもあるし、日本語ドキュメント不足してるし、わかりにくいし

と書くと、なんか、ラノベのタイトルみたいですね。(長すぎ)

やりたいことは下の図です。

スイッチの中に仮想のスイッチがあって、VLANはそこにつながっていて通信できるイメージです。
VLAN101からVLAN301は部屋で、VLAN1000がインターネットへつながるもの。VLAN999がメンテナンス用ととらえてください。

部屋同士は勝手にやり取りされたら困るけれど、全部がインターネットは見に行ける設定にしたいし、メンテのときにはどこの部屋にも通信してリモートで作業をしたいというケースです。

このあたりの話の続きです。
NETGEAR M4300-26G で VLAN を切ってみた

ACL で設定します

ネットワークに詳しい人が「ACLで設定すればいい」とヒントをくれました。
教えてもらったのと違うところがあって、うまくいってなかったので、そこを自力解決しました。
でも、NETGEARの場合、Private VLANをつかってやればよいみたいですが、そちらは調べていません。 Extended ACL でやります。

『IPアドレス』で指定し、『Source』から『Destination』への通信を『Dney』する、という設定。
ここで難しかったのが Source の マスクについて。172.16.11.0/24 からの通信なら、172.11.0 を Source に指定しますが、マスクは 0.0.0.255 になります。
これは Destination も同様。172.16.12.0/24 への通信をさせたくないなら、 172.16.12.0 を指定し、マスクを 0.0.0.255 とします。

NETGEARの設定画面が Source IP Mask と書いてあるから、Subnet Mask の書き方でいいんじゃないかとか誤解しやすいです。
また、ACL ID/Name で vlan名とかを指定しても、それと紐付いているわけではないので、それぞれ Source と Destination の指定は必要です。この部分はFortigateなどファイアウォールの設定をする時のイメージと同様でした。Securityの項目じゃなくてRoutingのところにあれば、もっとイメージしやすいのかもしれません。VLAN同士ではなくて、IP同士で設定します。

Extended ACL Rule 設定

Security > ACL で ACL のメニューを開き、 Advanced > IP ACL でまずはIDを作ります。
以下の表は作成済みのもの。追加(新規)のときは、IP ACL ID に名前を入れて右上にある(画面には写っていません) ADD ボタンを押して作ります。

ネット上にある古い画面の説明では、通常のACLは1~99、Extended は 10~199 の数字という記述があったのですが、ここでは vlan101 と VLAN ID を指定しています。
わかりやすいように…ということで先生が指定してくれたのですが、これがちょっとハマった原因その1。ここに入れてもvlanと紐づくのではないから、sourceやでdestinationはちゃんと指定しなければなりません。

作りたい ID が決まったら、 左ペインのメニューから IP Extended Rules を選びます。
これもすでに作成済みの画面です。
ルールは小さい番号から試され、それぞれのチューリップに入らなかったら一番下の口に吸い込まれるパチンコのように(パチンコはまったくやらないから最近のことはしりませんが)設定します。

MatchEvery(全部)ではなく(false)、IPアドレス指定で、SourceからDestinationへ、Deny する、というもの。

設定をする場合は、右上の ADD ボタンを押します。
設定画面が出ます。

以下の入力が参考になると思います。
そして、このなにも書いていないマスにMaskを通常と逆の書き方で入れろなんて、普通じゃわかりませんよね? ここも先生のハマりポイントだったようで、これはNETGEARが公開してるmynaviの「いまさら聞けないスイッチの基礎」を見たら書いてありました。
書いてあったけれど、『発展編 – ACL』では例も併せて「ワイルドカードマスク」とあるけれど、『ACLを利用したネットワークセキュリティ ACLの設定』のほうだと、「一般的なサブネットマスクの記述方法とは逆である」とあるだけで例はないわ、画面キャプチャでもマスクのところは値が入っていないわで、ちょっと文句を言いたいところ。
(そんなのわからない素人が買うものじゃないんだよ、と言われれば、そうなんですが。)

これがあったので、自分のブログに書いておこうと思いました。
あとから設定する人が見て、気づいてくれれば役に立つと思うから。

設定し終わったら Apply を押します。

今回は60で指定した「チューリップに入らなかった場合」の、該当しなければ全許可の設定は以下です。

ActionがPermitで、Match EveryがTrueになります。
つまり、「最後はお願いします、はらたいらさんに全部」です。

これでACLの設定ができました。
テストして問題がなければ、セーブしてください。

参考:
L3 ( NETGEAR M4300 ) のデフォルトルートと上位ルータ設定
NETGEAR M4300-28G の DHCP 設定をしてみた(除外とかも