Você está na página 1de 11

Private VLAN

Private VLANs são criadas para controlar acesso entre equipamentos de rede. Esse controle é realizado
pelo switch na camada 2, não sendo necessário o uso de firewalls ou routers. Nesse modelo de
configuração, equipamentos chamados isolated estão conectados na mesma VLAN mas não podem
trocar informações, comunicando-se somente com outros equipamentos devidamente autorizados como
routers,firewalls e servidores que fazem parte de outra VLAN.

1. Private VLAN em Topologia Estrela


A primeira configuração a ser realizada é a criação da VLAN onde ficará um servidor(promíscuo). Esse
servidor estará na mesma subrede dos clientes, porém em uma VLAN distinta não sendo possível a co-
municação entre eles. Assim, no exemplo abaixo, o servidor está ligado ao Datacom_1 na porta 10 e esta
porta é configurada como untagged, somente pertencente à VLAN 200. Também indicamos que a VLAN
nativa dessa porta é a VLAN 200 fazendo com que os pacotes que entrarem por esta porta sejam marcados
com TAG igual a 200. Devemos indicar que as portas 26 e 27 do mesmo switch são tagged e pertencentes à
VLAN 200, assim como qualquer outra VLAN que deve atravessar essas portas de uplink para chegar em
outros switches. Como cliente e servidor estarão isolados por VLANs diferentes, precisamos criar filtros
para permitir tal comunicação. O filtro abaixo indica que qualquer pacote que entrar pela porta ethernet
10(oriundo do servidor) e estiver com o TAG de VLAN 200(native VLAN), deverá ter seu TAG alterado
para 100. Para que a comunicação com os clientes funcione, será necessário indicar nos outros equipamen-
tos(Datacom_2 e Datacom_3) que qualquer pacote oriundo da VLAN 100 (portas 2, 6 e 23 [Datacom_2]
e portas 1 e 2 [Datacom_3]), seja remarcado com a VLAN 200. Nesse equipamento(Datacom_1) temos
somente a criação da VLAN do servidor(200) e de outra usada para gerência, mas não teremos a VLAN
do cliente(VLAN 100).

1
Private VLAN

Figure 1. Private VLAN em Topologia Estrela

Datacom_1#sh run
...
!
interface vlan 200
set-member untagged ethernet 1/10
set-member tagged ethernet range 1/26 1/27
!
interface ethernet 1/10
switchport native vlan 200
!
filter 1 action vlan 100 match vlan 200 ingress ethernet 1/10 priority 8
!
Datacom_1#
Datacom_1#sh vlan table id 200

Membership: (u)ntagged, (t)agged, (d)ynamic, (f)orbidden


uppercase indicates port-channel member

VLAN 200: static, active

Unit 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28
. . . . u . . . . . . . t .
. . . . . . . . . . . . . t

2
Private VLAN

1 3 5 7 9 11 13 15 17 19 21 23 25 27
Datacom_1#

Partimos para a configuração das portas dos switches onde temos clientes conectados. Todas as portas
são untagged pertencentes somente à VLAN 100 e indicamos que essas portas são nativas à VLAN 100.
Configuramos também as portas de uplink como pertencentes à VLAN de gerência(1) e à VLAN do
cliente(100), não existindo a VLAN do servidor(200) nessa configuração. Para permite a comunicação dos
clientes(VLAN 100) com o servidor(VLAN 200) é necessário um filtro que faz a troca do TAG de VLAN
100 para 200. Poderíamos fazer um controle ainda maior, colocando mais um match com o [destination-
ip] e dessa forma nem todo pacote que sairia dessas portas teriam seu TAG alterado. Outro controle que
podemos ter é restringir o acesso de determinado equipamento(porta) a outros, conforme configuração
abaixo onde estamos impedindo que o PC_1, conectado à porta 2, comunique-se com o PC_2 que está na
porta 6. Isto é feito inserindo-se o comando switchport egress-block ethernet 6 na configuração da porta
2.
Datacom_2#sh run
interface vlan 100
set-member untagged ethernet 1/2
set-member untagged ethernet 1/6
set-member untagged ethernet 1/23
set-member tagged ethernet 1/25
!
interface ethernet 1/2
switchport native vlan 100
switchport egress-block ethernet 1/6
!
interface ethernet 1/6
switchport native vlan 100
switchport egress-block ethernet 1/2
!
interface ethernet 1/23
switchport native vlan 100
!
filter 1 action vlan 200 match vlan 100 ingress ethernet 1/2 ingress ethernet 1/6 ingress ethernet 1/23 priori
!
Datacom_2#show vlan table id 100

