Neste artigo vou falar sobre como configurar o roteamento entre várias VLANs usando o pfSense e um ponto que suporte 802.1Q (VLAN). No pfSense vamos configurar as portas LAN com múltiplas interfaces de sub-rede e atribuir determinada VLAN a cada uma.
A porta de uplink será utilizada para rotear todo o tráfego usando o protocolo 802.1Q. Esta configuração pode ser conferida no diagrama abaixo. No esquema, temos cinco VLANs e uma sub-rede diferente atribuida a cada uma. O pfSense terá um endereço IP em cada VLAN (192.168.1.1, 10.1.1.1, etc …), e irá funcionar como gateway padrão para clientes que irão se conectar a essas VLANs.
A configuração do switch obviamente irá variar de fabricante para fabricante, o que significa que os exemplos aqui, pode não se aplicar necessariamente ao seu modelo.
A idéia é cobrir os switchs Cisco, Dell, Avaya. No final deixar referências para configurar as VLANs em roteadores rodando OpenWRT (DD-WRT) também.
Configuração no pfSense
Antes de começar, vamos configurar as regras de firewall da interface WAN para nos permitir conectar a GUI do pfSense a partir da WAN.
Estamos fazendo isso porque durante a configuração de nossa porta LAN para funcionar como tronco de várias VLANs iremos perder a conexão com o pfSense que por default só permite acesso direto através da LAN.
Por esta razão, é melhor conectar um notebook diretamente à porta WAN enquanto estamos configurando a porta LAN de modo que não sejamos bloqueados. Por padrão, o pfSense irá bloquear conexões destinadas à porta 443 por isso devemos permitir isso através da criação de uma regra de firewall. Você pode criar a regra, indo até: firewall–> rules –> WAN.
E adicionamos a nova regra:
Você deve modificar a interface WAN e informar um IP estático. E certificar-se que a interface não esteja configurada para DHCP, verifique indo até interfaces -> WAN.
Agora você deve ser capaz de conectar seu notebook ou desktop diretamente à interface WAN do seu roteador pfSense e acessá-lo através da web, utilizando https: //endereço_IP, onde endereco_IP é o que você definiu em IPv4 Address acima.
Obviamente você deve atribuir ao seu notebook ou desktop também um endereço IP estático na mesma sub-rede que o endereço de IP da WAN. Se você escolheu 192.168.8.1/24 como seu endereço IP da WAN, pode então utilizar qualquer um do range 192.168.8.2 a 192.168.8.254 que serão todos endereços IPs válidos para você atribuir à sua placa de rede.
Depois de acessar o pfSense, o próximo passo é ir até Interfaces -> VLANs.
Você deve ter duas interfaces atualmente configuradas que devem ser suas interfaces LAN e WAN, respectivamente, e cada uma deve estar mapeada para uma porta física.
Na guia VLANs é onde você deve ir para adicionar uma nova VLAN e atribuí-la à interface que o seu switch gerenciável ira se ligar.
Cada VLAN que você criar deve possuir uma TAG entre 1 e 4094 que irá coincidir com o número da VLAN que você irá configurar em seu switch, associando a esta porta. Abaixo está um exemplo criação de uma VLAN:
Observação Importante: Se por algum motivo a interface pai (em1) não está listando todos os seus adaptadores de rede, significa que as placas de rede não suportam 802.1Q VLAN tagging e, portanto não permitirá avançar neste tutorial. Veja sempre nas descrições das placas que você for comprar se a mesma suporta este recurso. Aqui por exemplo tem uma opção de baixo custo.
Salve quando terminar e adicione outras VLANs que você precisar, tudo da mesma forma. No meu exemplo ficou assim:
Devemos agora voltar para o guia interface assignments e começar a adicionar as interfaces para cada VLAN que criamos.
Quando você terminar, é hora de ativar a interface, para isso basta você clicar no nome dela e marcar a opção Enable Interface:
Após ativar as VLANs, novas configurações estarão disponíveis. Abaixo está uma das minhas VLANs que eu configurei com um endereço IPv4 estático. O endereço IP que eu atribuir a essa VLAN será o gateway padrão para os meus clientes que irão se conectar futuramente a esta VLAN.
Observação Importante: Você deve reiniciar o pfSense assim que terminar de configurar todas os atributos para cada VLAN. As configurações não terão efeito, até que o pfSense seja reiniciado.
Agora que todas as VLANs estão configuradas e para cada uma foi atribuído um endereço IP, a próxima etapa será a configuração do serviço DHCP para cada uma dessas VLANs.
DHCP permitirá que os clientes obtenham um endereço IP automaticamente quando se conectarem a qualquer uma dessas VLANs. A configuração do DHCP é simples, uma vez que você ativar o servidor DHCP em cada interface VLAN tudo que você deve fazer será atribuir um intervalo de endereços IP que seus clientes irão receber nesta VLAN.
Observação importante: Há muito mais opções do DHCP que você pode definir aqui, mas não vou comentá-los neste momento, fica como um item para você explorar.
Agora que temos as interfaces de VLANs criadas e DHCP configurado em cada VLAN, a próxima etapa é atribuir o DNS em cada VLAN.
A maioria das pessoas configura o pfSense de forma a deixar o DNS a sob a responsabilidade do provedor de Internet (ISP) ou, utilizam DNS públicos como o do Google ou OpenDNS.
De toda forma, significa que para o encaminhamento de DNS funcionar corretamente, você deve habilitá-lo sob as interfaces que seus clientes vão estar conectados. No nosso caso, nossos clientes estarão se conectando as VLANs que criamos e eles provavelmente estarão utilizando os servidores DNS que foi definido para o IP do gateway padrão VLAN. Para isso basta marcar as VLANs que utilizaram o DNS Forwarder.
A última coisa que vamos fazer é modificar a nossa regra de firewall para cada VLAN e criar uma regra de permissão semelhante a indicada abaixo, isso é necessário par ativar o trabalho do NAT, uma vez que nossos clientes irão estar por trás de endereços IPs privados.
As configurações específicas para a regra de firewall acima é mostrada abaixo:
Agora que o nosso pfSense esta configurado com VLANs, o próximo passo será configurar o Switch.
Configuração do Switch:
Abaixo estão alguns comandos para você usar na configuração de uma porta de tronco em switches para diferentes marcas que estou familiarizado.
Suponha que o seu switch seja nomeado com SW1 e a interface 1/1 seja usada para se conectar ao seu pfSense.
Vamos começar com a configuração da VLAN, depois passaremos pela configuração do tronco e finalizaremos com a configuração da porta de acesso.
Switchs CISCO
Referência completa em português: Support Cisco
1. Configuração da VLAN:
a. Criando uma VLAN na camada 2
[shell] SW1(config)#vlan # [/shell]
b. Atribuindo um nome para a VLAN
[shell] SW1(config-vlan)#name Nome_da_VLAN [/shell]
c. Saindo do modo de configuração de VLAN
[shell] SW1(config-vlan)#exit [/shell]
2. Configuração do Tronco: (Referência – Documentação Cisco)
a. Mudando o encapsulamento para 802.1Q
[shell] SW1(config)#interface gig 1/1
SW1(config-if)#Switchport trunk encapsulation dot1q [/shell]
b. Mudando a porta para um tronco
[shell] SW1(config-if)#Switchport mode trunk [/shell]
c. Configurando a VLANs que podem utilizar o tronco. Por padrão, todas as VLANs são permitidas.
[shell] SW1(config-if)#Switchport trunk allowed vlan {add|all|except|remove} [/shell]
3. Configuração da porta de acesso
Ref. 01 – freeccnaworkbook
Ref. 02 – YouTube
a. Definindo uma porta, como sendo uma porta de acesso:
[shell] SW1(config)#interface Fastethernet #/#
SW1(config-if)#switchport mode access [/shell]
b. Atribuindo qual VLAN que a porta pertence
[shell] SW1(config-if)#switchport access VLAN# [/shell]
Switchs Dell PowerConnect
No Dell PowerConnect a configuração muda um pouco, mas no geral é muito semelhante aos Switches Cisco.
Referência completa de VLAN: Support Dell (resumo dos comandos)
1. Configuração da VLAN:
a. Entrando no modo de configuração de VLAN
[shell] SW1(config)#Vlan database [/shell]
b. Criando a VLAN
[shell] SW1(config-vlan)#Vlan # [/shell]
c. Saindo do modo de configuração de VLAN
[shell] SW1(config-vlan)#exit [/shell]
2. Configuração do Tronco: (Referência – Documentação)
a. Mudando o encapsulamento para 802.1Q
[shell] SW1(config)#Interface ethernet 1/1
SW1(config-if)#Switchport mode trunk [/shell]
c. Configurando a VLANs que podem utilizar o tronco.
[shell] SW1(config-if)#Switchport trunk allowed vlan add [/shell]
3. Configuração da porta de acesso
a. Definindo uma porta, como sendo uma porta de acesso:
[shell] SW1(config)#interface ethernet #/#
SW1(config-if)#switchport mode access [/shell]
b. Atribuindo qual VLAN que a porta pertence
[shell] SW1(config-if)#switchport access VLAN# [/shell]
Switchs Avaya
Em um switch Avaya a configuração é diferente da Dell e Cisco…
Referência completa de VLAN: Support Avaya
1. Configuração da VLAN:
a. Criar a VLAN, dando um nome, e tornando-a baseada em uma porta.
[shell] SW1(config)#vlan create VLAN# name Nome_da_VLAN type port [/shell]
2. Configuração do Tronco:
a. Configurando a porta para permitir todo o tráfego
[shell] SW1(config)#vlan ports 1/1 tagging tagAll [/shell]
c. Configurando a VLANs que podem utilizar o tronco.
[shell] SW1(config)#vlan members add VLAN# 1/1 [/shell]
3. Configuração da porta de acesso
a. Definindo uma porta, como sendo uma porta de acesso:
[shell] SW1(config)#vlan members add VLAN# PORT#/# [/shell]
b. Atribuindo qual VLAN que a porta pertence
[shell] SW1(config)#vlan ports #/# pvid VLAN# [/shell]
Nota: A porta pode ser membro de várias VLANs, mas só pode ter um PVID (VLAN Port ID) associado a ele que nos diz o que você realmente esta transmitindo na VLAN.
A maioria das pessoas fazem deste um relacionamento 1 – 1 de modo que a porta atribuída a VLAN corresponda ao PVID.
DD-WRT e OpenWRT
Pode-se utilizar um roteador com os firmwares DD-WRT ou OpenWRT como sendo um switch gerenciável, para isso vou deixar aqui algumas referências que instruem na utilização desta configuração.
- Configurando VLANs no OpenWRT
- Criando um Wifi visitante com VLAN no pfSense
- VLAN com pfSense e um switch com cinco portas