FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - Configurando Interfaces VLAN no FreBSD
 
08.07  
Inicio arrow Artigos arrow Configurando Interfaces VLAN no FreBSD
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Configurando Interfaces VLAN no FreBSD PDF Imprimir E-mail
Por Marcelo Lima   
16/12/2006

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

Comentrios
Problemas com TAG
Por Sandro em 20/12/2006 10:27:14
Marcelo, estou tentando configurar as VLANs no FreeBSD 5.1 RELEASE, porm estou tendo problemas com os 4 bytes adicionais inserido na interface REALTECK. Sei que no uma placa de qualidade mas o que disponho neste momento. Haveria a possibilidade do driver da REALTECK suportar mais de 1500 bytes? Caso contrrio observei no seu tutorial que est utilizando uma placa da Intel, seria este o nico caminho? Muito obrigado pela ateno! Abraos! Sandro.
Por snap em 20/12/2006 16:17:15
cara, valor do mtu a interface fsica que vai setar na int vlan para voce, nao tem como setar mtu na mao, na interface fisica sim, na interface vlan nao.
Por Felipe em 20/04/2007 01:26:19
Problema: Amigos contrataram a digiweb ou localweb no lembro o nome agora. Para deixar um servidor de jogo numa maquina possante com windows 2003 server. 
 
Atravs do ip server do jogo e da porta. O Usurio se loga no programa do jogo que emulado em pol [uma aplicao server qtraves da porta 5003] 
 
O problema que 24h por dia maquinas zumbis quase 200 ips aleatrios pacotam este ip atraves da porta 5003 e o shard de jogo trava ou cai. 
 
O DC da digiweb ou localweb diz que nao pode fazer nada quanto a isso... 
 
A equipe que contratou os servidos de host da Digiweb ou Localweb para ser a empresa de hospedagem do servidor e do site possui um servico que o usuario pode ter acesso a sua conta dentro do shard de jogo[pol] atraves da porta 5002 ou seja, ele digita logim e senha e muda configuracoes de sua conta dendo do servidor de jogo pelo site. 
 
Pergunta: existe algum programa de servidor de proxy que a equipe responsavel pelo servidor de jogo, [no a empresa de hospedagem] possa instalar e configurar no servidor para que o usuario tivesse que entrar com logim e senha no site do jogo para que seu ip fosse liberado para logar no shard de jogo[pol] evitando assim os ataques?
Verso do IOS do Switch
Por Felipe em 29/05/2007 12:02:48
Caros amigos, 
 
Estou tendo alguns problemas no que se refere ao encapsulamento dot1q, estou configurando uma rede que ir prover os servios de dados e voz e tenho que configurar a porta trunk utilizando dot1q. O problema est que o modelo dos switch's de acesso o Catalyst 2950-24 Portas, utilizando a verso de IOS 12.1 (13) e ele no aceita os parametros de configurao de encapsulamento dot1q (Como se o equipamento no desse suporte a essa configurao) e no switch concentrador (3750) ele aceita (IOS 12.2...). A pergunta ... Essa verso de IOS d suporte a esse tipo de encapsulamento? A partir de qual verso que funciona? 
 
Desde j agradeo a ateno.
RE: Verso do IOS do Switch
Por Marcelo Lima em 05/06/2007 12:48:05
Felipe, a versao 12.1 nao tem o comando trunk encapsulation dot1q, por default ele encapsula isso, usa o comando show int trunk e veja qual o tipo de encapsulamento. 
2950 fala 802.1q :) 
 
Grato
insero de ip no swithc
Por Cesar Daldosso em 21/08/2007 09:36:05
Marcelo, preciso inserir um ip no meu switch 3750 para que o pessoal qualificado nos EUA configure o mesmo. os nmeros de IP eu j tenho na mo. 
Voc sabe qual a forma mais simples de se fazer isso? 
Att, 
Cesar
CISCO CATALYST CE-500
Por Carlos Flix em 21/09/2007 08:14:42
Adiquiri recentemente o equipamento acima mencionado mas, no como configura-lo. Pode me dar uma dica de onde encontrar? Ah, tenho outro problema, meu Ingles bsico.....
Vlan nivel 03
Por Matheus Marmentini em 25/06/2009 09:44:15
Estou com um link de fibra optica com uma vlan nivel 03, 
Configurei um server linux e estou tendo perda de pacotes. 
Voce saberia me dizer se o linux ou freebsd compativel com vlan nivel 03?? 
 
Obrigado
trabalho sobre perimeto de segurana na
Por erivelton em 14/05/2012 22:54:55
O cenrio utilizado neste trabalho ser conforme a figura disponvel no final deste documento. 
A rede ser composta por 06 (seis) servidores de rede. 
As caractersticas de cada servidor fisicamente so as seguintes: 
 
BRI01 Servidor com 02 (duas) placas de rede, EM0 ligada ao roteador da rede externa e EM1 ligada ao switch da rede externa. 
 
FW01 Servidor com 04 (quatro) placas de rede, EM0 ligada ao switch da rede externa, EM1 ligado ao switch da DMZ, EM2 ligada ao roteador da rede interna e EM3 ligada ao FW02 por um cabo crossover. 
 
