Mostrando postagens com marcador Linux. Mostrar todas as postagens
Mostrando postagens com marcador Linux. Mostrar todas as postagens

quinta-feira, 15 de novembro de 2012

Configurando Túnel Teredo no Linux para acessar sites IPv6


Durante os meus estudos sobre IPv6 fui procurar um meio para acessar sites IPv6 a partir da minha estação de trabalho utilizando Linux, porem surgiram algumas questões:

Como eu poderia acessar sites IPv6, se a minha estação de trabalho está com endereço IPv4 e por trás de um NAT?
Como fazer este acesso, se o meu endereço público (global interno) é IPv4? Ou melhor, se o meu ISP tem uma rede IPv4?
Bom, a resposta é utilizar um túnel Teredo!

Teredo é um mecanismo que permite conectividade IPv6 para hosts com endereços IPv4 mesmo que estejam conectados na Internet por meio de NAT. Esta técnica realiza o encapsulando datagramas IPv6 dentro de pacotes IPv4 utilizando UDP (User Datagram Protocol).

Para estabelecer um túnel Teredo é preciso que uma estação de trabalho se conecte a um servidor Teredo que irá fornecer um endereço IPv6 e determinar qual o tipo de NAT que está sendo utilizado na conexão. Os endereços Teredo iniciam com o prefixo 2001:0::/32.
    
Após definido o endereço IPv6 da estação de trabalho, o servidor Teredo estabelecerá uma conexão inicial com o host IPv6 de destino, este host manterá a conexão com a estação de trabalho de origem através de um Relay Teredo mais próximo.

Antes de fazermos o acesso a redes IPv6 utilizando um túnel Teredo, tente acessar o site do Google em IPv6: http://ipv6.google.com (como este site possui endereço IPv6 o acesso não será realizado neste primeiro momento).

Para realizar um túnel Teredo no Linux é preciso instalar o pacote “miredo”, iniciar o túnel, verificar se o túnel subiu, verificar se a estação recebeu um endereço Teredo IPv6 e realizar os testes. Segue os passos de configuração e testes:

1) Instalar o pacote “miredo”
# apt-get install miredo

2) Iniciar o túnel
# /etc/init.d/miredo start
* Podem ser utilizados as seguintes instruções para gerenciar o túnel {start|stop|restart|reload|force-reload}

3) Após iniciar o túnel é criado uma interface com nome de “teredo”
# ifconfig teredo
*Veja que o endereço IPv6 já aparece começando com o prefixo 2001:0::/32

4) Realize um ICMP versão 6 para o site: ipv6.google.com
Ping6 ipv6.google.com 

5) Abra o navegador e tente acessar os sites:

http://ipv6.google.com ou http://[2800:3F0:4001:C00:0:0:0:68]
http://www.ipv6.br ou   http://[2001:12ff:0:4:0:0:0:22]
http://he.net ou http://[2001:470:0:76:0:0:0:2] 
http://tunnelbroker.net ou http://[2001:470:0:63:0:0:0:2]
Obs: Em IPv6 para acessarmos páginas web utilizando o endereço IPv6 é preciso colocar o endereço do IPv6 entre [ ].

Legal! Agora você já pode acessar sites e serviços IPv6. Caso queira fazer um teste da sua conexão IPv6 acesso o site: http://test-ipv6.com
Se você quer ver uma lista de sites que já são acessíveis em IPv6 acesse: http://www.ipv6forum.com/ipv6_enabled/approval_list.php

Para validar se um site está alcançável em IPv6 ou para saber o seu endereço IPv6 acesse: http://validador.ipv6.br 

Os túneis Teredo são umas das únicas opções de comunicação IPv6 que trabalham através de NAT, porem devido a sua complexidade e overhead, esta técnica possui um desempenho inferior quando comparado as outras técnicas de tunelamento.

Nos próximos artigos vamos abordar a técnica Teredo com mais detalhes e bem como descrever mais sobre técnicas de tunelamento e de transição de redes IPv4 para IPv6.

Logo abaixo postei um vídeo contendo as configurações e testes do túnel de Teredo acima.

Assista abaixo um vídeo sobre o assunto

Sobre o Autor:
Rodrigo Salvo
Instrutor e Consultor de Network
Possui certificações: CCNP, CS-CIPCESS
rsalvo@prof.sc.senac.br
msn: rodrigo-salvo@hotmail.com
Fonte: www.debian-administration.org, www.ipv6.br e en.wikipedia.org
Site: http://www.ti-redes.com/ipv6/tunel-teredo-linux/

