Vamos começar com um pouco de teoria sobre VLANS Uma rede local virtual, normalmente denominada de VLAN, é uma rede logicamente independente. Várias VLAN's podem co-existir em um mesmo comutador (switch). O protocolo predominante é o IEEE 802.1Q. Antes da introdução do 802.1q, o protocolo ISL da Cisco, uma variante do IEEE 802.10, foi um dos vários protocolos proprietários. O ISL é desaprovado em favor do 802.1q. As primeiras VLAN's geralmente eram configuradas para reduzir o tamanho do domínio de colisão em um segmento Ethernet muito extenso para melhorar o desempenho. Quando os switch's descartaram este problema (porque eles não têm um domínio de colisão), as atenções se voltaram para a redução do domínio de broadcast na camada MAC. Dependendo do tipo de configuração, os usuários ganham mobilidade física dentro da rede. Um outro propósito de uma rede virtual é restringir acesso a recursos de rede sem considerar a topologia da rede, porém este método é questionável.
Redes virtuais operam na camada 2 do modelo OSI. No entanto, uma VLAN geralmente é configurada para mapear diretamente uma rede ou sub-rede IP, o que dá a impressão que a camada 3 está envolvida. Enlaces switch-a-switch e switch-a-roteador são chamados de troncos. Um roteador ou switch de camada 3 serve como o backbone entre o tráfego que passa através de VLAN's diferentes. Redes virtuais podem ser configuradas de várias formas; - Nível do protocolo, IP, IPX, LAT, etc.
- Baseada no endereço MAC.
- Baseada na sub-rede IP.
- Baseada na porta, e portanto, baseada no mundo real, como em departamento de marketing versus finanças.
VLAN's podem ser estáticas, dinâmicas ou dependente da porta. Existem dois métodos de estabelecer uma VLAN: por marcação de quadro (frame-tagging) e por filtragem de quadro (frame-filtering). A marcação de quadro modifica a informação que está contida dentro do quadro da camada 2, de tal modo que os switch's podem encaminhar o tráfego da VLAN para as suas VLAN's de destino e voltar o quadro ao seu formato normal. A filtragem de quadro faz o switch procurar por um certo critério no quadro da camada 2 e usar este sistema de comparação para encaminhar o tráfego para sua VLAN e destino corretos. Um dispositivo de camada 2 pode implementar VLAN's de três maneiras diferentes; - VLAN's abertas (Open VLANs) têm um banco de dados de endereço MAC único para todas as VLAN's.
- VLAN's fechadas (Closed VLANs) têm um banco de dados de endereço MAC separado para cada VLAN.
- VLAN's de modo mixado (Mixed Mode VLANs) podem ser configuradas como aberta ou fechada por VLAN.
VLAN's fechadas geralmente são consideradas mais seguras que VLAN's abertas. Em equipamentos da Cisco, o VTP (VLAN Trunking Protocol) possibilita domínios de VLAN, os quais podem ajudar em tarefas administrativas. o VTP também permite "expurgo", assim, o tráfego de uma VLAN específica é direcionado apenas aos switch's que têm portas naquela VLAN. Fonte: Wikipedia Resumindo: Quando trabalhamos com vlans, podemos segmentar a rede para diminuir o tráfego broadcast compartilhado e segmentar de forma que por exemplo tenhamos uma vlan por serviço/aplicação. A vantagem de ter um Freebsd com interfaces vlans seria, utilizar a mesma interface física para transportar varios tags (vlan id), excluindo a necessidade de uma placa de rede para cada rede. Configurando FreeBSD Primeiramente necessitamos levantar o módulo if_vlan ou para quem queira deixar este suporte nativamente no kernel. Para habilitar o suporte a vlans sem ter q recompilar o kernel utilizaremos o comando abaixo: # kldload if_vlan Não podemos esquecer de adicionar a entrada if_vlan_load=”YES” no arquivo /boot/loader.conf Caso você queira compilar o suporte nativamente, adicione a entrada abaixo no seu arquivo de configuração e recompile o seu kernel: device vlan Depois do suporte a int vlans estar habilitado, vamos começar a configuração no Freebsd. Vamos utilizar 4 tags para a nossa configuração, 5, 10, 15 e 20, para facilitar vamos associar o tag ao nome da interface vlan, tag 5 (vlan5), tag 10 (vlan10), tag 15 (vlan15), tag 20 (vlan20). Criando as interfaces:
# ifconfig vlan5 create # ifconfig vlan10 create # ifconfig vlan15 create # ifconfig vlan20 create Apenas para conferir se as interfaces foram criadas # ifconfig A saída deverá ser algo como mostrado abaixo: vlan5: flags=8002<BROADCAST,MULTICAST> mtu 1500 ether 00:00:00:00:00:00 vlan: 0 parent interface: <none> vlan10: flags=8002<BROADCAST,MULTICAST> mtu 1500 ether 00:00:00:00:00:00 vlan: 0 parent interface: <none> vlan15: flags=8002<BROADCAST,MULTICAST> mtu 1500 ether 00:00:00:00:00:00 vlan: 0 parent interface: <none> vlan20: flags=8002<BROADCAST,MULTICAST> mtu 1500 ether 00:00:00:00:00:00 vlan: 0 parent interface: <none> Nossas interfaces ja estão criadas, agora vamos associa-las ao devido tag e a interface física. OBS: não é necessario a nome da int vlan ter o mesmo tag, por exemplo, pode ser criado a interface vlan0 e associado qualquer tag, criamos a vlan5 associada ao tag 5 para ficar facil de coomprender. Associando os tags: # ifconfig vlan5 vlan 5 vlandev fxp0 # ifconfig vlan10 vlan 10 vlandev fxp0 # ifconfig vlan15 vlan 15 vlandev fxp0 # ifconfig vlan20 vlan 20 vlandev fxp0 Pronto, os tags ja estao devidamente configurados e associados a interface física fxp0. Agora, atribua os endereços ips nas interfaces vlans.
# ifconfig vlan5 192.168.5.1 netmask 255.255.255.0 up # ifconfig vlan10 192.168.10.1 netmask 255.255.255.0 up # ifconfig vlan15 192.168.15.1 netmask 255.255.255.0 up # ifconfig vlan20 192.168.20.1 netmask 255.255.255.0 up A saída do ifconfig ficará como mostrado abaixo:
vlan5: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.5.1 netmask 0xffffff00 broadcast 192.168.5.255 inet6 fe80::203:47ff:fe07:63ff%vlan20 prefixlen 64 scopeid 0xb ether 00:0a:5e:53:f8:ec media: Ethernet autoselect (100baseTX <full-duplex>) status: active vlan: 5 parent interface: fxp0
vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255 inet6 fe80::203:47ff:fe07:63ff%vlan20 prefixlen 64 scopeid 0xb ether 00:0a:5e:53:f8:ec media: Ethernet autoselect (100baseTX <full-duplex>) status: active vlan: 10 parent interface: fxp0 vlan15: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.15.1 netmask 0xffffff00 broadcast 192.168.15.255 inet6 fe80::203:47ff:fe07:63ff%vlan20 prefixlen 64 scopeid 0xb ether 00:0a:5e:53:f8:ec media: Ethernet autoselect (100baseTX <full-duplex>) status: active vlan: 15 parent interface: fxp0 vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.20.1 netmask 0xffffff00 broadcast 192.168.20.255 inet6 fe80::203:47ff:fe07:63ff%vlan20 prefixlen 64 scopeid 0xb ether 00:0a:5e:53:f8:ec media: Ethernet autoselect (100baseTX <full-duplex>) status: active vlan: 20 parent interface: fxp0 Nossas configurações já estão prontas, todas as int vlans configuradas com as tags associadas e com a interface física fxp0 devinida. Agora vamos colocar nossas configurações no rc.conf para nao perde-las quando o FreeBSD for rebootado. Adicionar no arquivo /etc/rc.conf as entradas abaixo: cloned_interfaces="vlan5 vlan10 vlan15 vlan20" ifconfig_vlan5="inet 192.168.5.1 netmask 255.255.255.0 vlan 5 vlandev fxp0" ifconfig_vlan10="inet 192.168.10.1 netmask 255.255.255.0 vlan 10 vlandev fxp0" ifconfig_vlan15="inet 192.168.15.1 netmask 255.255.255.0 vlan 15 vlandev fxp0" ifconfig_vlan20="inet 192.168.20.1 netmask 255.255.255.0 vlan 20 vlandev fxp0" Nossa configuração está concluída no lado do FreeBSD, vou colocar a configuração que deve ser realizada switchs cisco catalyst com o IOS mensionado abaixo: Cisco Catalyst – IOS 12.2(25)SEE2 Logue no switch com seu usuário e senha, entre em modo enable: Switch# enable Defina uma porta onde será conectado o FreeBSD com as nossas interfaces vlans, no nosso exemplo vamos escolher a porta FastEthernet 1. Entre em como de configuração Switch# configure terminal Switch (config)# interface FastEthernet 1/0/1 Lembrando que a interface pode variar conforme o modelo do switch. Switch (config-if)# switchport trunk encapsulation dot1q Switch (config-if)# switchport mode trunk Switch (config-if)# switchport trunk allowed vlan 5,10,15,20 Switch (config-if)# description “DESCRIÇÃO DA PORTA” Com estas configurações na porta estamos deixando apenas trafegar as vlans 5, 10, 15 e 20, caso queira adicionar mais uma vlan no trunk do switch, utilize o comando abaixo: Switch (config-if)# switchport trunk allowed vlan add 25 Adicionamos a vlan 25 na porta do switch. Configure o restante das portas do switch em mode access conforme mensionado abaixo: Switch (config-if)# interface FastEthernet 1/0/2 Switch (config-if)# switchport mode access Switch (config-if)# switchport access vlan 5 Com isso a porta dois consequirá conversar com a interface vlan 5 do FreeBSD através da porta 1 do switch que esta configurada em mode trunk. Faça o mesmo com as outras portas definindo a vlan que deve ser acessada pela porta. Com isto finalizamos nosso how-to, espero ter ajudado, este tipo de configuração normalmente é utilizado em firewalls e roteadores, faça um calculo de tráfego para nao ter gargalo físico na placa de rede, se o tráfego for grande em cada vlan utilize uma placa gigabit de boa qualidade. Dúvidas por favor entrem em contato: Nome: Marcelo Lima Email:
Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
MSN:
Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
CCNP – Cisco Certified Network Processional NCDE – Nortel Certification Design Exper |