津村彰氏のコラム”新機能「プライベートVLAN」でセキュリティを強化してみよう!”

1.  新機能「プライベートVLAN」でセキュリティを強化してみよう!

2018年に発売された、ヤマハ スイッチである「SWX3200シリーズ」「SWX3100シリーズ」「SWX2310シリーズ」には、「プライベートVLAN」という新たなVLAN機能が追加されました。

これを使う事により、シェアオフィス等といった現場で容易に端末間のセキュリティを担保する事が可能になります。

今回は、例としてSWX3100-10GにてプライベートVLANを設計・設定してみましょう。

2.  「プライベートVLAN」とは?

「プライベートVLAN」とは、ヤマハ ルーターでは「ポート分離機能」として実装されていたものと同等の機能を持ちます。また、セカンダリVLANの1つであるアイソレートVLANは、配下の端末間の直接通信をブロックする事が可能です。

ポート分離機能 – RT Pro

http://www.rtpro.yamaha.co.jp/RT/docs/port-split/index.html

図-SWX3100-10G 技術情報より引用

http://www.rtpro.yamaha.co.jp/SW/docs/swx3100/index.html

スイッチ製品では設定方法そのものが異なっており、共通の出口となるインターフェース「プライマリVLAN(primary)」、ポート間の疎通が可能な「コミュニティVLAN(community)」、ポート間の疎通が出来ない「アイソレートVLAN(isolated)」の3つの種類のプライベートVLANが定義可能です。設定上、プライマリVLANは必須で、必要に応じてコミュニティVLANとアイソレートVLANを使い分けます。

プライベートVLANは、現在Web管理画面からの設定は出来ず、CLIからのみの設定となります。また、今後のファームウェアアップデートにより、機能・表示等が変更になる場合があります。予めご了承ください。

3.  今回の設計

今回、以下のようにプライベートVLANを設計してみましょう。

とてもシンプルにする為に、全てのポートをアクセスポートとし、L3機能は使用していません。

  • プライマリVLAN – VLAN:10 Port1.8 アクセスポート
  • アイソレートVLAN – VLAN100 Port1.1-2 アクセスポート
  • コミュニティVLAN – VLAN200 Port1.3-4 アクセスポート

これにより、以下の挙動が期待できます。

  • 1とPort1.2間は直接の疎通は出来ないが、Port1.8とは疎通できる。
  • 3とPort1.4間は直接の疎通が出来、Port1.8とは疎通できる。
  • 1-2とPort1.3-4間は、直接の疎通は出来ない。

4.  実際の設定

実際にプライベートVLANを、先の設計に従って設定してみましょう。

4.1.                VLAN Databaseを作成する

VLAN Databaseを作成します。

通常のVLANの宣言の後、プライベートVLANの定義、及びプライマリVLANの定義を行います。

併せて、プライマリVLANとコミュニティVLAN・アイソレートVLANの関連付けを行います。

SWX3100(config)#vlan database

SWX3100(config-vlan)#vlan 10

SWX3100(config-vlan)#vlan 100

SWX3100(config-vlan)#vlan 200

SWX3100(config-vlan)#private-vlan 10 primary

SWX3100(config-vlan)#private-vlan 100 isolated

SWX3100(config-vlan)#private-vlan 200 community

SWX3100(config-vlan)#private-vlan 10 association add 100,200

 

4.2.                プライマリVLANを設定する

Port1.8をプライマリVLANとして設定をします。

ポイントとして、物理インターフェースをプロミスキャスモードにする設定を投入する必要があります。これは、プライベートVLANを処理する上で必要な設定です。

SWX3100(config)#interface port1.8

SWX3100(config-if)# switchport mode access

SWX3100(config-if)# switchport access vlan 10

SWX3100(config-if)# switchport mode private-vlan promiscuous

SWX3100(config-if)# switchport private-vlan mapping 10 add 100,200

SWX3100(config-if)# no shutdown

 

4.3.                アイソレートVLANを設定する

同様に、Port1.1-2に対し、アイソレートVLANを設定します。

SWX3100シリーズの場合、複数ポートのレンジ指定が可能で、「Port1.1-2」とは、「Port 1.1とPort1.2に同時に同じ設定をする」という意味になります。

SWX3100(config)#interface port1.1-2

SWX3100(config-if)# switchport mode access

SWX3100(config-if)# switchport access vlan 100

SWX3100(config-if)# switchport mode private-vlan host

SWX3100(config-if)# switchport private-vlan host-association 10 add 100

 

4.4.                コミュニティVLANを設定する

コミュニティVLANでも、ポート番号、VLAN IDを除き、アイソレートVLANと設定は変わりません。

SWX3100(config)#interface port1.3-4

SWX3100(config-if)#switchport mode access

SWX3100(config-if)#switchport access vlan 200

SWX3100(config-if)#switchport mode private-vlan host

SWX3100(config-if)#switchport private-vlan host-association 10 add 200

SWX3100(config-if)# no shutdown

 

4.5.                投入後のコンフィグ

上記の設定を投入後、以下のようなコンフィグが生成されている事を確認します。ここでは、上記の例を投入した結果、必要部分のみ抜粋するものとします。

SWX3100#sh run

!

vlan database

vlan 10 name VLAN0010

vlan 100 name VLAN0100

vlan 200 name VLAN0200

private-vlan 10 primary

private-vlan 100 isolated

private-vlan 200 community

private-vlan 10 association add 100,200

!

interface port1.1

switchport

switchport mode access

switchport access vlan 100

switchport mode private-vlan host

switchport private-vlan host-association 10 add 100

