cloudstack/docs/en-US/pvlan.xml
2013-06-11 16:27:33 +05:30

249 lines
11 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="pvlan">
<title>Isolation in Advanced Zone Using Private VLAN</title>
<para>Isolation of guest traffic in shared networks can be achieved by using Private VLANs
(PVLAN). PVLANs provide Layer 2 isolation between ports within the same VLAN. In a PVLAN-enabled
shared network, a user VM cannot reach other user VM though they can reach the DHCP server and
gateway, this would in turn allow users to control traffic within a network and help them deploy
multiple applications without communication between application as well as prevent communication
with other users VMs.</para>
<itemizedlist>
<listitem>
<para>Isolate VMs in a shared networks by using Private VLANs.</para>
</listitem>
<listitem>
<para>Supported in both VPC and non-VPC deployments.</para>
</listitem>
<listitem>
<para>Supported on all hypervisors.</para>
</listitem>
<listitem>
<para>Allow end users to deploy VMs in an isolated networks, or a VPC, or a Private
VLAN-enabled shared network.</para>
</listitem>
</itemizedlist>
<section id="about-pvlan">
<title>About Private VLAN</title>
<para>In an Ethernet switch, a VLAN is a broadcast domain where hosts can establish direct
communication with each another at Layer 2. Private VLAN is designed as an extension of VLAN
standard to add further segmentation of the logical broadcast domain. A regular VLAN is a
single broadcast domain, whereas a private VLAN partitions a larger VLAN broadcast domain into
smaller sub-domains. A sub-domain is represented by a pair of VLANs: a Primary VLAN and a
Secondary VLAN. The original VLAN that is being divided into smaller groups is called Primary,
which implies that all VLAN pairs in a private VLAN share the same Primary VLAN. All the
secondary VLANs exist only inside the Primary. Each Secondary VLAN has a specific VLAN ID
associated to it, which differentiates one sub-domain from another. </para>
<para>Three types of ports exist in a private VLAN domain, which essentially determine the
behaviour of the participating hosts. Each ports will have its own unique set of rules, which
regulate a connected host's ability to communicate with other connected host within the same
private VLAN domain. Configure each host that is part of a PVLAN pair can be by using one of
these three port designation:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">Promiscuous</emphasis>: A promiscuous port can communicate with
all the interfaces, including the community and isolated host ports that belong to the
secondary VLANs. In Promiscuous mode, hosts are connected to promiscuous ports and are
able to communicate directly with resources on both primary and secondary VLAN. Routers,
DHCP servers, and other trusted devices are typically attached to promiscuous
ports.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Isolated VLANs</emphasis>: The ports within an isolated VLAN
cannot communicate with each other at the layer-2 level. The hosts that are connected to
Isolated ports can directly communicate only with the Promiscuous resources. If your
customer device needs to have access only to a gateway router, attach it to an isolated
port.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Community VLANs</emphasis>: The ports within a community VLAN
can communicate with each other and with the promiscuous ports, but they cannot
communicate with the ports in other communities at the layer-2 level. In a Community mode,
direct communication is permitted only with the hosts in the same community and those that
are connected to the Primary PVLAN in promiscuous mode. If your customer has two devices
that need to be isolated from other customers' devices, but to be able to communicate
among themselves, deploy them in community ports.</para>
</listitem>
</itemizedlist>
<para>For further reading:</para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/release/12.2_25_see/configuration/guide/swpvlan.html#wp1038379"
>Understanding Private VLANs</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://tools.ietf.org/html/rfc5517">Cisco Systems' Private VLANs: Scalable
Security in a Multi-Client Environment</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://kb.vmware.com">Private VLAN (PVLAN) on vNetwork Distributed Switch
- Concept Overview (1010691)</ulink></para>
</listitem>
</itemizedlist>
</section>
<section id="prereq-pvlan">
<title>Prerequisites</title>
<itemizedlist>
<listitem>
<para>Use a PVLAN supported switch.</para>
<para>See <ulink
url="http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a0080094830.shtml"
>Private VLAN Catalyst Switch Support Matrix</ulink>for more information.</para>
</listitem>
<listitem>
<para>All the layer 2 switches, which are PVLAN-aware, are connected to each other, and one
of them is connected to a router. All the ports connected to the host would be configured
in trunk mode. Open Management VLAN, Primary VLAN (public) and Secondary Isolated VLAN
ports. Configure the switch port connected to the router in PVLAN promiscuous trunk mode,
which would translate an isolated VLAN to primary VLAN for the PVLAN-unaware router. </para>
<para>Note that only Cisco Catalyst 4500 has the PVLAN promiscuous trunk mode to connect
both normal VLAN and PVLAN to a PVLAN-unaware switch. For other Catalyst PVLAN support
switch, connect the switch to upper switch by using cables. The number of cables should be
greater than the number of PVLANs used.</para>
</listitem>
<listitem>
<para>If your Catalyst switch supports PVLAN, but not PVLAN promiscuous trunk mode, perform
the following: </para>
<orderedlist numeration="loweralpha">
<listitem>
<para>Configure one of the switch port as trunk for management network (management
VLAN).</para>
</listitem>
<listitem>
<para>For each PVLAN, perform the following:</para>
<orderedlist numeration="lowerroman">
<listitem>
<para>Connect a port of the Catalyst switch to the upper switch.</para>
</listitem>
<listitem>
<para>Set the port in the Catalyst Switch in promiscuous mode for one pair of
PVLAN.</para>
</listitem>
<listitem>
<para>Set the port in the upper switch to access mode, and allow only the traffic of
the primary VLAN of the PVLAN pair.</para>
</listitem>
</orderedlist>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>Configure private VLAN on your physical switches out-of-band.</para>
</listitem>
<listitem>
<para>Open vSwitch (OVS) used by XenServer and KVM does not support PVLAN. Therefore,
simulate PVLAN on OVS for XenServer and KVM by modifying the flow table to achieve the
following:</para>
<itemizedlist>
<listitem>
<para>For every traffic leaving user VMs, tag with the secondary isolated VLAN
ID.</para>
</listitem>
<listitem>
<para>Change the VLAN ID to primary VLAN ID.</para>
<para>This allows the traffic which is tagged with the secondary isolated VLAN ID reach
the DHCP server. </para>
</listitem>
<listitem>
<para>The gateway is PVLAN-unaware; therefore, the switch connected to the gateway
should translate all the secondary VLAN to primary VLAN for communicating with the
gateway.</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>
<section id="ability-pvlan">
<title>Creating a PVLAN-Enabled Guest Network</title>
<orderedlist>
<listitem>
<para>Log in to the CloudPlatform UI as administrator.</para>
</listitem>
<listitem>
<para>In the left navigation, choose Infrastructure.</para>
</listitem>
<listitem>
<para>On Zones, click View More.</para>
</listitem>
<listitem>
<para>Click the zone to which you want to add a guest network.</para>
</listitem>
<listitem>
<para>Click the Physical Network tab.</para>
</listitem>
<listitem>
<para>Click the physical network you want to work with.</para>
</listitem>
<listitem>
<para>On the Guest node of the diagram, click Configure.</para>
</listitem>
<listitem>
<para>Click the Network tab.</para>
</listitem>
<listitem>
<para>Click Add guest network.</para>
<para>The Add guest network window is displayed.</para>
</listitem>
<listitem>
<para>Specify the following:</para>
<itemizedlist>
<listitem>
<para>Name:</para>
</listitem>
<listitem>
<para>Description:</para>
</listitem>
<listitem>
<para>VLAN ID:</para>
</listitem>
<listitem>
<para>Private VLAN ID:</para>
</listitem>
<listitem>
<para>Scope:</para>
</listitem>
<listitem>
<para>Network Offering:</para>
</listitem>
<listitem>
<para>Gateway:</para>
</listitem>
<listitem>
<para>Netmask:</para>
</listitem>
<listitem>
<para>IP Range:</para>
</listitem>
<listitem>
<para>IPv6 CIDR:</para>
</listitem>
<listitem>
<para>Network Domain:</para>
</listitem>
</itemizedlist>
</listitem>
<listitem><para>Click OK to confirm.</para></listitem>
</orderedlist>
</section>
</section>