login
Sat 10 of Apr, 2021 (15:18 UTC)

[root@madeira.eng.br ~]#

Linux - It is now safe to turn on your computer

atualizar cache imprimir

1

Criada por: Frederico Madeira, última modificação em: Mon 26 of Oct, 2009 (02:38 UTC)
Neste artigo, veremos como podemos desfrutar as vantagens de uma VLAN em sistemas operacionais Linux. Recomendamos a leitura de um artigo anterior, onde definimos e caracterizamos as VLANS. Ele pode ser encontrado em http://www.madeira.eng.br/wiki/index.php?page=VLAN

Por quero usar VLAN em meu servidor Linux ?

A implementação de Vlans nas redes comerciais vem se tornando uma prática adotada cada vez mais pelos administradores de redes em função dos benefícios que essa tecnologia nos proporciona.
Listo abaixo alguns exemplos de utilização dessa tecnologia em servidores Linux:

  • Como Roteador: Em uma topologia de VLAN existe dois elementos chaves: o switch e o roteador, o último garante a conectividade entre as vlans. Equipamentos com suporte aos protocolos 802.1q ou ISL custam caro, principalmente roteadores. Dessa forma, você pode configurar seu servidor Linux, como um roteador de VLAN's, usando apenas uma placa de rede que suporte o protocolo 802.1q, dessa forma você pode segmentar sua rede por setor, por áreas de produção, desenvolvimento, DMZ, etc...

  • Como Firewall: Com seu servidor atua como roteador, você pode implementar regras para a conectividade entre as redes montadas, permitindo tráfego entra a rede A e B e negado o tráfego entre a rede A e C

  • Como Proxy de Internet: Usando duas interfaces de rede, disponibilizando na primeira um link de internet e na segunda suas redes internas, onde o proxy faria o roteamento para a internet.

É muito comum, a implementação dos três exemplos acima em um mesmo servidor.

Configuração

Usaremos o aplicativo vconfig, disponível nas distribuições Linux atuais.
Vamos dar uma olhada em seu help:


[root@madeira fred]# /sbin/vconfig
Expecting argc to be 3-5, inclusive.  Was: 1

Usage: add             [interface-name] [vlan_id]
       rem             [vlan-name]
       set_flag        [interface-name] [flag-num]       [0 | 1]
       set_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]
       set_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]
       set_name_type   [name-type]

* The [interface-name] is the name of the ethernet card that hosts
  the VLAN you are talking about.
* The vlan_id is the identifier (0-4095) of the VLAN you are operating on.
* skb_priority is the priority in the socket buffer (sk_buff).
* vlan_qos is the 3 bit priority in the VLAN header
* name-type:  VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
              DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5)
* bind-type:  PER_DEVICE  # Allows vlan 5 on eth0 and eth1 to be unique.
              PER_KERNEL  # Forces vlan 5 to be unique across all devices.
* FLAGS:  1 REORDER_HDR  When this is set, the VLAN device will move the
            ethernet header around to make it look exactly like a real
            ethernet device.  This may help programs such as DHCPd which
            read the raw ethernet packet and make assumptions about the
            location of bytes.  If you don't need it, don't turn it on, because
            there will be at least a small performance degradation.  Default
            is OFF.
[root@madeira fred]#


Vamos fazer a implementação da rede abaixo:
Exemplo de VLAN.png


Os endereços usados são:

VLAN 10 – 192.168.20.32/27
IP Gateway: 192.168.20.33 / Netmask: 255.255.255.224
IP Estação A: 192.168.20.34 / Netmask: 255.255.255.224
IP Estação B: 192.168.20.35 / Netmask: 255.255.255.224

VLAN 20 – 192.168.20.64/27
IP Gateway: 192.168.20.65 / Netmask: 255.255.255.224
IP Estação C: 192.168.20.66 / Netmask: 255.255.255.224
IP Estação D: 192.168.20.67 / Netmask: 255.255.255.224

VLAN 30 – 192.168.20.96/27
IP Gateway: 192.168.20.97 / Netmask: 255.255.255.224
IP Estação E: 192.168.20.98 / Netmask: 255.255.255.224
IP Estação F: 192.168.20.99 / Netmask: 255.255.255.224

Usando a máscara /27 obtemos 30 hosts por sub-rede.

Crie o script abaixo em seu roteador Linux e coloque ele para ser iniciando junto com o sistema operacional. Pode ser inserido /etc/rc.d/rc.local.

; Para que seu linux possa encaminhar os pacotes, é necessário habilitar o IP Forward
; Habilita Forward IP - Roteamento entre VLANS
echo 1 > /proc/sys/net/ipv4/ip_forward

;Carregando as VLANS na interface local eth0
; VLAN 10 - Vendas
/usr/bin/vconfig add eth0 10
/sbin/ifconfig eth0.10 192.168.20.33 up
; VLAN 20 - Compras
/usr/bin/vconfig add eth0 20
/sbin/ifconfig eth0.20 192.168.20.65 up
; VLAN 30 - Diretoria
/usr/bin/vconfig add eth0 30
/sbin/ifconfig eth0.30 192.168.20.97 up

