Skip to main content

Private VLANs


·         Private VLANs allow for additional security between devices in a common subnet.
·         Private edge VLANs can be configured to prevent connectivity between devices on access switches.
·         Private VLANs can be configured on the Catalyst 6000 and Catalyst 4000 series products.
·         Within a private VLAN, you can isolate devices to prevent connectivity between devices within the isolated VLAN.
·         Within a private VLAN, communities can be created to allow connection between some devices and to prevent them from communicating with others.
·         Promiscuous ports are mapped to private VLANs to allow for connectivity to VLANs outside of this network.

Configuring Private VLANs

Private VLANs provide a mechanism to control which devices can communicate within a single subnet. The private VLAN uses isolated and community secondary VLANs to control how devices communicate. The secondary VLANs are assigned to the primary VLAN, and ports are assigned to the secondary VLANs. Ports in an isolated VLAN cannot communicate with any device in the VLAN other than the promiscuous port. Ports configured in a community VLAN can communicate with other ports in the same community and the promiscuous port. Ports in different communities cannot communicate with one another. To configure private VLANs, use the following steps.
1.      Set VTP transparent mode:
COS set vtp mode transparent
IOS (privileged) vlan database
(vlan_database) vtp transparent

2.      You must configure VTP to transparent mode before you can create a private VLAN. Private VLANs are configured in the context of a single switch and cannot have members on other switches. Private VLANs also carry TLVs that are not known to all types of Cisco switches.
3.      Create the primary private VLAN:
COS set vlan primary_number pvlan-type primary
IOS (global) vlan primary_number
(vlan-config) private-vlan primary

4.      You must first create a primary private VLAN. The number of the primary VLAN is used in later steps for binding secondary VLANs and mapping promiscuous ports.
5.      Create isolated and community VLANs:
COS set vlan secondary_number pvlan-type [isolated | community | twoway-community]
IOS (global) vlan secondary_number
(vlan-config) private-vlan [isolated | community]

6.      Configure isolated or community secondary VLANs for assignment of ports and control of the traffic. The secondary number for each of these VLANs must be unique from one another and the primary number. Members of an isolated VLAN can only communicate with the promiscuous port(s) mapped in Step 6, whereas members of a community VLAN can communicate with members of the same community and the promiscuous ports. A two-way community acts like a regular community, but has the additional aspect of allowing access control lists to check traffic going to and from (two ways) the VLAN and provides enhanced security within a private VLAN.
7.      Bind isolated and community VLANs to the primary VLAN:
COS set pvlan primary_number secondary_number
IOS (global) vlan primary_number
(vlan-config) private-vlan association secondary_number_list [add secondary_number_list]

8.      This command associates or binds the secondary VLANs to the primary VLAN. For the IOS command, the add option allows other VLANs to be associated in the future.
9.      Place ports into the isolated and community VLANs:
COS set pvlan primary_number secondary_number mod/port [sc0]
IOS (global) interface type mod/port
(interface) switchport
(interface) switchport mode private-vlan host
(interface) switchport mode private-vlan host-association primary_number secondary_number

10.  After you have created and associated the primary and secondary VLANs, you must assign ports to that VLAN. For COS switches, you can add the sc0 interface to the private VLAN as well.
11.  Map the isolated and community VLANs to promiscuous port(s):
COS set pvlan mapping primary_number secondary_number mod/port
IOS (global) interface type mod/port
(interface) switchport
(interface) switchport mode private-vlan promiscuous
(interface) switchport mode private-vlan mapping primary_number secondary_number

12.  After you have assigned ports to the secondary VLANs, you must map the VLANs to a promiscuous port for access outside of the isolated or community VLAN.
13.  (Optional) Map the isolated and community VLANs a Multilayer Switch Feature Card (MSFC) interface:
COS set pvlan mapping primary_number secondary_number 15/1
session 15
(privileged)config t
(global)interface vlan primary_number
(interface)ip address address mask
IOS (global) interface primary_number
(interface) ip address address mask
(interface) private-vlan mapping primary_number secondary_number