Membership: (u)ntagged, (t)agged, (d)ynamic, (f)orbidden


uppercase indicates port-channel member

VLAN 100: static, active

Unit 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28
u . u . . . . . . . . . . .
. . . . . . . . . . . u t .
1 3 5 7 9 11 13 15 17 19 21 23 25 27
Datacom_2#

Para o switch Datacom_3, seguimos a mesma idéia de configuração utilizada no Datacom_2. É inter-
essante observar que os switches Datacom_2 e Datacom_3 possuem a VLAN 100, mas não possuem a
VLAN 200. Já o Datacom_1 possui somente a VLAN 200(servidor) e não faz parte da VLAN 100. Essa
comunicação funciona desta forma pois o filtro somente será aplicado após o pacote ter sido encaminhado
para a(s) demais porta(s) que fazem parte da mesma VLAN. Assim, o pacote que entrar na porta 2(VLAN
100) destinado ao servidor(VLAN 200) será encaminhado para a porta de uplink(VLAN 100) mesmo que
o seu TAG tenha sido alterado para 200. Quando o pacote atravessar o meio físico, chegando ao switch de

3
Private VLAN

destino, ele será aceito pois a porta de entrada faz parte da VLAN 200, estando em conformidade com o
pacote que chegou.
Datacom_3#sh run
interface vlan 100
set-member untagged ethernet range 1/1 1/2
set-member tagged ethernet 1/25
!
interface ethernet range 1/1 1/2
switchport native vlan 100
!
filter 1 action vlan 200 match vlan 100 ingress ethernet range 1/1 1/2 priority 8
!
Datacom_3#sh vla tab id 100
Membership: (u)ntagged, (t)agged, (d)ynamic, (f)orbidden
uppercase indicates port-channel member

VLAN 100: static, active

Unit 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28
u . . . . . . . . . . . . .
u . . . . . . . . . . . t .
1 3 5 7 9 11 13 15 17 19 21 23 25 27
Datacom_3#

2. Private VLAN em Topologia Anel


Se estivermos interessados em criar um anel com a opção de private VLAN, podemos criar uma solucao
com EAPS(Ethernet Automatic Protection Switching) ou com STP(Spanning-Tree Protocol).

4
Private VLAN

Figure 2. Private VLAN em Topologia Anel com EAPS ou STP

1. Private VLAN com STP

No desenho acima, estamos utilizando 4 switches que compõem o anel juntamente com a descricao
rapida de suas portas. Criaremos inicialmente a VLAN 200, onde estará conectado o servidor na
porta 10 do switch 1. Esta porta será untagged, nativa e pertencente somente à VLAN 200. Não
criaremos a VLAN de cliente(100) nesse equipamento, pois todos os pacotes oriundos dos clientes
deverão ter seus TAGs alterados e chegar até ele com TAG de VLAN 200. Adicionalmente, todos os
pacotes que saírem do servidor(VLAN 200) deverão chegar às estações clientes(VLAN 100) sendo
necessário a criação de um filtro para fazer a troca do TAG de VLAN 200 para VLAN 100. Como
esses pacotes podem passar por 2 caminhos diferentes para chegar ao servidor ou aos clientes, todas
as portas de uplink(exceto do switch 1) devem ser tageadas e pertencer às VLANs 100 e 200. A
VLAN de Clientes(100) é configurada nos equipamentos 2 e 3 onde conectaremos as máquinas que
não poderão trocar informacoes entre si, mas deverão ter acesso ao servidor localizado em outro
equipamento e em outra VLAN(200). Assim, todo pacote que entrar por essas portas(VLAN 100)
deve ter seu TAG alterado para VLAN 200. Dessa forma, os pacotes serão encaminhados para as
portas de uplink(também pertencentes à VLAN 100) e quando chegarem a qualquer outro switch,
estarão com TAG 200 e viajarão por todos os equipamentos com VLAN 200, até chegar ao servidor.

