A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Túneis em redes Linux

Qui

19

Abr

2007


10:36

(4 votos, média 4.50 de 5) 


Nível Avançado

Existem três tipos de túneis no Linux: IP em tunelamento IP, tunelamento GRE e túneis fora do kernel, por exemplo, PPTP.

Introdução

Os túneis podem ser usados para algumas coisas fora do comum e muito interessantes, mas também podem fazer uma bagunça horrorosa se não forem corretamente configurados. Não aponte sua rota default para um dispositivo túnel se você não souber EXATAMENTE o que está fazendo tongue Também é bom lembrar que que o tunelamento aumenta o overhead porque precisa de um conjunto extra de cabeçalhos IP. Tipicamente são 20 bytes por pacote de modo que, se o tamanho (MTU) do pacote normal numa rede for de 1500 bytes, um pacote enviado através de um túnel só pode levar 1480 bytes de dados. Isto não é necessariamente um problema, mas, se você está pensando em conectar grandes redes com túneis, informe-se sobre fragmentação/recomposição de pacotes IP para não ser pego de calça curta. Tem mais uma pequena observação: o modo mais rápido de cavar um túnel é cavando dos dois lados smile

IP em tunelamento IP

Há muito tempo este tipo de tunelamento está disponível no Linux. Ele requer dois módulos do kernel, ipip.o e new_tunnel.o.

Digamos que você tenha 3 redes: as redes internas A e B e uma rede intermediária C (que pode ser a Internet). As redes são as seguintes:

REDE A
rede     10.0.1.0
máscara  255.255.255.0
roteador 10.0.1.1
O roteador tem o endereço 172.16.17.18 na rede C.

REDE B
rede     10.0.2.0
máscara  255.255.255.0
roteador 10.0.2.1
O roteador tem o endereço 172.19.20.21 na rede C.

Referente à rede C, vamos considerar que ela passe qualquer pacote enviado de A para B e vice-versa. A Internet pode ser usada como rede C sem maiores problemas.

Para configurar um túnel IP em tunelamento IP verifique inicialmente se os módulos necessários estão instalados:

insmod ipip.o
insmod new_tunnel.o

Depois, no roteador da rede A, faça o seguinte:

ifconfig tunl0 10.0.1.1 pointopoint 172.19.20.21
route add -net 10.0.2.0 netmask 255.255.255.0 dev tunl0

Da mesma forma, no roteador da rede B:

ifconfig tunl0 10.0.2.1 pointopoint 172.16.17.18
route add -net 10.0.1.0 netmask 255.255.255.0 dev tunl0

Pronto! O túnel está operante. Quando você quiser fechá-lo, use o seguinte comando:

ifconfig tunl0 down

info Um túnel IP-in-IP não permite retransmitir broadcast nem aceita tráfego IPv6. Só é possível conectar duas redes IPv4 que normalmente não seriam capazes de se comunicar. Este tipo de túnel existe no Linux desde a versão 1.3, mas é exclusivo do pinguim - não funciona com outros sistemas operacionais ou com roteadores - mas é simples e funciona que é uma beleza. Apesar disto, só use o IP-in-IP se não tiver outro jeito (dê preferência ao túnel GRE).

Informações adicionais