14.  If your switch has an MSFC, you can map the private VLANs to the MSFC. For a switch running COS, you map the VLAN to port 15/1 (or 16/1 for the MSFC in slot 2), and then configure the IP address on the VLAN interface with the number of the primary VLAN. For an IOS switch, you go to the VLAN interface with the primary number, and then map the primary and secondary VLANs to that port.

Configuring Private Edge VLANs

The 3500XL switch uses the concept of a protected port to allow for control of traffic on the switch. A protected port on a 3500XL will not forward traffic to another protected port on the same switch. This behavior is similar to an isolated VLAN in that protected ports cannot communicate with one another. Use the following command to configure a protected port.
1.      (Optional) Configure a protected port:
COS
IOS (global) interface type mod/port
(interface) port protected

2.      To configure a private edge VLAN, select the interface and type the command port protected. To verify that a port is in protected mode, use the command show port protected.

Verifying Private VLAN Operation

After configuring private VLANs, use the following command to verify operation:
COS show pvlan number
show pvlan mapping
show pvlan capability mod/port
IOS show vlan private-vlan [type]
show interface private-vlan mapping
show interface type mod/port switchport

Feature Example

shows the network diagram for a working private VLAN configuration example. In this example, the switch Access_1 is configured with ports 1 and 2 as protected ports both in VLAN 10. The VLAN 10 server on Distribution_1 is also in VLAN 10. This allows the PCs to connect to the server but not one another. Also on the distribution switch, private VLAN 90 has been created with a community VLAN 901 and an isolated VLAN 900. Server 2 in port 3/46 and Server 3 in port 3/48 are placed in the community VLAN, and servers connected to ports 3/1 and 3/2 are to be placed in the isolated VLAN. All these devices are mapped to the router connected to port 1/2 and the MSFC port 15/1 for interface VLAN 90.
Network Diagram for Private VLAN Configuration
An example of the Catalyst OS configuration for Distribution_1 follows:
Distribution_1 (enable)>set vtp mode transparent
Distribution_1 (enable)>set vlan 90 pvlan-type primary
Distribution_1 (enable)>set vlan 900 pvlan-type isolated 
Distribution_1 (enable)>set vlan 901 pvlan-type community
Distribution_1 (enable)>set pvlan 90 900
Distribution_1 (enable)>set pvlan 90 901
Distribution_1 (enable)>set pvlan 90 900 3/1-2
Distribution_1 (enable)>set pvlan 90 901 3/46,3/48
Distribution_1 (enable)>set pvlan mapping 90 900 1/2,15/1 
Distribution_1 (enable)>set pvlan mapping 90 901 1/2,15/1
Distribution_1 (enable)>session 15
MSFC_Dist1>enable
MSFC_Dist1#config t
MSFC_Dist1(config)#interface vlan 90
MSFC_Dist1(config-if)#ip address 10.10.90.1 255.255.255.0
MSFC_Dist1(config-if)#no shut
MSFC_Dist1(config-if)#end
MSFC_Dist1#copy running-config startup-config
An example of the Supervisor IOS configuration for Distribution_1 follows:
Distribution_1#vlan database
Distribution_1(vlan)#vtp transparent
Distribution_1(vlan)#exit
Distribution_1#conf t
Distribution_1(config)#vlan 90
Distribution_1(config-vlan)#private-vlan primary
Distribution_1(config-vlan)#vlan 900
Distribution_1(config-vlan)#private-vlan isolated
Distribution_1(config-vlan)#vlan 901
Distribution_1(config-vlan)#private-vlan community
Distribution_1(config-vlan)#vlan 90
Distribution_1(config-vlan)#private-vlan association 900,901
Distribution_1(config-vlan)#interface range fastethernet 3/1 - 2
Distribution_1(config-if)#switchport
Distribution_1(config-if)#switchport mode private-vlan host
Distribution_1(config-if)#switchport mode private-vlan host-association 90 900
Distribution_1(config-if)#no shut
Distribution_1(config-if)#interface range fastethernet 3/46 , 3/48
Distribution_1(config-if)#switchport
Distribution_1(config-if)#switchport mode private-vlan host
Distribution_1(config-if)#switchport mode private-vlan host-association 90 901
Distribution_1(config-if)#no shut
Distribution_1(config-if)#interface gigabitethernet 1/2
Distribution_1(config-if)#switchport
Distribution_1(config-if)#switchport mode private-vlan promiscuous
Distribution_1(config-if)#switchport mode private-vlan mapping 90 900,901
Distribution_1(config-if)#no shut
Distribution_1(config-vif)#interface vlan 90 
Distribution_1(config-if)#ip address 10.10.90.1 255.255.255.0
Distribution_1(config-if)#private-vlan mapping 90 900,901
Distribution_1(config-if)#no shut
Distribution_1(config-if)#end
Distribution_1 #copy running-config startup-config
An example of the Layer 2 IOS configuration for Access_1 follows:
Access_1 #config t
Access_1 (config)#interface fastethernet 0/1
Access_1 (config-if)#switchport access vlan 10
Access_1 (config-if)#port protected
Access_1 (config)#interface fastethernet 0/2
Access_1 (config-if)#switchport access vlan 10
Access_1 (config-if)#port protected
Access_1 (config)#interface gigabitethernet 0/1
Access_1 (config-if)#switchport mode trunk
Access_1 (config-if)#switchport trunk encapsulation dot1Q
Access_1 (config-if)#end
Access_1#copy running-config startup-config