5
Private VLAN

Adicionalmente podemos ter 2 ou mais clientes num mesmo switch, como mostrados nas portas 1 e
2 do switch 3. Para evitar que eles se comuniquem, devemos criar uma restrição de acesso através do
comando egress-block, informando as portas de destino que não poderão ser utilizadas.

Todas as portas de uplink pertencem também à VLAN 10 para demostrar a utilização de outra VLAN
para a gerência que esta sendo feita pela porta 23 do switch 1.
Datacom_1#
...
!
interface vlan 10
name Vlan_Gerencia
ip address 10.10.10.1/24
set-member untagged ethernet 1/23
set-member tagged ethernet range 1/25 1/26
!
interface vlan 200
name Vlan_Servidor
set-member untagged ethernet 1/20
set-member tagged ethernet range 1/25 1/26
!
interface ethernet 1/20
description Servidor
switchport native vlan 200
!
interface ethernet 1/23
description PC_Gerencia
switchport native vlan 10
!
interface ethernet range 1/25 1/26
description Uplink
switchport native vlan 10
!
spanning-tree 1
spanning-tree 1 vlan all
!
filter 1 action vlan 100 ingress ethernet 1/20 priority 8
!
Datacom_1#

A seguir temos a configuração dos switches 2 e 3, onde estão conectados os clientes.


Datacom_2#
...
!
interface vlan 10
name Vlan_Gerencia
ip address 10.10.10.2/24
set-member tagged ethernet range 1/25 1/26
!
interface vlan 100
name Vlan_Clientes
mac-address-table learn-copy vlan 200
set-member untagged ethernet range 1/1 1/2
set-member tagged ethernet range 1/25 1/26
!
interface vlan 200
name Vlan_Servidor
mac-address-table learn-copy vlan 100
set-member tagged ethernet range 1/25 1/26
!
interface ethernet 1/2
description Cliente_3

6
Private VLAN

switchport native vlan 100


!
interface ethernet range 1/25 1/26
description Uplink
!
spanning-tree 1
spanning-tree 1 vlan all
!
filter 1 action vlan 200 ingress ethernet 1/2 priority 8
!
mac-address-table aging-time 30
!
Datacom_2#
Datacom_3#
...
!
interface vlan 10
name Vlan_Gerencia
ip address 10.10.10.3/24
set-member tagged ethernet range 1/25 1/26
!
interface vlan 100
name Vlan_Clientes
mac-address-table learn-copy vlan 200
set-member untagged ethernet range 1/1 1/6
set-member tagged ethernet range 1/25 1/26
!
interface vlan 200
name Vlan_Servidor
mac-address-table learn-copy vlan 100
set-member tagged ethernet range 1/25 1/26
!
interface ethernet 1/1
description Cliente_1
switchport native vlan 100
switchport egress-block ethernet range 1/1 1/24
!
interface ethernet 1/2
description Cliente_2
switchport native vlan 100
switchport egress-block ethernet range 1/1 1/24
!
spanning-tree 1
spanning-tree 1 vlan all
!
filter 1 action vlan 200 ingress ethernet range 1/1 1/2 priority 8
!
mac-address-table aging-time 30
!
Datacom_3#

E para finalizar, a configuração do switch 4, que somente está ligado entre clientes e servidor.
Datacom_4#
...
!
interface vlan 10
name Vlan_Gerencia
ip address 10.10.10.4/24
set-member tagged ethernet range 1/25 1/28
!
interface vlan 100
name Vlan_Clientes
set-member tagged ethernet range 1/25 1/26
!

