Edgard Jamhour, 02/01/2012 14:43
PRÁTICA
DE
IPV6:
ENDEREÇAMENTO,
AUTOCONFIGURAÇÃO E ROTEAMENTO
O objetivo dessa prática é ilustrar o processo de atribuição
de endereços, roteamento e auto-configuração do IPv6.
Como veremos, o IPv6 adota uma estrutura de
endereçamento hierárquica. Essa estrutura dá autonomia
para o usuário final segmentar sua rede e simplifica o
conteúdo das tabelas dos roteadores IPv6 das empresas e
dos ISP.
O mecanismo de auto-configuração também dota as redes
IPv6 de um suporte nativo a mobilidade, uma vez que o
endereço do Host muda automaticamente quando ele
muda de rede.
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.
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
NLA = 280X:XYY0:1:/48
SLA=NLA:1::/64
site 1
H
código matricula:
(101) 11 12 XX YY - 1
Router
Advertisement
Sub-TLA = 280X:XYY0:/29
eth0.1
280X:XYY0:100:1::/64
DIFERENÇAS NO ROTEIRO EM RELAÇÃO A
IMAGEM DO DVD
eth0.1
GE
SLA= NLA:2::/64
eth0
H
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.
Os comandos dentro de blocos com borda de linhas em
negrito devem ser executados apenas no ambiente do
DVD.
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
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
GP
eth0.3
site
externo
eth0.2
site 2
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:
eth0
(ISP)
eth0.2
Router
Advertisement
O cenário desta prática está ilustrado pela figura. O LACNIC,
autoridade regional de registro de cuida da América latina e
do Caribe, recebeu do IANA a responsabilidade de
administrar todos os endereços com prefixo 2800::/12.
Suponha que o LACNIC outorgou a um ISP (Internet Service
Provider) o Sub-TLA de prefixo 280X:XYY0:/29.
OBS. Os números XXYY devem ser extraídos dos quatro
últimos números do seu código de matrícula, e.g. (101) 11
12 XX YY - 1.
O ISP é responsável para distribuição de endereços para as
organizações que representam usuários finais. O IETF
recomenda que a unidade mínima de alocação para
organizações seja um endereço /48 (isto é, um NLA inteiro).
Dessa forma, suponha que o ISP delegou para a empresa o
NLA de prefixo 280X:XYY0:1:/48.
Um NLA é composto de 16 bits para identificar um Site
(SLA) e 64 bits para identificar a interface de um host. A
organização tem liberdade para criar múltiplos sites,
bastando para isso criar prefixos SLA::/64 distintos. No
cenário proposto, a organização criou dois sites,
respectivamente com os SLAs NLA:1::/64 e NLA:2::/64.
Para esta prática serão utilizadas três máquinas virtuais,
representando o gateway da empresa (GE), o gateway do
provedor (GP) e um host (H). O host será utilizado para
Edgard Jamhour, 02/01/2012 14:43
testar o funcionamento do processo de auto-configuração
do IPv6, pois seu endereço deverá ser alterado
automaticamente quando ele for movido do site 1 para o
site 2.
O roteador da empresa emite mensagens de "Router
Advertisement" para os hosts localizados em cada um dos
sites. 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.
2. COMANDOS IPV6
Configuração de endereços:
ifconfig eth0 inet6 add 2800::1/64
ifconfig eth0 inet6 del 2800::1/64
Mostrar apenas endereços e rotas IPv6:
ip -6 addr show dev eth0
route -n -A inet6
Configurar rotas estáticas:
route -A inet6 add 2100::/16 gw 2800::1 dev eth0
route -A inet6 del 2100::/16 gw 2800::1 dev eth0
Utilitários IPv6:
ping6, traceroute6, tracepath6
Daemon para router advertisement:
radvd
Os principais comandos utilizados para configuração de
redes IPv6 no linux estão listados na figura acima. Os
comandos ifconfig, route e ip do linux trazem suporte para
configuração tanto de IPv4 quanto de IPv6. Já os comandos
ping, traceroute e tracepath tem novas versões para o IPv6,
com as respectivas denominações: ping6, traceroute6,
tracepath6.
Para adicionar ou remover um endereço IPv6 de uma
interface, basta digitar:
ifconfig DEVICE inet6 add ENDERECO_IPv6/MASCARA
ifconfig DEVICE inet6 del ENDERECO_IPv6/MASCARA
É possível adicionar endereços IPv6 usando o comando ip
ao invés de ifconfig. Essa abordagem será usada no roteiro
prático de mecanismos de transição. O comando ifconfig
mostra todos os endereços (IPv4 e IPv6) associados a uma
interface. Para visualizar apenas os endereços IPv6 utilizase:
ip -6 addr show dev DEVICE
De forma similar, para ver apenas as rotas IPv6 da tabela de
roteamento, é necessário usar parâmetro inet6, conforme
ilustrado a seguir:
route -n -A inet6
A criação ou remoção de rotas IPv6 também utiliza o
comando route com a inclusão do parâmetro inet6:
route -A inet6 add PREFIXO gw GATEWAY dev DEVICE
route -A inet6 del PREFIXO gw GATEWAY dev DEVICE
Um roteador IPv6 precisa ser capaz de enviar mensagens de
router advertisement a fim de suportar o processo de
auto-configuração dos hosts. Essa função não está
codificada ao nível de kernel, mas como um daemon da
camada de aplicação. Esse daemon precisa ser instalado e
denomina-se radvd. Este daemon já está instalado nas
imagens UML da nova espec e do DVD.
3. CONFIGURAÇÃO DO ROTEADOR DA
EMPRESA
O script de configuração do roteador da empresa ipv6-E.sh
é mostrado a seguir:
#!/bin/bash -x
#Cria Interfaces
vconfig add eth0 1
vconfig add eth0 2
ifconfig eth0.1 down hw ether 00:00:00:00:00:01
ifconfig eth0.2 down hw ether 00:00:00:00:00:02
service network restart
#Definicao dos Prefixos
nla=2801:3140:1
site1=$nla:1
site2=$nla:2
siteE=2801:3140:100:1
#Endereços do Gateway da Empresa
gE0=FE80:1::1
gE1=$site1::1
gE2=$site2::1
#Endereços dos Gateways do ISP
gP0=FE80:1::2
Edgard Jamhour, 02/01/2012 14:43
#!/bin/bash -x
#Habilita Roteamento
sysctl -w net.ipv6.conf.all.forwarding=1
#Cria Interfaces
vconfig add eth0 3
ifconfig eth0.3 down hw ether 00:00:00:00:00:03
service network restart
#Configura Endereços e Rotas
ifconfig eth0 inet6 add $gE0/64 up
ifconfig eth0.1 inet6 add $gE1/64 up
ifconfig eth0.2 inet6 add $gE2/64 up
route -A inet6 add ::/0 gw $gP0 dev eth0
#Definicao dos Prefixos
nla=2801:3140:1
siteE=2801:3140:100:1
O aluno deverá mudar os números 1:314 pelo código
correspondente do seu número de matrícula. Observe que
o script altera os endereços MAC das interfaces de VLAN.
Isso é necessário, pois as VLANs são criadas com o mesmo
MAC da interface real eth0. Como os endereços IPv6 são
auto-configurados a partir do MAC, ocorre duplicação de
endereço.
Na Espec: Copie o pacote com os scripts para o seu
diretório home e crie uma máquina virtual para representar
o roteador da empresa:
#Endereços do Gateway da Empresa
gE0=FE80:1::1
#Enderecos do Gateway do ISP
gP0=FE80:1::2
gP3=$siteE::1
#Habilita Roteamento
sysctl -w net.ipv6.conf.all.forwarding=1
#Configura Endereços e Rotas
ifconfig eth0 inet6 add $gP0/64 up
ifconfig eth0.3 inet6 add $gP3/64 up
route -A inet6 add $nla::/48 gw $gE0 dev eth0
wget espec.ppgia.pucpr/jam_pacotes/ipv6.tar.gz
tar -xzf ipv6.tar.gz
linux32.redes RE
Na VM GE: Configure um endereço IPv4 na interface eth0 e
efetue a cópia do pacote. Cuidado para substituir os
números 13.14 pelo seu código de matrícula (o script supõe
a matricula (101) 11 12 13 14 -1).
Na Espec: Crie uma máquina virtual para representar o
roteador do ISP
ifconfig eth0 20.13.14.1/8
scp login@ 20.0.0.1:ipv6/ipv6-E.sh .
Na VM GP: Configure um endereço IPv4 na interface eth0 e
efetue o download do pacote. Cuidado para substituir os
números 13.14 pelo seu código de matrícula (o script supõe
a matricula (101) 11 12 13 14 -1).
Observe que login é rss no DVD (senha pucpos), ou o
mesmo login e senha que você usou para acessar o servidor
espec.
Na VM GE: Edite o script ip6-E.sh, substituindo os números
1:314 pelo seu código de matrícula.
vi ipv6-E.sh <ENTER><INS>
<ESC>:wq<ENTER>
./ipv6-E.sh
...alteração
do
linux32.redes RP
ifconfig eth0 20.13.14.2/8
scp login@ 20.0.0.1:ipv6/ipv6-P.sh .
Na VM GP: Edite o script ipv6-P.sh, substituindo os
números 1:314 pelo seu código de matrícula.
prefixo
vi ipv6-P.sh <ESC> <INS> ... alteração <ESC>:wq<ENTER>
./ipv6-P.sh
4. CONFIGURAÇÃO DO ROTEADOR DO
PROVEDOR
5) PREPARAÇÃO DO COMPUTADOR H
O script de configuração do roteador do provedor ipv6-P.sh
é mostrado a seguir:
Na Espec: Crie uma máquina virtual para representar o host
H:
Edgard Jamhour, 02/01/2012 14:43
linux32.redes H
AdvRouteLifetime 90;
};
6) CONFIGURAÇÃO DO ROUTER
ADVERTISEMENT NO ROTEADOR DA EMPRESA
A função de router advertisement é implementada pelo
daemon radvd. Para ativar esse daemon é necessário
configurar o arquivo /etc/radvd.conf, com a configuração
do anúncio de cada interface. Os principais parâmetros do
arquivo são os seguintes:
interface name {
MaxRtrAdvInterval seconds;
AdvSendAdvert on/off;
prefix prefix/length {
AdvOnLink on/off;
AdvAutonomous on/off;
AdvRouterAddr on/off;
};
route prefix/length {
AdvRouteLifetime seconds|infinity
}
};