Popular posts from this blog

AD LDS – Syncronizing AD LDS with Active Directory

First, we will install the AD LDS Instance: 1. Create and AD LDS instance by clicking Start -> Administrative Tools -> Active Directory Lightweight Directory Services Setup Wizard. The Setup Wizard appears. 2. Click Next . The Setup Options dialog box appears. For the sake of this guide, a unique instance will be the primary focus. I will have a separate post regarding AD LDS replication at some point in the near future. 3. Select A unique instance . 4. Click Next and the Instance Name dialog box appears. The instance name will help you identify and differentiate it from other instances that you may have installed on the same end point. The instance name will be listed in the data directory for the instance as well as in the Add or Remove Programs snap-in. 5. Enter a unique instance name, for example IDG. 6. Click Next to display the Ports configuration dialog box. 7. Leave ports at their default values unless you have conflicts with the default values. 8. Click N...

HOW TO EDIT THE BCD REGISTRY FILE

The BCD registry file controls which operating system installation starts and how long the boot manager waits before starting Windows. Basically, it’s like the Boot.ini file in earlier versions of Windows. If you need to edit it, the easiest way is to use the Startup And Recovery tool from within Vista. Just follow these steps: 1. Click Start. Right-click Computer, and then click Properties. 2. Click Advanced System Settings. 3. On the Advanced tab, under Startup and Recovery, click Settings. 4. Click the Default Operating System list, and edit other startup settings. Then, click OK. Same as Windows XP, right? But you’re probably not here because you couldn’t find that dialog box. You’re probably here because Windows Vista won’t start. In that case, you shouldn’t even worry about editing the BCD. Just run Startup Repair, and let the tool do what it’s supposed to. If you’re an advanced user, like an IT guy, you might want to edit the BCD file yourself. You can do this...

DNS Scavenging.

                        DNS Scavenging is a great answer to a problem that has been nagging everyone since RFC 2136 came out way back in 1997.  Despite many clever methods of ensuring that clients and DHCP servers that perform dynamic updates clean up after themselves sometimes DNS can get messy.  Remember that old test server that you built two years ago that caught fire before it could be used?  Probably not.  DNS still remembers it though.  There are two big issues with DNS scavenging that seem to come up a lot: "I'm hitting this 'scavenge now' button like a snare drum and nothing is happening.  Why?" or "I woke up this morning, my DNS zones are nearly empty and Active Directory is sitting in a corner rocking back and forth crying.  What happened?" This post should help us figure out when the first issue will happen and completely av...