Linux

Propaganda
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
Download