MaxRtrAdvInterval: Intervalo máximo de envio de
anúncios não solicitados (valor default 600s).
AdvSendAdvert: O valor "on" habilita o envio dos
anúncios de prefixo pela interface.
prefix: Prefixo anunciado pela interface
AdvOnLink: O valor "on" indica para o host criar uma
rota local para o prefixo recebido.
AdvAutonomous: O valor "on" faz com que o host
adicione seu MAC ao prefixo para criar um endereço
auto-configurado.
AdvRouterAddr: O valor "on" indica que o IP do
roteador é anunciado, ao invés de apenas o prefixo.
Esta opção é necessária para suportar a mobilidade.
AdvRouteLifetime: Define o tempo de vida da rota
anunciada. O valor default é 3*MaxRtrAdvInterval
Neste cenário, o arquivo /etc/radvd.conf será configurado
com os seguintes parâmetros:
interface eth0.1 {
AdvSendAdvert on;
prefix 2801:3140:1:1::1/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
route ::/0 {
};
interface eth0.2 {
AdvSendAdvert on;
prefix 2801:3140:1:2::1/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
route ::/0
{
AdvRouteLifetime 90;
};
};
Na VM GE: Edite o arquivo radvd.conf conforme a figura,
alterando o prefixo de acordo com o seu cenário, e ative o
deamon.
scp [email protected]:ipv6/radvd.conf .
vi radvd.conf <ENTER><INS> alterar prefixos ... <ESC> :wq
radvd -C radvd.conf
Observe que a opção -C faz você usar como radvd.conf o
arquivo local, ao invés do arquivo no /etc.
7) TESTES
Na VM GE: Salve as rotas do roteador GE e verifique se o
roteador GE está enviando mensagens de router
advertisement:
route -n -A inet6 > rotashge.txt
radvdump<ENTER> ..... aguardar o aparecimento do
resumo das mensagens. Voltar para o prompt digitando
<CRTL+C>
Na VM H: Coloque o host H no site 1, e verifique a autoconfiguração do endereço.
vconfig add eth0 1
ifconfig eth0.1 up
ifconfig eth0.1 > hsite1.txt
route -n -A inet6 > rotashsite1.txt
Na VM H: Verifique se o host H consegue pingar a interface
de GP no site externo.
ping6 280X:XYY0:100:1::1
Edgard Jamhour, 02/01/2012 14:43
Na VM H: Coloque o host H no site 2, e verifique a autoconfiguração do endereço.
ifconfig eth0.1 down
vconfig add eth0 2
ifconfig eth0.2 up
ifconfig eth0.2 > hsite2.txt
route -n -A inet6 > rotashsite2.txt
Na VM H: Verifique se o host H consegue pingar a interface
de GP no site externo.
ping6 280X:XYY0:100:1::1
8. RELATÓRIO A SER ENTREGUE NO EUREKA
Crie um arquivo texto "RelatorioPraticaIPv6.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 7 do roteiro. Transfira esses
arquivos para sua conta home 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 [email protected]:.
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:
a) As rotas do gateway da empresa (arquivo rotashge.txt)
criado no passo 7.
b) O ip do host H no site 1 (arquivo hsite1.txt) criado no
passo 7.
c) As rotas criadas para o host H no site 1 (arquivo
rotashsite1.txt) criado no passo 7.
d) O ip do host H no site 2 (arquivo hsite2.txt) criado no
passo 7.
e) As rotas criadas para o host H no site 2 (arquivo
rotashsite1.txt) criado no passo 7.
Não se esqueça de digitar halt para encerrar as máquinas
virtuais
Download

PRÁTICA DE IPV6: ENDEREÇAMENTO