Comitê Gestor da Internet no Brasil Seu IP: 38.107.179.244 CGI.br Registro CERT.br

Sítio web não compatível com IPv6 Este sítio web funciona com IPv6. Se o globo estiver girando, você também já usa IPv6!




Artigo

Túneis 6to4


Escrito por Ailton Soares Rocha e Rodrigo Regis dos Santos


Partilhar


  

Índice do Artigo

  

Túneis 6to4
Exemplos de cenários
    - Comunicação Cliente 6to4 com Cliente 6to4 em redes diferentes
    - Comunicação Cliente/Roteador 6to4 com Servidor IPv6
    - Comunicação Cliente 6to4 com Servidor IPv6
Implementação
    - Cliente/Roteador
    - Roteador
    - Relay Roteador
Segurança


Relay Roteador

Para o Relay é necessário que uma das interfaces já tenha conectividade IPv6 e IPv4, depois disso é só configurar a interface virtual 6to4.

Linux

Ubuntu e Debian:

Para criar a interface virtual 6to4 edite o arquivo /etc/network/interfaces inserindo as seguintes linhas:

auto sit0
iface sit0 inet6 static
        # endereço IPv4 convertido para 6to4/IPv6 
        address 2002:c000:0203::1
        netmask 16
Ative o roteamento IPv6, editando o arquivo /etc/sysctl.conf e adicione a seguinte linha:
net.ipv6.conf.default.forwarding=1
Para utilizar o endereço de anycast no Relay, temos que criar uma interface virtual com o endereço IPv4 192.88.99.1, acrescentando as seguintes linhas no arquivo /etc/network/interfaces:
Auto eth0:0
iface eth0:0 inet static
address 192.88.99.1
netmask 255.255.255.0
Para finalizar, faça a divulgação via BGP do endereço anycast (caso você o tenha utilizado) na Internet IPv4 e da rota para a rede 2002::/16 (rota para a rede 6to4) na Internet IPv6.

Freebsd

Edite o arquivo /etc/rc.conf e insira as seguintes linhas, ajustando os itens em vermelho de acordo com a configuração da sua rede:

#### IPv4 #####
# interface conectada à Internet IPv4
ifconfig_lnc0="inet 200.150.100.100  netmask 255.255.255.0"

# gateway para acesso à Internet IPv4
defaultrouter="200.150.100.65"

#### IPv6 #####
# habilita o suporte ao IPv6
ipv6_enable="YES"

# Interfaces conectada à internet IPv6
ipv6_network_interfaces="auto"

# Ativa o roteamento entre as interfaces IPv6/IPv4/6to4
ipv6_gateway_enable="YES"

# gateway para acesso à Internet IPv6
ipv6_defaultrouter="2001:34ff:20:5002::1"

# IPv6 da interface conectada a Internet IPv6
ipv6_ifconfig_lnc1="2001:34ff:20:8002::100 prefixlen 64"

# Interface padrão de conexão à Internet IPv6
ipv6_default_interface="lnc1"

#### 6to4 #####
# Habilita a comunicação de endereços IPv4 mapeados para IPv6
ipv6_ipv4mapping="YES"

# É o endereço IPv4 da interface conectada à
# Internet IPv4, e que será utilizado
# na definição do endereço da interface 6to4
stf_interface_ipv4addr="200.150.100.100"

# Número final do IP a ser utilizado na interface
# virtual 6to4.
stf_interface_ipv6_ifid="0:0:0:1"
Para utilizar o endereço de anycast no Relay, é preciso criar uma interface virtual com o endereço IPv4 192.88.99.1, acrescentando as seguintes linhas no arquivo /etc/rc.conf:
# adiciona o IPv4 de anycast à interface conectada à
# Internet IPv4
ifconfig_lnc0_alias0="192.88.99.1 netmask 255.255.255.0"
Para finalizar, faça a divulgação via BGP do endereço anycast (no caso de você utilizá-lo) na Internet IPv4 e da rota para a rede 2002::/16 (rota para a rede 6to4) na Internet IPv6.

Cisco(IOS 12.3)

Relay Roteador Privado

Para configurar o Relay Roteador privado é necessário:

Ativar o roteamento e o IPv6 utilizando o seguinte comando:

Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# ipv6 unicast-routing
Configurar o IPv4 da interface conectada à Internet IPv4:
Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# interface FastEthernet 0/0
Router-6to4(config-if)# description 6to4 Relay Service
Router-6to4(config-if)# ip address 200.1.2.3 255.255.255.0
Configurar o IPv6 da interface conectada à Internet IPv6:
Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# interface FastEthernet 0/0
Router-6to4(config-if)# description Internet IPv6
Router-6to4(config-if)# ipv6 address 2001:12ee:0:3333::50/64
Criar a rota para a Internet IPv6:
Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# ipv6 route ::/0 2001:12ee:0:3333::1
Criar a rota para a Internet IPv4:
Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# ip route :0.0.0.0  0.0.0.0 200.1.2.1
Desabilitar o router advertisement na interface IPv6:
Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# interface FastEthernet 0/0
Router-6to4(config-if)# ipv6 nd suppress-ra
Configurar a interface virtual 6to4 com o IPv6 criada a partir do endereço público IPv4 convertido para hexadecimal:
Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# interface Tunnel2002
Router-6to4(config-if)# description 6to4 Relay Interface
Router-6to4(config-if)# no ip address
Router-6to4(config-if)# no ip redirects
Router-6to4(config-if)# ipv6 address 2002:c801:0203::1/128
Router-6to4(config-if)# tunnel source FastEthernet 0/0
Router-6to4(config-if)# tunnel mode ipv6ip 6to4
Criar a rota para o prefixo 2002::16 da rede 6to4:
Router-6to4> enable
Router-6to4# config terminal
Router-6to4(config)# ipv6 route 2002::/16 Tunnel2002
E por fim, gravar a configuração:
Router-6to4# write
Relay Roteador Público