; Definicao das rotas
; Vendas
route add -net 192.168.20.32 netmask 255.255.255.224 dev eth0.10
; Compras
route add -net 192.168.20.64 netmask 255.255.255.224 dev eth0.20
; Diretoria
route add -net 192.168.20.96 netmask 255.255.255.224 dev eth0.30


Depois de aplicadas essas configurações, vamos checar se as interfaces subiram:

 [root@oracleccenter fred]# /sbin/ifconfig
eth0       Encapsulamento do Link: Ethernet  Endereço de HW 00:0F:1F:FA:00:C4
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:1254527248 errors:81 dropped:0 overruns:0 frame:43
          TX packets:1267477099 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:3132849804 (2987.7 Mb)  TX bytes:2543778019 (2425.9 Mb)
          Endereço de E/S:0xdcc0 Memória:dfbe0000-dfc00000

eth0.10    Encapsulamento do Link: Ethernet  Endereço de HW 00:0F:1F:FA:00:C4
          inet end.: 192.168.20.33  Bcast: 192.168.20.63  Masc:255.255.255.224
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:588138526 errors:0 dropped:0 overruns:0 frame:0
          TX packets:587229970 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:3120340779 (2975.7 Mb)  TX bytes:3298743016 (3145.9 Mb)

eth0.20    Encapsulamento do Link: Ethernet  Endereço de HW 00:0F:1F:FA:00:C4
          inet end.: 192.168.20.65  Bcast: 192.168.20.95  Masc:255.255.255.224
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:663736143 errors:0 dropped:0 overruns:0 frame:0
          TX packets:677691818 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:1647603378 (1571.2 Mb)  TX bytes:380649883 (363.0 Mb)

eth0.30    Encapsulamento do Link: Ethernet  Endereço de HW 00:0F:1F:FA:00:C4
          inet end.: 192.168.20.97  Bcast: 192.168.20.127  Masc:255.255.255.224
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:2652516 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2555271 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:830177192 (791.7 Mb)  TX bytes:1521845585 (1451.3 Mb)

lo         Encapsulamento do Link: Loopback Local
          inet end.: 127.0.0.1  Masc:255.0.0.0
          UP LOOPBACKRUNNING  MTU:16436  Métrica:1
          RX packets:33426876 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33426876 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:2459776553 (2345.8 Mb)  TX bytes:2459776553 (2345.8 Mb)


Faça testes de ping conforme os exemplos abaixo.

Do Host A tente pingar no Host C e depois no HOST E
Do Host C tente pingar no Host A e depois no HOST E
Do Host E tente pingar no Host A e depois no HOST B

Concluímos a configuração das VLANS em nossa rede. Desse ponto em diante podemos iniciar a configuração do firewall e/ou do proxy, esses últimos não serão abordados pois não fazem parte do scopo desse artigo.

Referências:

http://linux.about.com/library/cmd/blcmdl8_vconfig.htm
http://www.candelatech.com/~greear/vlan.html
http://www.linuxhorizon.ro/vlans.html
http://www.pop-pr.rnp.br/tiki-index.php?page=Roteadores+Vlans

Comentários

Reply to this comment

TAG

por , Tue 28 of Nov, 2006 (17:31 UTC)
Uma duvida com relação ao Artigo acima. Quem irá colocar o TAG nas estações,
definindo assim de qual VLan é cada estação. Obrigado, Carlos!
Parabéns pelo Artigo
Reply to this comment

Re: TAG

por , Tue 28 of Nov, 2006 (21:34 UTC)
O que vai acontecer é que o switch vai gerenciar os tags!
As estações não vão ter tags! A interface do switch onde a estação estará conectada
estará configurada como ACCESS de uma determinada VLAN, como por exemplo Vendas!

E existe vantagem sim de se usar vlans! Pois você segmenta o domínio de broadcast!
Você aumenta a segurança! E isso não acontece somente setando um alias na
interface do linux! Conceito básico de rede!

Mas é isso ai! Espero poder ter ajudado a esclarecer alguma coisa! ;)
Bem legal o artigo! Eu aqui na minha rede tenho meu servidor linux com
algumas VLANs e funciona muito bem! ;)
Reply to this comment

Re: TAG

por , Mon 04 of Dec, 2006 (13:55 UTC)
"A interface do switch onde a estação estará conectada
estará configurada como ACCESS de uma determinada VLAN, como por exemplo Vendas"
O artigo esta dizendo exatamente o contrário, não haverá switch gerenciando nada.
Reply to this comment

Re: TAG

por , Mon 04 of Dec, 2006 (13:54 UTC)
"A interface do switch onde a estação estará conectada
estará configurada como ACCESS de uma determinada VLAN, como por exemplo Vendas"
O artigo esta dizendo exatamente o contrário, não haverá switch gerenciando nada.