FW02 Servidor com 04 (quatro) placas de rede, EM0 ligada ao switch da rede externa, EM1 ligado ao switch da DMZ, EM2 ligada ao roteador da rede interna e EM3 ligada ao FW01 por um cabo crossover. 
 
MAIL Servidor com 01 (uma) placa de rede, EM0 ligada ao switch da DMZ da rede interna. 
 
DNS Servidor com 01 (uma) placa de rede, EM0 ligada ao switch da DMZ da rede interna. 
 
WWW Servidor com 01 (uma) placa de rede, EM0 ligada ao switch da DMZ da rede interna. 
Descrio de cada servidor. 
 
BRI01 Este servidor funcionar como uma Bridge. Ele possuir um nico nmero IP para fins de gerenciamento. Ele ter a configurao do firewall do tipo ABERTO. 
 
Ele ser destinado no futuro a instalao de um IDS. O IDS no ser configurado neste trabalho. 
 
FW01 & FW02 Estes servidores sero destinados a serem o firewall da rede. 
 
Eles estaro com o CARP configurado alm do PFSync. Ele ter a configurao do firewall do tipo ABERTO. 
MAIL, DNS e WWW Estes servidores provero servios para a rede. Em cada mquina rodar somente o servio de SSH e o respectivo servio, email, dns/named e webserver. Todos eles tero a configurao do firewall do tipo FECHADO. 
 
Configurao dos servidores. 
 
Cada servidor possuir 03 (trs) configuraes. 
1. Configurao do Kernel; 
2. Configurao das Interfaces / Rotas; 
3. Configurao do Firewall. 
 
A configurao do kernel poder ser padro para todos os servidores porm o nome especificado para o kernel, obrigatoriamente, ser um nome DIFERENTE de MEUKERNEL. Como sugesto, o grupo escolher o nome aleatrio de uma empresa e usar como base. Por exemplo se a empresa for Industrias ACME, o servidor de e-mail poderia ter o nome do Kernel como sendo 
ACME-MAIL ou MAIL-ACME ou ainda MAILACME. Use a criatividade. 
 
Cada servidor possuir um script de inicializao que ser utilizado para configurar as interfaces, rotas, nome do host e outras funcionalidades. Cada servidor possuir um script ou arquivo de configurao para as regras do firewall e sua ativao. Se for utilizado o PF, dever ser especificado o script de ativao do PF e o arquivo de configurao. Se for utilizado o IPFW, dever ser especificado somente o script. Fica a critrio do grupo a escolha do tipo de firewall. 
A configurao dos endereos IP de cada rede ficar a cargo do grupo. Ser de responsabilidade do grupo a correta especificao dos endereos IP e sua faixa de cada rede ou do servio destinado. O grupo trabalhar com estes IP/Portas e a configurao dos servidores e servios de firewall basear-se- nestes nmeros IPs. 
Os servidores FW01 e FW02 devero ser configurados com o sistema CARP somente para a interface INTERNA (rede interna). O servidor master ser o FW01. Se o FW01 cair, o FW02 dever assumir. Quando o FW01 retornar, ele voltar a ser master e o FW02 voltar a ser slave. 
 
Devero existir regras de firewall e NAT quando for necessria a fim de proteger e permitir somente os servios. Lembre-se que os firewall dos servidores do tipo FECHADO, ou seja, dever existir regras permitindo a liberao das portas e/ou servios em cada servidor de forma explcita. 
Os usurios podero acessar a Internet e seus servios livremente, desta forma, necessrio a configurao do NAT nos servidores FW01 e FW02. 
 
Os servios da DMZ especfico de cada servidor, poder ser acessado de clientes que estejam na Internet. 
Cada uma das 03 (trs) redes internas dever sair por um ip real especfico e diferente das demais. 
 
Hipoteticamente, vamos supor que exista um servidor de tempo (timeserver, UDP, porta 616). 
Os Usurios, a Administrao e a Gerencia de Redes tero regras que permitir o trfego no sentido de cada rede para o servidor de tempo situado na DMZ. 
A rede de Gerencia de Redes adicionalmente dever ter acesso ao SSH do servidor de tempo para manuteno ou configurao. 
No servidor de tempo, como o mesmo utiliza firewall do tipo fechado, o mesmo dever possuir uma regra liberando o trfego para a porta do timeserver, udp 616 e ssh server, tcp, porta 22. Deixar claro que necessrio uma configurao no prprio servidor e no fw01 e fw02. O trfego para chegar DMZ passa pelo FW01 e/ou FW02 Itens avaliados Sero avaliados os seguintes itens: 
 
Scripts de inicializao de cada servidor; 
Scripts de inicializao do firewall e arquivo de configurao quando necessrio; 
Regras de liberao e bloqueio nos firewall para os servios da DMZ, Gerencia de redes, usurio e Administrao; 
Configurao do acesso, via Internet, aos servios na DMZ; 
Distribuio dos nmeros IPs e as respectivas faixas. 
Estes scripts devero estar em formato texto e sero executados em um ambiente virtual simulando o cenrio. 
 
A data limite de entrega do trabalho ser dia 17 de maio de 2012 ao 
meio-dia (12h00) horrio de Braslia (GMT -3).


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 18/12/2006 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:

Partição encheu e não sabe o motivo? Descubra com:

du -s /usr/* | sort -n

 






Wallpapers
Sua Opiniao
Online:
Ns temos 25 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.