レイヤー2/3スイッチでVLANの設定を行うと、同じVLANのポート間のみでデータの転送を行うようになる。ただ、場合によっては、同じVLANのポート間であっても無条件にデータの転送を行いたくないこともある。プライベートVLANによって、同じVLANのポート間のデータ転送を制御することが可能だ。今回は、プライベートVLANの仕組みとネットギアスイッチでの設定について解説する。

プライベートVLANの概要

VLANによってネットワークを分割すると、VLAN間の通信はレイヤー3スイッチやルーターを経由して行われる。そのため、レイヤー3スイッチやルーターでアクセス制御が可能だ。ただ、アクセス制御のためにVLANでネットワークを分割すると、VLANの数が相当増えてしまうかもしれない。また、VLANが増えれば増えるほど、ネットワークアドレスもたくさん必要になってしまう。VLANで分けてのアクセス制御ではなく、同じVLAN内でのアクセス制御をしたいというニーズもあるだろう。同じVLAN内でのアクセス制御を実現するひとつの手段が『プライベートVLAN』だ。プライベートVLANの利用例としては、サーバファーム内のサーバのアクセス制御などがある。

複数のサーバを効率よく運用管理するためには、サーバをサーバファームに集約して設置したほうがよい。そして、サーバは同一VLANに接続して同じネットワークのIPアドレスを設定していることが多いだろう。同一VLANなので、ルーターやレイヤー3スイッチを介さずにサーバ間の通信ができてしまう。しかし、必ずしもサーバ間の通信が必要なわけではない。ファイルサーバとメールサーバのように他のサーバとの連携が必要なく、独立して動作するサーバもある。独立して動作するサーバ間では特に通信させる必要はない。本来通信させる必要がないサーバ間は、通信できないように制御しておいた方がセキュリティ上望ましい。

次の図は、サーバファームでのアクセス制御の例を示している。すべてのサーバは同じVLAN100に所属し、192.168.100.0/24のネットワークアドレスのIPアドレスを設定している。SRV1とSRV2は連携して動作する必要があるので、SRV1-SRV2の通信ができるようにする。しかし、SRV3とSRV4は他のサーバと独立して動作するサーバで、他のサーバとの通信は不要で、上位のスイッチが接続されているポートとの通信ができればよい。プライベートVLANを利用すれば、このようなアクセス制御を実現できる。

図1 サーバファームでのアクセス制御の例

プライベートVLANの仕組み

プライベートVLANでは、もともとのネットワークアドレスと対応付けているVLANをプライマリVLANとして、プライマリVLANをさらにセカンダリVLANに分割する。セカンダリVLANとして次の2つある。

・コミュニティVLAN(Community VLAN)
・隔離VLAN(Isolated VLAN)

コミュニティVLANは通信できるポートをグループ化する。そして、隔離VLANはその名前の通りポートを隔離してポート間の通信ができなくなるようにする。なお、コミュニティVLANも隔離VLANもプライマリVLANとの通信は可能だ。

そして、プライベートVLANではプライマリVLANとセカンダリVLANのポートとして、次の3つがある。

・プロミスキャスポート(Promiscuous Port)
・コミュニティポート(Community Port)
・隔離ポート(Isolated Port)

プロミスキャスポートはプライマリVLANのポートだ。コミュニティポート、隔離ポートとの間で通信できる。上位のスイッチが接続されるポートをプロミスキャスポートとして設定することになる。

そして、コミュニティVLANのポートがコミュニティポートとなる。コミュニティポート間、プロミスキャスポートとの通信ができるポートだ。たとえば、連携して動作する必要があるサーバが接続されるようなポートをコミュニティポートとして設定する。

隔離VLANのポートが隔離ポートだ。隔離ポートが通信できるのはプロミスキャスポートとの間のみだ。他の隔離ポートやコミュニティポートとの通信はできない。他のサーバと連携する必要がないようなサーバを接続するポートを隔離ポートとする。次の図にプライベートVLANによるアクセス制御の様子をまとめている。

図2 プライベートVLANによるアクセス制御

ポート1~ポート5はすべて同一VLANのポートだが、プライベートVLANによって通信できるポートが以下の表のように限定できる。

表 1 プライベートVLANによって通信できるポート

