IPv6 Exercício com IPv6 Auto-Configuração Roteamento IPv6 Edgard Jamhour 2008, Edgard Jamhour Cenário 3ffe:a00:10:1/64 nla site I site E HI e 3ffe:a00:1:1/64 gI HE d e gE d e gE d e gE d 3ffe:a00:1:2/64 nla H3 H4 e gI d 3ffe:a00:2:1/64 nla 3ffe:a00:2:2/64 H5 H6 e 3ffe:a00:3:1/64 backbone gI d 3ffe:a00:3:2/64 2008, Edgard Jamhour Comandos • Os principais comandos utilizados para configuração do IPv6 são: – ifconfig <ethx> inet6 • interface de configuração do serviço IPv6 – route -n -A inet6 • criação e visualização de rotas – radvd • daemon para router advertisement – ping6 – traceroute6, tracepath6 2008, Edgard Jamhour Configuração de Endereços • adiciona um endereço IPv6 – ifconfig eth0 inet6 add 3ffe:a00:1:1::1/64 • remove um endereço IPv6 – ifconfig eth0 inet6 del 3ffe:a00:1:1::1/64 • mostra apenas endereços IPv6 – ip -6 addr show dev eth0 2008, Edgard Jamhour Definição do Endereço IPv6 2008, Edgard Jamhour Exercício 1 • Atribua os seguintes endereços IPv6 as interfaces dos Gateways impares: – ifconfig eth0.$vlanI add $nla:1::1/64 – ifconfig eth0.$vlanE add $nla:2::1/64 • Atribua o seguinte endereço as interfaces dos Gateways pares: – ifconfig eth0.$vlanE add $nla:2::2/64 – ifconfig eth0 inet6 add $backbone::$equipe/64 siteI nla:1::/64 nla:1::1 e vlanI Backbone $backbone::/64 siteE nla:2::/64 gI nla:2::1 d vlanE nla:2::2 e vlanE gE $backbone::equipe d vlan 0 2008, Edgard Jamhour Modelo para o Script #!/bin/bash -x if [ $# -eq 0 ]; then echo "Digite: 1 (Gateway Interno), 2 (Gateway Externo), 3 (Restaurar)" exit fi echo "Entre com o numero da equipe" #Definicao dos Prefixos prefixo=3ffe:a00 nla=$prefixo:$equipe siteI=$nla:1 siteE=$nla:2 backbone=$prefixo:10:1 #Enderecos do Gateway Interno gIe=$siteI::1 gId=$siteE::1 read equipe #----------------------------------------------------# siteI - gIe - gId - siteE -gEe - gEd - backbone #----------------------------------------------------- #Enderecos do Gateway Externo gEe=$siteE::2 gEd=$backbone::$equipe #Definicao das VLANs vlanI=$[$equipe*10+1] vlanE=$[$equipe*10+2] 2008, Edgard Jamhour Modelo para Script if [ $1 -eq 1 ]; then echo "configuracao de G1" service network restart vconfig add eth0 $vlanI vconfig add eth0 $vlanE ifconfig eth0.$vlanI add $gIe/64 up ifconfig eth0.$vlanE add $gId/64 up elif [ $1 -eq 2 ]; then echo "configuracao de G2" service network restart vconfig add eth0 $vlanE ifconfig eth0.$vlanE add $gEe/64 up ifconfig eth0 add $gEd/64 up elif [ $1 -eq 3 ]; then echo "restaurando o computador" vconfig rem eth0.$vlanI vconfig rem eth0.$vlanE service network restart fi 2008, Edgard Jamhour Verificação das Rotas • 1) Verifique se os endereços IPv6 foram atribuídos corretamente – ifconfig • 2) Verifique as rotas criadas automaticamente pela adição dos endereços – route –A inet6 –n • 3) Verifique se é possível pingar todas as interfaces de g1 a partir de g2 e vice-versa – Exemplo: em g2 digitar: – ping6 3ffe:a00:1:1::1 2008, Edgard Jamhour Configuração de Rotas • mostra as rotas IPv6 do computador – route -A inet6 -n • adiciona uma rota estática – route -A inet6 add $prefixo::/32 gw $gEe/64 • remove uma rota estática – route -A inet6 add $prefixo::/32 gw $gEe/64 2008, Edgard Jamhour Exercício 2 • Inclua as rotas nos Gateways 1 e 2 de forma que seja possível acessar a todos os demais sites do nla. As rotas para cada “nla” vai para a interface “d” dos gateways pares As rotas para todo o nla passam por g2d backbone nla:10:1::/64 site12 nla:1:2::/64 site11 nla:1:1::/64 nla:1:1::1 e eth0.11 g1 nla:1:2::1 d eth0.12 nla:1:2::2 e eth0.12 g2 d eth0 nla:10:1::1 As rotas para todo o site11 passam por g1e 2008, Edgard Jamhour Modelo para o Script # configuracao de G1 # Qualquer rede do prefixo é acessado pelo gateway Externo if [ $1 -eq 1 ]; then route -A inet6 add $prefixo::/32 gw $gEe sysctl -w net.ipv6.conf.all.forwarding=1 # configuracao de G2 # Criar uma rota para o site interno # Criar as rotas para todos os NLAs elif [ $1 -eq 2 ]; then route -A inet6 add $siteI::/64 gw $gId for i in `seq 1 5`; do if [ $i -ne $equipe ]; then route -A inet6 add $prefixo:$i::/48 gw $backbone::$i fi done sysctl -w net.ipv6.conf.all.forwarding=1 fi 2008, Edgard Jamhour Verificação do Exercício 2 • Verifique se é possível pingar as interfaces dos demais gateways partir dos gateways do seu site – Exemplo: para o site11, a partir de g1 – ping6 3ffe:a00:1:2::1 • Gateway g2 do site 12 – ping6 3ffe:a00:2:1::1 • Gateway g1 do site 21 • Observação: – Aparentemente, existe algum instabilidade na inicialização do serviço IPv6, talvez devido as VLANs ou ao ambiente UML. – Por isso, antes de fazer esses testes, verifique se você consegue pingar as interfaces do seu próprio computador. – Se não conseguir, reinicialize o serviço de rede, e reaplique o script. 2008, Edgard Jamhour Router Advertisement • Os anúncios de rota no linux são implementados pelo daemon radvd. • O arquivo de configuração é o /etc/radvd.conf interface eth0.11 { AdvSendAdvert on; prefix 3ffe:a00:1:1::/64 { AdvOnLink on; AdvAutonomous on; }; }; interface eth0.11 { AdvSendAdvert on; prefix 3ffe:a00:1:1::1/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; }; 2008, Edgard Jamhour Opções do radvd • AdvOnLink on; – Todos os hosts com o mesmo prefixo são acessíveis pela interface que recebeu o anúncio • AdvAutonomous on; – O prefixo pode ser utilizado para auto-configuração • AdvRouterAddr on; – O IP do roteador é anunciado, ao invés do prefixo. Esta opção é necessária para o MIP6 • OBS. É necessário habilitar o roteamento IPv6 antes de ativar o daemon: – sysctl -w net.ipv6.all.forwarding=1 2008, Edgard Jamhour Exercício 3 • Configure o Router advertisement nos gateways conforme o esquema abaixo, e verifique: Faz anúncios do prefixo nla:1::/64 por eth0.$vlanI nla:1::1 backbone prefixo:10:1::/64 siteE nla:2::/64 siteI nla:1::/64 e vlanI g1 nla:2::1 d vlanE nla:2::2 e vlanE g2 d eth0 2008, Edgard Jamhour Verificação do exercício 3 • 1) Verifique o endereço IP recebido pelos hosts do seu site – ifconfig • 2) Crie uma rota default em cada host apontando para o respectivo gateway. – Por exemplo, para o host H1 – route -A inet6 add ::/0 gw $g2d • 3) Veja se é possível pingar os hosts dos demais sites a partir do host do seu site. • 4) Mude o host do seu site de VLAN, e observe o que acontece com o endereço IPv6 2008, Edgard Jamhour Entrega do Exercício • O exercício deve ser entregue por equipe: • 1) Salve as rotas dos gateways – route –A inet6 –n >> rotag1.txt – route –A inet6 –n >> rotag2.txt • 2) Salve o endereços IPs dos computadores da equipe site – ifconfig >> h1.txt – ifconfig >> GI.txt – ifconfig >> GE.txt • 3) Salve as rotas do computador do site – route –A inet6 –n >> rotah1.txt 2008, Edgard Jamhour