目次
概要
プライベートVLAN(PVLAN)によって、同一ネットワーク(VLAN)内でレイヤ2レベルのアクセス制御が可能です。プライベートVLANの仕組みとCisco Catalystスイッチでの設定・確認コマンドについて解説します。
関連記事
プライベートVLANとは
プライベートVLANとは、レイヤ2レベルでトラフィックを分離するための技術です。同じネットワークアドレスのホスト間の通信をプライベートVLANで制御できます。
集合住宅でインターネット接続を提供するサービスでは、セキュリティやプライバシー保護のためユーザ同士は直接アクセスできないようにする必要があります。そのために、単純にVLANを分けると、VLANとIPネットワークは通常1対1に対応付けます。すると、多数のIPネットワークが必要です。その結果、IPアドレスの無駄が生じ、管理上の負荷も高くなります。このような状況において、プライベートVLANの機能を利用すれば、VLANを分けなくてもレイヤ2レベルでトラフィックを分離することができます。
サーバファームを一つのネットワークで構成しているときにもプライベートVLANでレイヤ2レベルのトラフィックの分離が有効です。あるサーバが不正侵入されてしまうと、そのサーバを踏み台にしてさらに別のサーバへ不正侵入されてしまう可能性があります。プライベートVLANを利用して、必要なサーバ間のみの通信ができるようにしておけば、万が一、あるサーバが不正侵入されてしまっても不正侵入の被害の拡大を防止することができます。
プライベートVLANの仕組み
プライベートVLANでは、次の3つの種類のVLANを作成します。
- プライマリVLAN
- セカンダリVLAN
- コミュニティVLAN
- 隔離(isolated)VLAN
プライマリVLANをレイヤ3のIPネットワークに対応づけます。隔離VLANはレイヤ2レベルで完全にトラフィックを分離します。一方、コミュニティVLANは特定のグループ内の通信ができるようにします。そして、隔離VLANとコミュニティVLANのセカンダリVLANは、プライマリVLANと対応付けられます。
そして、プライベートVLANでのスイッチのポートは次の3つあります。
- 混合(Promiscuous)ポート
- コミュニティ(Community)ポート
- 隔離(Isolated)ポート
混合ポートは、プライマリVLANとセカンダリVLANの両方のイーサネットフレームを転送するためのポートです。コミュニティポートはコミュニティVLANのポートで、コミュニティポート間およびコミュニティポートと混合ポート間の通信が可能です。隔離ポートは隔離VLANのポートで、隔離ポートと混合ポート間の通信が可能です。隔離ポート同士の通信はできません。隔離ポートとコミュニティポート間の通信もできません。
プライベートVLANの設定と確認コマンド
プライベートVLANの設定は次の手順で行います。
- Step1 プライマリVLAN/セカンダリVLANの定義
- プライマリVLANおよびセカンダリVLAN(コミュニティ/隔離VLAN)を定義します。
- Step2 プライベートVLANのポートの設定
- 混合ポート/隔離ポート/コミュニティポートの設定を行います。
なお、プライベートVLANはVTPで同期しません。VTPのモードをトランスペアレントモードにする必要があります。VTPモードをトランスペアレントモードにするには、グローバルコンフィグレーションモードで次のコマンドを入力してください。
VTPモード トランスペアレント
(config)#vtp mode transparent
プライマリVLAN/セカンダリVLANの定義
プライマリVLAN、セカンダリVLANを定義するにはグローバルコンフィグレーションモードで次のように設定します。
プライベートVLANの定義
(config)#vlan <vlan-num>
(config-vlan)#private-vlan {primary|isolated|community}
<vlan-num> : VLAN番号
プライマリVLANでは、さらにセカンダリVLANとのマッピングを行います。
プライマリVLAN セカンダリVLANとマッピング
(config)#vlan <vlan-num>
(config-vlan)#private-vlan primary
(config-vlan)#private-vlan association <secondary_vlan_list>
<vlan-num> : VLAN番号
<secondary_vlan_list> : セカンダリVLANのリスト
プライベートVLANのポートの設定
プライベートVLANのポートは前述のように3種類あります。それぞれの設定について解説します。
混合ポート
(config-if)#switchport mode private-vlan promiscuous
(config-if)#switchport private-vlan mapping <primary_vlan_num> <secondary_vlan_list>
<primary_vlan_num> : プライマリVLAN番号
<secondary_vlan_list> : セカンダリVLANのリスト
switchport mode private-vlan promiscuousコマンドでポートを混合ポートとします。そして、switchport private-vlan mappingコマンドによって、混合ポート上で通信を行うプライマリVLANとセカンダリVLANのマッピングを行います。
隔離ポート/コミュニティポート
(config-if)# switchport mode private-vlan host
(config-if)#switchport private-vlan host-association <primary_vlan_num> <secondary_vlan_num>
<primary_vlan_num> : プライマリVLAN番号
<secondary_vlan_num> : セカンダリVLANのリスト
switchport mode private-vlan hostコマンドでポートを隔離ポートもしくはコミュニティポートとして設定します。隔離ポートかコミュニティポートのどちらのポートになるかは、switchport private-vlan host-associationコマンドで決まります。セカンダリVLANとしてコミュニティVLANを指定すればコミュニティポートになります。セカンダリVLANとして隔離VLANを指定すれば隔離ポートです。
プライベートVLANの確認コマンド
プライベートVLANの設定の確認には、主に次のshowコマンドを使います。
コマンド | 概要 |
---|---|
#show vlan private-vlan | プライマリ/セカンダリVLANとポートを表示します。 |
#show vlan private-vlan type | プライマリVLANとセカンダリVLANを表示します。 |
#show interface switchport | インタフェースのプライベートVLANの割り当ての詳細を表示します。 |
show vlan private-vlan [type]
show vlan private-vlanコマンドで、プライマリ/セカンダリVLANとそのポートの割り当てを一覧で表示します。
show vlan private-vlan
SW1-IOU#show vlan private-vlan Primary Secondary Type Ports ------- --------- ----------------- ------------------------------------------ 100 10 isolated Et0/0, Et0/1, Et3/0 100 20 community Et0/2, Et0/3, Et3/0
typeをつけるとプライマリVLANとセカンダリVLANを表示します。
show vlan private-vlan type
SW1-IOU#show vlan private-vlan type Vlan Type ---- ----------------- 10 isolated 20 community 100 primary
show interface switchport
show interface switchportコマンドは、スイッチポートすなわちレイヤ2のポートの詳細情報を表示します。プライベートVLANを割り当てていると、その詳細がわかります。
show interface switchport (混合ポート)
SW1-IOU#show interfaces Ethernet3/0 switchport Name: Et3/0 Switchport: Enabled Administrative Mode: private-vlan promiscuous Operational Mode: private-vlan promiscuous Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: 100 (VLAN0100) 10 (VLAN0010) 20 (VLAN0020) Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk associations: none Administrative private-vlan trunk mappings: none Operational private-vlan: 100 (VLAN0100) 10 (VLAN0010) 20 (VLAN0020) -- omitted --
show interface switchport (隔離ポート)
SW1-IOU#show interfaces Ethernet0/0 switchport Name: Et0/0 Switchport: Enabled Administrative Mode: private-vlan host Operational Mode: private-vlan host Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: 100 (VLAN0100) 10 (VLAN0010) Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk associations: none Administrative private-vlan trunk mappings: none Operational private-vlan: 100 (VLAN0100) 10 (VLAN0010) -- omitted --
show interface switchport (コミュニティポート)
SW1-IOU#show interfaces Ethernet0/2 switchport Name: Et0/2 Switchport: Enabled Administrative Mode: private-vlan host Operational Mode: private-vlan host Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: 100 (VLAN0100) 20 (VLAN0020) Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk associations: none Administrative private-vlan trunk mappings: none Operational private-vlan: 100 (VLAN0100) 20 (VLAN0020) -- omitted --
まとめ
ポイント
- プライベートVLANによって、同一ネットワーク(プライマリVLAN)内でレイヤ2レベルのトラフィック制御ができます。
- プライベートVLANの3つの種類のVLANは以下の通りです。
- プライマリVLAN
- 隔離VLAN
- コミュニティVLAN
- プライベートVLANのポートには以下の3つあります。
- 混合ポート
- 隔離ポート
- コミュニティポート
VLAN(Virtual LAN)の仕組み
- ネットワークを分割する必要性
- ネットワークを分割することの詳細
- VLANの概要
- VLANの仕組み
- アクセスポート ~1つのVLANのみに割り当てるポート~
- トランクポート(タグVLAN) ~複数のVLANに割り当てるポート~
- トランクプロトコルのまとめ ~IEEE802.1QとISL~
- ネイティブVLAN
- ネイティブVLAN不一致の具体例
- ホストでのトランクポートの利用 ~PC/サーバのポートを分割~
- VLANの仕組みをより深く理解する
- VLANの仕組みをより深く理解するための演習
- Cisco DTP ~対向ポートに合わせてトランクポート/アクセスポートに~
- 複数スイッチをまたがるVLANの注意点
- Cisco VLANの設定と確認コマンドを詳しく解説!これでCiscoのVLANの設定はマスター
- Cisco VLANの詳細な設定例
- VLANを削除するときの注意点
- Voice VLAN ~IP PhoneをつなげるためのVLAN~
- VTP ~VLANの設定情報を同期~
- VTPプルーニング ~トランクリンクへの不要なフラッディングを止める~
- VTPの設定と確認
- VLAN間ルーティングの概要
- ルータによるVLAN間ルーティング
- レイヤ3スイッチによるVLAN間ルーティング
- Cisco ルータによるVLAN間ルーティングの設定と確認
- Cisco レイヤ3スイッチによるVLAN間ルーティングの設定(SVI/ルーテッドポート)
- Cisco レイヤ3スイッチ 基本的な設定例
- 演習:レイヤ3スイッチの基本[Cisco]
- 「VLANにIPアドレスを設定する」は間違い
- レイヤ3スイッチのポートの考え方のまとめ ~アクセスポート/トランクポート/SVI/ルーテッドポート~
- プライベートVLAN
- プライベートVLANの設定例
- LANの構成パターン ~2ティア/3ティア~