23.10  
Inicio arrow Artigos arrow Configurando Interfaces VLAN no FreBSD
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notícias
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

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 endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo
MSN: Este endereço 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

Comentários
Problemas com TAG
Por Sandro em 20/12/2006 10:27:14
Marcelo, estou tentando configurar as VLANs no FreeBSD 5.1 RELEASE, porém estou tendo problemas com os 4 bytes adicionais inserido na interface REALTECK. Sei que não é uma placa de qualidade mas é o que disponho neste momento. Haveria a possibilidade do driver da REALTECK suportar mais de 1500 bytes? Caso contrário observei no seu tutorial que está utilizando uma placa da Intel, seria este o único caminho? Muito obrigado pela atenção! Abraços! Sandro.
Por snap em 20/12/2006 16:17:15
cara, valor do mtu é a interface física 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 não lembro o nome agora. Para deixar um servidor de jogo numa maquina possante com windows 2003 server. 
 
Através do ip server do jogo e da porta. O Usuário se loga no programa do jogo que é emulado em pol [uma aplicação server qtraves da porta 5003] 
 
O problema é que 24h por dia maquinas zumbis quase 200 ips aleatórios 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, [não 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?
Versão 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 serviços 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 versão de IOS 12.1 (13) e ele não aceita os parametros de configuração de encapsulamento dot1q (Como se o equipamento não desse suporte a essa configuração) e no switch concentrador (3750) ele aceita (IOS 12.2...). A pergunta é... Essa versão de IOS dá suporte a esse tipo de encapsulamento? A partir de qual versão que funciona? 
 
Desde já agradeço a atenção.
RE: Versão 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
inserção 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 números de IP eu já tenho na mão. 
Você sabe qual a forma mais simples de se fazer isso? 
Att, 
Cesar
CISCO CATALYST CE-500
Por Carlos Félix em 21/09/2007 08:14:42
Adiquiri recentemente o equipamento acima mencionado mas, não como configura-lo. Pode me dar uma dica de onde encontrar? Ah, tenho outro problema, meu Ingles é básico.....
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 segurança na
Por erivelton em 14/05/2012 22:54:55
O cenário utilizado neste trabalho será conforme a figura disponível no final deste documento. 
A rede será composta por 06 (seis) servidores de rede. 
As características de cada servidor fisicamente são 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. 
Descrição de cada servidor. 
 
BRI01 – Este servidor funcionará como uma Bridge. Ele possuirá um único número IP para fins de gerenciamento. Ele terá a configuração do firewall do tipo ABERTO. 
 
Ele será destinado no futuro a instalação de um IDS. O IDS não será configurado neste trabalho. 
 
FW01 & FW02 – Estes servidores serão destinados a serem o firewall da rede. 
 
Eles estarão com o CARP configurado além do PFSync. Ele terá a configuração do firewall do tipo ABERTO. 
MAIL, DNS e WWW – Estes servidores proverão serviços para a rede. Em cada máquina rodará somente o serviço de SSH e o respectivo serviço, email, dns/named e webserver. Todos eles terão a configuração do firewall do tipo FECHADO. 
 
Configuração dos servidores. 
 
Cada servidor possuirá 03 (três) configurações. 
1. Configuração do Kernel; 
2. Configuração das Interfaces / Rotas; 
3. Configuração do Firewall. 
 
A configuração do kernel poderá ser padrão para todos os servidores porém o nome especificado para o kernel, obrigatoriamente, será um nome DIFERENTE de “MEUKERNEL”. Como sugestão, o grupo escolherá o nome aleatório 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 inicialização que será utilizado para configurar as interfaces, rotas, nome do host e outras funcionalidades. Cada servidor possuirá um script ou arquivo de configuração para as regras do firewall e sua ativação. Se for utilizado o PF, deverá ser especificado o script de ativação do PF e o arquivo de configuração. Se for utilizado o IPFW, deverá ser especificado somente o script. Fica a critério do grupo a escolha do tipo de firewall. 
A configuração dos endereços IP de cada rede ficará a cargo do grupo. Será de responsabilidade do grupo a correta especificação dos endereços IP e sua faixa de cada rede ou do serviço destinado. O grupo trabalhará com estes IP/Portas e a configuração dos servidores e serviços de firewall basear-se-á nestes números IP´s. 
Os servidores FW01 e FW02 deverão 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. 
 
Deverão existir regras de firewall e NAT quando for necessária a fim de proteger e permitir somente os serviços. Lembre-se que os firewall dos servidores é do tipo FECHADO, ou seja, deverá existir regras permitindo a liberação das portas e/ou serviços em cada servidor de forma explícita. 
Os usuários poderão acessar a Internet e seus serviços livremente, desta forma, é necessário a configuração do NAT nos servidores FW01 e FW02. 
 
Os serviços da DMZ específico de cada servidor, poderá ser acessado de clientes que estejam na Internet. 
Cada uma das 03 (três) redes internas deverá sair por um ip real específico e diferente das demais. 
 
Hipoteticamente, vamos supor que exista um servidor de tempo (timeserver, UDP, porta 616). 
• Os Usuários, a Administração e a Gerencia de Redes terão regras que permitirá o tráfego 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 manutenção ou configuração. 
• No servidor de tempo, como o mesmo utiliza firewall do tipo fechado, o mesmo deverá possuir uma regra liberando o tráfego para a porta do timeserver, udp 616 e ssh server, tcp, porta 22. Deixar claro que é necessário uma configuração no próprio servidor e no fw01 e fw02. O tráfego para chegar à DMZ passa pelo FW01 e/ou FW02 Itens avaliados Serão avaliados os seguintes itens: 
 
• Scripts de inicialização de cada servidor; 
• Scripts de inicialização do firewall e arquivo de configuração quando necessário; 
• Regras de liberação e bloqueio nos firewall para os serviços da DMZ, Gerencia de redes, usuário e Administração; 
• Configuração do acesso, via Internet, aos serviços na DMZ; 
• Distribuição dos números IP´s e as respectivas faixas. 
Estes scripts deverão estar em formato texto e serão executados em um ambiente virtual simulando o cenário. 
 
A data limite de entrega do trabalho será dia 17 de maio de 2012 ao 
meio-dia (12h00) horário de Brasília (GMT -3).


Comente!*
Nome:
E-mail
Homepage
Título:
Comentário:

Código:* Code

Última Atualização ( 18/12/2006 )
 
< Anterior   Próximo >
FUG-BR - Espalhando BSD
Dicas Rápidas:

No editor de textos vi(1), para remover os ^M de arquivos MS-DOS (Windows), use:

:g/^V^M/s//

 

 






Wallpapers
Sua Opiniao
Online:
Nós temos 14 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

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