no shutdown

!

interface port1.2

switchport

switchport mode access

switchport access vlan 100

switchport mode private-vlan host

switchport private-vlan host-association 10 add 100

no shutdown

!

interface port1.3

switchport

switchport mode access

switchport access vlan 200

switchport mode private-vlan host

switchport private-vlan host-association 10 add 200

no shutdown

!

interface port1.4

switchport

switchport mode access

switchport access vlan 200

switchport mode private-vlan host

switchport private-vlan host-association 10 add 200

no shutdown

!

interface port1.8

switchport

switchport mode access

switchport access vlan 10

switchport mode private-vlan promiscuous

switchport private-vlan mapping 10 add 100,200

no shutdown

!

interface vlan10

no switchport

no shutdown

!

interface vlan100

no switchport

no shutdown

!

interface vlan200

no switchport

no shutdown

!

end

 

5.  設定の確認

プライベートVLANは、以下のコマンドにより設定の状況を確認可能です。

 

5.1.                show vlan brief

どのVLANに、どのポートが割り当てられているかを確認するコマンドです。

SWX3100#show vlan brief

(u)-Untagged, (t)-Tagged

 

VLAN ID  Name                            State   Member ports

======= ================================ ======= =======================

10      VLAN0010                         ACTIVE  port1.8(u)

100     VLAN0100                         ACTIVE  port1.1(u) port1.2(u)

200     VLAN0200                         ACTIVE  port1.3(u) port1.4(u)

 

5.2.                show vlan private-vlan

プライマリVLANとセカンダリVLAN(コミュニティVLAN・アイソレートVLAN)のマッピングを確認するコマンドです。

SWX3100#show vlan private-vlan

PRIMARY        SECONDARY          TYPE          INTERFACES

-------        ---------       ----------      ----------

10             100          isolated       port1.1 port1.2

10             200         community       port1.3 port1.4

 

6.  動作確認の方法

動作を確認するにあたり、デフォルトゲートウェイとなるルーターと、Pingを送受信する為のPCが2台必要になります。

Port1.8に、以下のコンフィグを投入したRTX1210のLAN1を接続しました。

LAN3を経由し、インターネットに接続しているものとします。

ip route 192.168.100.0/24 gateway 192.168.1.240

ip lan1 address 192.168.1.1/24

ip lan3 address dhcp

ip lan3 nat descriptor 1

nat descriptor type 1 masquerade

nat descriptor address outer 1 primary

dhcp service server

dhcp server rfc2131 compliant except remain-silent

dhcp scope 1 192.168.1.2-192.168.1.191/24

併せて、Ping送受信用に、Windows PCを2台用意しました。ここではそれぞれ、送信側を「192.168.1.10」、受信側を「192.168.1.11」とします。以下、コマンドプロンプトより、pingコマンドを使用して、疎通を確認します。必要に応じて、Windowsファイヤーウォールを一時的に無効化してください。

6.1.                アイソレートVLANの動作確認

Port1.1とPort1.2にPCを接続し、それぞれPing試験を行います。

結果として、アイソレートVLAN間でのPing疎通は出来ず、インターネットへの疎通を確認する事ができました。

C:\ >ping 192.168.1.11

要求がタイムアウトしました。

C:\ >ping 8.8.8.8

8.8.8.8 からの応答: バイト数 =32 時間 =6ms TTL=57

6.2.                コミュニティVLANの動作確認

Port1.3とPort1.4にPCを接続し、それぞれPing試験を行います。

結果として、コミュニティVLAN間でのPing疎通を確認する事が出来、インターネットへの疎通を確認する事ができました。

C:\ >ping 192.168.1.11

192.168.1.11 からの応答: バイト数 =32 時間 =1ms TTL=64

C:\ >ping 8.8.8.8

8.8.8.8 からの応答: バイト数 =32 時間 =8ms TTL=57

6.3.                セカンダリVLAN間の疎通確認

最後に、コミュニティVLANとアイソレートVLAN間でのPing試験を行います。

Port1.1とPort1.4にPCを接続し、それぞれPing試験を行います。

結果として、セカンダリVLAN間でのPing疎通は出来ず、インターネットへの疎通を確認する事ができました。

C:\ >ping 192.168.1.11

要求がタイムアウトしました。

C:\ >ping 8.8.8.8

8.8.8.8 からの応答: バイト数 =32 時間 =7ms TTL=57

 

7.  おわりに

今回、SWX3100シリーズのプライベートVLANを設定し、レイヤ2でのセキュリティを強化出来る事を確認しました。

プライベートVLANの良いところは、配下の端末への追加設定を一切必要としない状況で、ポート間での通信を設定変更のみで制御する事が可能という事です。また併せて、より柔軟にポートの割り当てを行う事も可能です。

例えばイベント会場などで、各ホール間の直接通信を阻止したい場合に、アイソレートVLANが有用ではないでしょうか。これにより、各ホール内で柔軟なLAN構築を保ったまま、ホール間の直接通信をブロックする事により、複数のイベントを同時開催した際のネットワークのトラブルを防ぐことが可能です。

また、コミュニティVLANは、企業などで部署事にL2セグメントを分けたい場合に有用でしょう。従来、各々の部署に対しセグメントを払い出し、都度L3ルーティング設定をしていましたが、これにより、例えば/16といった広いL2セグメントの中で、柔軟なセグメント設計が可能です。一部クラウドストレージ等において、ブロードキャストパケットを使用し周囲の端末と情報を交換するアプリケーションがありますので、それらを使用する場合には同一のコミュニティVLANとなるよう設定した方が良いでしょう。