ポート ポートの種類 通信できるポート
ポート1 コミュニティポート ポート2、ポート5
ポート2 コミュニティポート ポート1、ポート5
ポート3 隔離ポート ポート5
ポート4 隔離ポート ポート5
ポート5 プロミスキャスポート ポート1~ポート4

ネットギアスイッチでのプライベートVLANの設定

ネットギアスイッチでプライベートVLANの設定を行っていこう。設定の手順としては、次のようになる。

1.VLANの作成
2.VLANをポートに割り当てる
3.セカンダリVLAN(プライベートグループ)の作成
4.プライベートグループにポートを割り当てる

※なお、煩雑なPrivate VLANを使わなくてもPrivate Groupで簡単に行えるため、今回はこちらで設定していく。

一連の連載で考えているネットワーク構成において、サーバ間の通信ができないようにプライベートVLANの設定を行っていこう。通信ができないようにするので、L3SWのポート1、ポート2を隔離ポートとして設定する。

図3 L3SWでのプライベートVLAN設定の概要

手順の1.と2.は通常のポートベースVLANの設定だ。

※ポートベースVLANの設定については、2回目の記事を参照していただきたい

次は、手順3.のセカンダリVLANの作成だ。セカンダリVLANはネットギアスイッチではプライベートグループと呼んでいる。プライベートグループを作成するには、[Security]→[Traffic Control]→[Private Group]→[Private Group Configuration]から行う。今回の設定では、グループ名は「isolated」、グループIDは「101」を使っている。そして、隔離ポートとするのでモードを「isolated」に指定する。

図4 L3SW プライベートグループの作成

手順4.として、手順3.で作成したプライベートグループにポートの割り当てを行う。Security]→[Traffic Control]→[Private Group]→[Private Group Membership]でプライベートグループ[isolated]を選択して、ポート1とポート2にチェックをつければ設定は完了だ。

図5 L3SW プライベートグループへのポートの割り当て

CLIでの設定

ここまでのGUIでの設定をCLIで行う場合は、以下のようにコマンドを入力する。

L3SW プライベートVLANの設定


(M5300-28G3) #configure
(M5300-28G3) (Config)# private-group name isolated 101 mode isolated
(M5300-28G3) (Config)#interface 1/0/1
(M5300-28G3) (Interface 1/0/1)#switchport private-group 101
(M5300-28G3) (Interface 1/0/1)#exit
(M5300-28G3) (Config)#interface 1/0/2
(M5300-28G3) (Interface 1/0/2)#switchport private-group 101
(M5300-28G3) (Interface 1/0/2)#exit

プライベートVLANの動作確認

サーバ1からPingを実行してプライベートVLANの動作を確認しよう。SRV1からデフォルトゲートウェイである192.168.100.1に対してPingを実行すると、正常に応答が返ってくる。しかし、SRV2の192.168.100.102に対してPingを実行すると応答が返ってこないことが確認できる。プライベートVLANの設定によって、同じVLANのSRV1-SRV2間の通信ができないようになっている。

SRV1からのPing実行結果


C:\Users\Gene>ping 192.168.100.1

192.168.100.1 に ping を送信しています 32 バイトのデータ:
192.168.100.1 からの応答: バイト数 =32 時間 =2ms TTL=64
192.168.100.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.100.1 からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.100.1 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.100.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 2ms、平均 = 0ms

C:\Users\Gene>ping 192.168.100.102

192.168.100.102 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。

192.168.100.102 の ping 統計:
    パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、

まとめ

・プライベートVLANによって同一VLAN内でのアクセス制御が可能
・プロミスキャスポートはコミュニティポート、隔離ポートとの間の通信が可能
・コミュニティポート同士の通信ができる
・隔離ポートはプロミスキャスポートのみと通信ができる

本稿で使用している製品

ギガビット50ポート L2+ フルマネージスイッチ「M4100-50G」。製品ページはこちら

ギガビット24ポート L3 スタッカブル・フルマネージスイッチ(10G)「M5300-28GF3」。製品ページはこちら

実際の運用では、ポート数を拡張するため、各VLANの配下にファンレス設計で高い静音性を実現するギガビット対応のアンマネージスイッチ(16ポートの「JGS516」や24ポート「JGS524」)を追加して運用するといいいだろう。

ギガビット16ポート アンマネージスイッチ「JGS516」。製品ページはこちら

ギガビット24ポート アンマネージスイッチ「JGS524」。製品ページはこちら