7
Private VLAN

interface vlan 200


name Vlan_Servidor
set-member tagged ethernet range 1/25 1/26
!
spanning-tree 1
spanning-tree 1 vlan all
!
Datacom_4#

Nossa configuração estaria funcional até esse ponto, porém teríamos mais um detalhe de configuração
a ser feita para melhorarmos o desempenho e a segurança da rede, e evitando que um cliente possa
capturar as respostas do servidor destinadas à algum outro cliente. Isso ocorreria, por exemplo, com
a comunicação do Cliente_3 trocando informações com o servidor. Supondo-se que o protocolo de
proteção contra loops(EAPS ou STP) esteja bloqueando a porta 26 do switch 1 e, consequentemente,
o Cliente_3 comunica-se com o Servidor através dos switches 3 e 4. Nesse caso, o pacote originado
no Cliente_3(VLAN 100) chega ao switch 3 com o TAG de VLAN 200 por causa do filtro e será
gravado na tabela MAC como pertencente à essa VLAN(200). Quando a resposta do servidor chegar
ao switch 3, estará com TAG de VLAN 100 e deverá ser encaminhar para a porta 26, onde está
ligado o outro switch com o destinatário do pacote. No entanto, o switch não reconhece o MAC do
Cliente_3 como pertencente à VLAN 100, e assim, manda a resposta à todos as portas pertencentes
à VLAN 100. A resposta irá chegar ao cliente, mas também poderá ser capturada pelos Cliente 1 e 2
que também pertencem à VLAN 100 e receberam o flood. Assim, inserimos o comando de cópia de
MACs entre a VLAN 100 e 200 resolvendo o problema. Abaixo temos o resultado mostrando a cópia
de MACs entre a VLAN 100 e a 200.
Datacom_2#show mac-address-table
Total MAC Addresses for this criterion: 9

Unit Interface MAC Address VLAN Type


---- --------- ----------------- ---- ---------
1 Eth 1/ 2 00-11-11-57-f6-92 200 Learned
1 Eth 1/ 2 00-11-11-57-f6-92 100 Learned
1 Eth 1/26 00-04-df-10-1e-04 10 Learned
1 Eth 1/26 00-04-df-10-1e-1e 10 Learned
1 Eth 1/26 00-0a-e4-ef-c0-06 100 Learned
1 Eth 1/26 00-0a-e4-ef-c0-06 200 Learned
1 Eth 1/26 00-10-60-5d-76-ea 200 Learned
1 Eth 1/26 00-10-60-5d-76-ea 100 Learned
1 Eth 1/26 00-14-6c-30-2e-98 10 Learned
Datacom_2#

2. Private VLAN com EAPS

Para utilizar o EAPS, que é mais eficiente que o STP, porém somente aplicável em topologia anel,
usaremos a mesma configuração anterior com algumas alterações. A única mudança a ser feita é a
retirada da configuração de spanning-tree nos 4 equipamentos e a adição de mais alguns comandos.
Datacom_1#
Datacom_1#conf
Datacom_1(config)#no spanning-tree 1
Datacom_1(config)#exit
Datacom_1#
Depois adicionaremos em cada um dos equipamentos uma VLAN adicional para ser a VLAN de
controle do EAPS. Nosso exemplo usará a VLAN 1001 e deve ser a mesma em todos os switches
para possibilitar a troca de informações de controle.
Datacom_1#configure

8
Private VLAN

Datacom_1(config)#interface vlan 1001


Datacom_1(config-if-vlan-1001)#name Control_EAPS
Datacom_1(config-if-vlan-1001)#set-member tagged ethernet range 1/25 1/26
Datacom_1(config-if-vlan-1001)#exit
Datacom_1(config)#exit
Datacom_1#