Para configurar um Relay Roteador público, é necessário divulgar o endereço anycast 192.88.99.1 na Internet IPv4 via BGP.

Também é necessário converter o endereço IPv4 da interface conectada à Internet IPv4 para o formato 6to4/IPv6:

Exemplo de conversão do IPv4 207.192.20.30 para IPv6/6to4:

# printf "2002:%02x%02x:%02x%02x::\n" 207 192 20 30
Converta o endereço IPv4 do Relay 6to4 para o formato 6to4/IPv6:

Exemplo de conversão do IPv4 192.88.99.1 para IPv6/6to4:

# printf "2002:%02x%02x:%02x%02x::\n" 192 88 99 1
Coloque a seguinte configuração no roteador alterando os itens em vermelho de acordo com a sua configuração de sua rede:
ip cef
ip name-server 123.123.123.2

#  Ativa o roteamento e o IPv6
ipv6 unicast-routing
ip classless
!
interface FastEthernet0/0
 description Interface de Relay 6to4 Anycast

# Desabilita o router advertisement na interface
 ipv6 nd suppress-ra

# endereço anycast 6to4
 ip address 192.88.99.1 255.255.255.0 secondary 

# Endereço IPv4 público
 ip address 123.123.123.3 255.255.255.0

# Endereço IPv4 público convertido para IPv6 6to4
 ipv6 address 2002:7f7f:7f03::1/128
 ipv6 mtu 1480
 no shutdown
!
interface FastEthernet1/1
 description Interface IPv6

# Endereço IPv6 nativo
 ipv6 address 2001:1fff:2fff:8002::100/64
 ipv6 mtu 1480
 ipv6 nd suppress-ra # Desabilita o router advertisement na interface
 no shutdown
!
interface Tunnel2002
 description Interface virtual para encapsulamento 6to4
 no ip address
 no ip redirects

# endereço anycast 192.88.99.1 convertido para IPv6/6to4
 ipv6 address 2002:C058:6301::/128
 tunnel source FastEthernet0/0
 tunnel mode ipv6ip 6to4
 tunnel path-mtu-discovery

# Desabilita o router advertisement na interface
 ipv6 nd suppress-ra
 no shutdown
!
!

# Rota padrão para a Internet IPv4
ip route 0.0.0.0 0.0.0.0 123.123.123.1

# Rota padrão para rede 6to4
ipv6 route 2002::/16 Tunnel2002

# Rota padrão para Internet IPv6
ipv6 route ::/0 2001:1fff:2fff:8002::1
Para tornar este Relay um ponto de acesso público da rede IPv6 à rede 6to4, é necessário que se faça a seguinte configuração para ativar a divulgação do prefixo 2002::/16 via BGP na rede IPv6:
Router-6to4(config)# router bgp myASN
Router-6to4(config-router)#no bgp default ipv4-unicast
Router-6to4(config-router)# bgp log-neighbor-changes
Router-6to4(config-router)# neighbor remotepeer_IPv6_address remote-as remoteASN
Router-6to4(config-router)# neighbor remotepeer_IPv6_address description Peer to remoteISP
Router-6to4(config-router)# address-family ipv6
Router-6to4(config-router)# neighbor remotepeer_IPv6_address activate
Router-6to4(config-router)# neighbor remotepeer_IPv6_address route-map remoteISP_in in
Router-6to4(config-router)# neighbor remotepeer_IPv6_address route-map remoteISP_out out
Router-6to4(config-router)# network my_IPv6_prefix
Router-6to4(config-router)# network 2002::/16
Router-6to4(config-router)# exit-address-family

Router-6to4(config-router)# ipv6 route 2002::/16 Null0

Router-6to4(config-router)# ipv6 prefix-list 6to4_prefix seq 5 permit 2002::/16

Router-6to4(config-router)# route-map remoteISP_out permit 10
Router-6to4(config-router)# match ipv6 address prefix-list 6to4_prefix
Onde os campos em vermelho devem ser alterados de acordo com a sua estrutura de rede.

Para anunciar o acesso via anycast 192.88.99.0/24 para os seus usuários utilizando OSPF, utilize a seguinte configuração:

Router-6to4(config-router)# router ospf 1
Router-6to4(config-router)# log-adjacency-changes
Router-6to4(config-router)# auto-cost reference-bandwidth 10000
Router-6to4(config-router)# network 192.88.99.0 0.0.0.255 area 0

Última atualização 28/11/2008 15h09

Comentários     +  

Seu nome: (max. 35 letras)


Comentário: (max. 2500 caracteres)


Verificação: (se estiver ilegível, clique na imagem)


   


   Licença:  Creative Commons Atribuição 2.5 Brasil (salvo seja especificada outra)     Válido:  XHTML 1.0 -  CSS 3