ROTEIRO PRÁTICO DE MECANISMOS DE TRANSIÇÃO: TUNELAMENTO 6TO4 O objetivo desta prática é mostrar como o mecanismo de transição 6to4 permite que redes IPv6 isoladas, isto é, sem conectividade com um ISP, consigam se comunicar através da. sudo iptables -t nat -A POSTROUTING -j MASQUERADE Após digitar esses comandos feche o terminal. Utilize um novo terminal para lançar as máquinas virtuais, senão você irá receber mensagens de erro temporárias "send_sock sending to fd 4 Resource temporarily unavailable" que geralmente ficam escondidas. Para poder utilizar o mecanismo de transição 6to4, uma organização precisa usar o espaço de endereçamento com o prefixo 2002::/16. Isso é necessário, pois se subentende que qualquer host que use esse prefixo só é acessível através de tunelamento. No ambiente DVD e no ambiente do novo servidor espec não é necessário instalar nenhum pacote, pois todos já estão instalados. 1. APRESENTAÇÃO DO CENÁRIO O mecanismo 6to4 é o mais comum entre os mecanismos de transição do IPv6, pois ele permite construir redes sem a necessidade de requisitar blocos de endereços públicos junto as autoridades de registro. DIFERENÇAS NO ROTEIRO EM RELAÇÃO A IMAGEM DO DVD NLA = 2002:aabb:ccdd::/48.1 NLA = 2002:xxyy:wwzz::/48.2 1 2 3 Este roteiro foi desenvolvido para ser executado primariamente no servidor espec. Os alunos que utilizam a imagem do DVD também podem fazê-lo, mas com algumas pequenas diferenças no início da prática. Ao executar os comandos, observe a seguinte notação: Os comandos dentro de blocos com borda de linha simples devem ser executados em qualquer ambiente. Os comandos dentro de blocos com borda de linhas múltiplas só devem ser executados no ambiente do servidor espec. IPv6 - IPv6 IPv6 =aa.bb.cc.dd =xx.yy.ww.zz O cenário desta prática está ilustrado na Figura. Duas organizações A e B, possuem redes inteiramente IPv6, configuradas com os endereços de tunelamento automático do tipo 6to4. Ambas as organizações estão conectadas a através de roteadores que possuem uma interface interna IPv6 e outra externa. O NLA das organizações é definido de acordo com o endereço da interface externa de seu roteador (Denominado V4ADDR), seguindo a notação: NLA = 2002:V4ADDR::/48. Os comandos dentro de blocos com borda de linhas em negrito devem ser executados apenas no ambiente do DVD. Nesse cenário cada empresa possui apenas um único site, definido pelo SLA: INICIALIZAÇÃO DO AMBIENTE DO DVD No ambiente DVD é necessário digitar os seguintes comandos no terminal do ambiente host antes de iniciar a prática: sudo /etc/init.d/conftap.sh sudo iptables -F sudo services sshd restart SLA = NLA:1::/64 ou SLA = 2002:V4ADDR:1::/64. O roteador de ambas as organizações emite mensagens de " " para o hosts localizados em sua rede. Essa mensagem contém o prefixo do site, e o host ao recebê-la cria automaticamente um endereço IP adicionando seu MAC (expandido com os bytes FF:FE para completar 64 bits) ao prefixo do site. Para realizar esta prática será necessário configurar 4 máquinas virtuais:,, e.
2. MECANISMO 6TO4 E INTERFACE DE TUNELAMENTO pacote IPv6 para o SLA interno Decisões de Roteamento pacote IPv6 para 2002::/16 externo pacote Outros comandos úteis para administrar a interface de tunelamento: Remove rotas: ip -6 route flush dev Derruba a interface: ip link set dev down Remove a interface: ip tunnel del 3. CONFIGURAÇÃO DO ROTEADOR DA ORGANIZAÇÃO A ().1 GE Pacote IPv6 SLA::1/64 SLA::1/16 20.13.14.1/8 Pacote Pacote IP4 - IPv6 IPv6 SLA = 2002:140D:0E01:1::/64 IPv6.1 A figura ilustra como deve ser configurado o mecanismo 6to4 em um roteador G. A interface física.1 representa a conexão com uma rede interna da organização, puramente IPv6. A interface física representa uma conexão com a. O mecanismo 6to4 é realizado através de uma interface virtual, "não física", do tipo tunelamento. A interface de tunelamento é um recurso nativo do Linux, que tem inúmeras aplicações, dentre as quais, a criação de VPNs (s Virtuais Privadas). Na figura, essa interface é denominada "". Os comandos para criar a interface de tunelamento, ativar a interface e atribuir um endereço IP são os seguintes: ip tunnel add mode sit ttl <ttl> remote any local <localipv4address> ip -6 addr add <local6to4address>/16 dev O primeiro comando cria a interface de tunelamento, e indica que os pacotes devem ser tunelados usando o endereço de origem <localipv4address>, que deve ser o endereço da interface, isto é, para o exemplo da figura: 20.13.14.1 Observe que o endereço <local6to4address> é o mesmo da Interface, mas com o prefixo /16 ao invés de /64. Isto é necessário, pois essa interface precisa estar associada a todas as rotas para redes 2002::/16, enquanto que a interface.1 está associada apenas ao SLA do site interno, isto é, 2002:140D:0E01:1::/64. =SLA::1/64 =20.13.14.1/8 #!/bin/bash ipv4="20.13.14.1" $ipv4 ip -6 addr add $nla:1::1/16 dev vconfig add 1 ip link set dev.1 up ip -6 addr add $nla:1::1/64 dev.1 sysctl net.ipv6.conf.all.forwarding=1 O pacote ipv6trans.tar.gz inclui o script ipv6.sh, que é mostrado na figura acima. As linhas iniciais do script convertem automaticamente o endereço para hexadecimal, a fim de determinar o NLA da organização. ipv4="20.13.14.1" O prefixo do site (SLA) é definido como nla:1::/48 e o endereço IPv6 do roteador é nla:1::1/64. Na Espec: Coloque o pacote com o script no seu diretório home. Em seguida, crie uma máquina virtual para representar o roteador wget espec.ppgia.pucpr.br/jam_pacotes/ipv6trans.tar.gz tar -xzf ipv6trans.tar.gz linux32.redes
Na VM : Configure um endereço na interface e efetue o download do pacote. Cuidado para substituir os número 13.14 pelo seu código de matrícula (o script supõe a matricula (101) 11 12 13 14-1). o prefixo do site da organização B serão diferentes em relação a organização A (que possui o V4ADDR 20.13.14.1). Na Espec: Crie uma máquina virtual para representar o roteador ifconfig 20.13.14.1/8 scp login@20.0.0.1:ipv6/ipv6.sh. O login é rss (senha pucpos) na imagem do DVD. No servidor espec, o login e senha são os mesmos que você utilizou para se conectar remotamente ao servidor. Na VM : Altere o script ipv6.sh substituindo a variável pelo utilizado no seu roteador. Em seguida execute o script. vi ipv6.sh<enter><ins>... alterar script... <ESC>:wq<ENTER>./ipv6.sh 4. CONFIGURAÇÃO DO ROTEADOR DA ORGANIZAÇÃO B () linux32.redes Na VM : Configure um endereço na interface e transfira o script de configuração de. Cuidado para substituir os número 13.14 pelo seu código de matrícula (o script supõe a matricula (101) 11 12 13 14-1). ifconfig 20.13.14.2/8 scp login@20.0.0.1:ipv6/ipv6.sh. Na VM : Altere o script ipv6.sh substituindo a variável pelo utilizado no seu roteador. Em seguida execute o script. vi ipv6.sh<enter><ins>... alterar script... <ESC>:wq<ENTER>./ipv6.sh 5) CONFIGURAÇÃO DO ROUTER ADVERTISEMENT NO ROTEADOR DA EMPRESA IPv6.2 =SLA::1/64 =20.13.14.2/8 #!/bin/bash ipv4="20.13.14.2" $ipv4 ip -6 addr add $nla:1::1/16 dev vconfig add 1 ip link set dev.1 up ip -6 addr add $nla:1::1/64 dev.1 sysctl net.ipv6.conf.all.forwarding=1 A configuração de é idêntica a. O pacote ipv6trans.tar.gz inclui o script ipv6.sh, que é mostrado na figura acima. Observe que, como o endereço de foi alterado para 20.13.14.2, automaticamente o nla e A configuração do arquivo "radvd.conf" para o anúncio de prefixos no formato 6to4 para ambos os roteadores e segue o formato indicado nas figuras. Observe que ambos os arquivos são idênticos, diferindo apenas na interface. O arquivo radvd.conf da organização A () é ilustrado abaixo. O prefixo anunciado será 2002:WWXX:YYZZ:1::/64, onde WW.XX.YY.ZZ é o endereço de.1. interface.1 { AdvSendAdvert on; prefix 0:0:0:1::/64 { AdvOnLink on; AdvAutonomous on; AdvAddr on; Base6to4Interface ; route ::/0 { AdvRouteLifetime 90; O arquivo radvd.conf da organização B () é ilustrado abaixo.
interface.2 { AdvSendAdvert on; prefix 0:0:0:1::/64 { AdvOnLink on; AdvAutonomous on; AdvAddr on; Base6to4Interface ; route ::/16 { AdvRouteLifetime 90; Os prefixos 6to4 são definidos no formato 0:0:0:site::/64. O primeiro zero recebe automaticamente o prefixo 2002. O segundo e terceiro zeros são definidos a partir do endereço da interface definida pela opção de prefixo Base6to4Interface. Na VM : Edite o arquivo /etc/radvd.conf conforme a figura, alterando a interface para.1, e ative o deamon. substituir as ocorrências do IP 20.13.14.X pelo seu código de matrícula. Na Espec: Criar a VM correspondente a. linux32.redes Em : Crie e habilite a interface de VLAN. vconfig add 1 ifconfig.1 up Na Espec: Criar a VM correspondente a. linux32.redes Em : Crie e habilite a interface de VLAN. vconfig add 2 ifconfig.2 up cd /root/ipv6trans vi radvd.conf <INS> alterar interface... <ESC> :wq radvd -C radvd.conf 7) TESTES NLA = 2002:140D:0E02::/48 Na VM : Edite o arquivo /etc/radvd.conf conforme a figura, alterando a interface para.2, e ative o deamon. cd /root/ipv6trans vi radvd.conf <INS> alterar interface... <ESC> :wq radvd -C radvd.conf.1.2 =20.13.14.1 20.13.14.2 6) CONFIGURAÇÃO DOS HOSTS NLA = 2002:140D:0E02::/48 Na VM : Salve as rotas do roteador e verifique se o roteador está enviando mensagens de router advertisement:.1.2 > route -n -A inet6 > rotasge1.txt > radvdump<enter>... aguardar o aparecimento do resumo das mensagens, encerrar o programa e sair para o prompt digitando <CRTL+C> =20.13.14.1 20.13.14.2 Na VM : Salve as rotas do roteador e verifique se o roteador está enviando mensagens de router advertisement: Neste cenário, os hosts deverão ser configurados automaticamente a partir dos anúncios de roteador. Para isso, bastará criar uma interface no host na mesma VLAN que o roteador da organização. Não se esqueça de > route -n -A inet6 > rotasge2.txt > radvdump<enter>... aguardar o aparecimento do resumo das mensagens, sair com <CRTL+C>
Na VM : Verifique a auto-configuração do endereço de. ifconfig.1 > iph1.txt route -n -A inet6 > rotash1.txt Na VM : Verifique a auto-configuração do endereço de, e se ele é capaz de ping. e) O ip do host no site 2 (arquivo iph2.txt) criado no f) As rotas criadas para o host no site 2 (arquivo rotash2.txt) criado no Não se esqueça de digitar halt para encerrar as máquinas virtuais ifconfig.2 > iph2.txt route -n -A inet6 > rotash2.txt ping6 <endereço IPv6 de > Na VM : Enquanto o host estiver pingando, efetue a captura de pacotes usando tcpdump para observar o mecanismo de tunelamento: > tcpdump -i <ENTER>... <observar pacotes tunelados>... <CTRL+C> 8. RELATÓRIO A SER ENTREGUE NO EUREKA Crie um arquivo texto "RelatorioPraticaIPv6trans.txt" com um resumo dos resultados obtidos nessa prática. As informações que você deve incluir foram salvas em arquivos.txt durante o passo 5 do roteiro. Transfira esses arquivos para sua conta na espec, e edite um único arquivo texto com essas informações. Lembrando, o comando para transferir arquivos da VM para espec é: scp arquivo_origem seu_login@20.0.0.1:. Observe que seu_login é rss no ambiente DVD (senha pucpos). No ambiente ESPEC o login e a senha são os mesmos que você usou para se logar no servidor remotamente. O conteúdo do relatório deve conter as seguintes informações: O conteúdo do relatório deve conter as seguintes informações: a) As rotas do gateway G1 (arquivo rotasge1.txt) criado no b) As rotas do gateway G2 (arquivo rotasge2.txt) criado no c) O ip do host no (arquivo iph1.txt) criado no d) As rotas criadas para o host no (arquivo rotashsite1.txt) criado no