Depois elegemos um switch para fazer o controle do anel e que será chamado de master. Precisamos
informar qual será a porta principal e a secundária em cada um dos equipamentos. Informamos tam-
bém a VLAN de controle(1001) e as VLANS protegidas por esse processo do EAPS.
Datacom_1#
...
!
eaps
!
eaps DM_1
eaps DM_1 mode master
eaps DM_1 port primary ethernet 1/25
eaps DM_1 port secondary ethernet 1/26
eaps DM_1 control-vlan id 1001
eaps DM_1 protected-vlans id 1
eaps DM_1 protected-vlans id 10
eaps DM_1 protected-vlans id 100
eaps DM_1 protected-vlans id 200
eaps DM_1 enable
!
...
Datacom_1#

Para os demais equipamentos, a configuração é igual a não ser pelo fato de podermos escolher portas
primárias e secundárias diferentes e precisarmos trocar o comando de mode master por mode transit,
pois só podemos ter um único master no controle daquele EAPS.
Datacom_2#
...
!
eaps
!
eaps DM_1
eaps DM_1 port primary ethernet 1/26
eaps DM_1 port secondary ethernet 1/25
eaps DM_1 control-vlan id 1001
eaps DM_1 protected-vlans id 1
eaps DM_1 protected-vlans id 10
eaps DM_1 protected-vlans id 100
eaps DM_1 protected-vlans id 200
eaps DM_1 enable
!
...
Datacom_2#
Datacom_3#
...
!
eaps
!
eaps DM_1
eaps DM_1 port primary ethernet 1/26
eaps DM_1 port secondary ethernet 1/25
eaps DM_1 control-vlan id 1001
eaps DM_1 protected-vlans id 1
eaps DM_1 protected-vlans id 10

9
Private VLAN

eaps DM_1 protected-vlans id 100


eaps DM_1 protected-vlans id 200
eaps DM_1 enable
!
...
Datacom_3#
Datacom_4#
...
!
eaps
!
eaps DM_1
eaps DM_1 port primary ethernet 1/25
eaps DM_1 port secondary ethernet 1/26
eaps DM_1 control-vlan id 1001
eaps DM_1 protected-vlans id 1
eaps DM_1 protected-vlans id 10
eaps DM_1 protected-vlans id 100
eaps DM_1 protected-vlans id 200
eaps DM_1 enable
!
Datacom_4#

3. Private VLAN em um único equipamento


Poderíamos estar interessados em criar uma Private VLAN em um único equipamento mas que não seria
exatamente uma Private VLAN. Isto pode ser configurado com comandos de restrição de acesso a portas,
adicionando-se o comando de egress-block nas interfaces onde deve haver esse controle.

Figure 3. Private VLAN em um único equipamento

10
Private VLAN

Se tivermos o ambiente acima, podemos deixar todos os equipamentos na mesma VLAN e somente
limitar o acesso de determinada porta às demais e permitindo assim o acesso ao servidor. Na configuração
abaixo as portas 6, 10, 12 e 23 estão na mesma VLAN, mas o PC_1 da porta 6 somente se comunica com
o servidor e não se comunica com os demais. É importante observar que pacotes que entrarem na porta
12 destinados à porta 6 serão encaminhados pelo PC_12 e recebidos pelo PC_1, mas a resposta retornada
ao PC_2 será bloqueada. Para evitar essa situação, devemos fazer o controle de egress-block em ambas
portas para que o primeiro pacote não chegue ao seu destino.
interface vlan 100
set-member untagged ethernet 1/6
set-member untagged ethernet 1/10
set-member untagged ethernet 1/12
set-member untagged ethernet 1/23
!
interface ethernet range 1/1 1/2
switchport native vlan 100
!
interface ethernet 1/6
switchport native vlan 100
switchport egress-block ethernet 1/12
switchport egress-block ethernet 1/23
!
interface ethernet 1/10
description Servidor
switchport native vlan 100
!
interface ethernet 1/12
switchport native vlan 100
!
interface ethernet 1/23
switchport native vlan 100
switchport egress-block ethernet range 1/6 1/12
!

11

Você também pode gostar