Comandos Básicos do Linux para Redes


Configuração de endereço IPv4 fixo

ifconfig eth0 192.168.1.1 netmask 255.255.255.0  (configura um ip manualmente)
ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 (configura um alias, um segundo endereço ip)
ifconfig eth0.1 192.168.1.1 netmask 255.255.255.0  (configura IP com dot1.q)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
ifconfig eth0 down (desativa a placa de rede)
ifconfig eth0 up (ativa a placa de rede)

Configuração de gateway IPv4  fixo

route add default gw 192.168.10.10 (configura um gateway)
route (mostra se o gateway foi configurado)

Configuração de endereço IPv4 fixo pelo arquivo de configuração

Edite o arquivo de configuração “interfaces”, reinicie a interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração de interfaces de rede)
# Configuração IPv4 fixo na eht0
#allow-hotplug eth0 (Quando o kernel detecta a interface física faz com que mesma levante. Está comentada e não habilitada. Pode ser utilizada ao invéz de "auto")

auto eth0    (configuração é iniciada após o restart)
iface eth0 inet static   (configura ainterface eth0 para ip estático)
address 192.168.1.1 (configura o endereço ip)
netmask 255.255.255.0 (configura a masrcara)
broadcast 192.168.1.255 (configura o endereço de bradcast)
gateway 192.168.1.254 (configura o endereço de gateway)
dns-domain Lan_Senac-ti_FNS (nome da rede)
dns-nameservers 192.168.11.1
 (endereço do dns)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
route (mostra se o gateway foi configurado)

Verificar o status fisíco da interface de rede

mii-tool -v (mostra se há conectividade na NIC)

Verificar as conexões de internet ativas

netstat -putan

Verificar os processos ativos

ps aux

Configuração de endereço IPv4 dinâmico (dhcp)

dhclient eth0  (configura um ip dinâmicamente por dhcp)

Configuração de endereço IPv4 dinâmico (dhcp) pelo arquivo de configuração

Edite o arquivo de configuração “interfaces”, reinicie a interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração de interfaces de rede)
# Configuração IPv4 dinâmico na eht0
auto eth0
iface eth0 inet dhcp  (configura ainterface eth0 para cliente dhcp)
/etc/init.d/networking restart (reinicia as interfaces de rede)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
route (verifica se o gateway foi configurado)

Alteração de um endereço MAC

ifconfig eth0 hw ether 00:90:F5:75:16:27 (altera o endereço MAC da interface eth0)

Configuração de uma interface para o modo promíscuo

ifconfig eth0 promisc (configura a interface eth0 para o modo promíscuo)

ifconfig eth0 -promisc (desativa o modo promíscuo)

ifconfig eth0 | grep -i PROMISC (verifica e interface eth0 está em modo promíscuo)

Configuração de endereço IPv6 fixo

ip -6 addr add 200::1/64 dev eth0  (configura um ipv6 200::1 com mascara /64 manualmente)
ip -6 addr del 200::1/64 dev eth0  (configura um ipv6 200::1 com mascara /64 manualmente)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
ifconfig eth0 down (desativa a placa de rede)
ifconfig eth0 up (ativa a placa de rede)
ping6 ::1 (faz um icmp para o endereço ipv6 de loopback ::1, equivalente ao 127.0.0.1 do ipv4)

Configuração de endereço IPv6 fixo pelo arquivo de configuração

Edite o arquivo de configuração “networking”, reinicie a interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração de interfaces de rede)
# Configuração IPv6 fixo na eht0
auto eth0
iface eth0 inet6 static (configura ainterface eth0 para ip estático)
address 200::1 (configura o endereço ip)
netmask 64 (configura a masrcara)
gateway 200::2 
(configura o endereço de gateway)
/etc/init.d/networking restart (reinicia as interfaces de rede)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
ip -6 route show (verifica se o gateway foi configurado)

Todos os comandos postados aqui são baseados na distribuição Debian

Sobre o Autor:
Rodrigo Salvo
Instrutor e Consultor de Network
Possui certificações: CCNP, CS-CIPCESS
rsalvo@prof.sc.senac.br
msn: rodrigo-salvo@hotmail.com
Site: http://www.ti-redes.com/configuracoes-basicas/comandos-basicos-do-linux-para-redes/