25
IPv6 - Linux Luiz Arthur 1 IPv6 é o novo protocolo da camada de rede (no modelo OSI), ou a camada de Inter-rede (no modelo TCP/IP) o qual sucede o IPv4 (conhecido apenas como IP). O IPv4 foi projetado a muito tempo atrás e seu endereçamento esta deixando a desejar na Internet atual. Por isto, a maior diferença entre o IPv6 quanto ao IPv4 é com certeza o aumento do tamanho de representação de hosts dentro do cabeçalho IPv6 que passa de 32 bits para 128 bits. Isto possibilita endereças bilhares de máquinas sem se preocupar com a falta de endereços representados na rede. O Linux começou a tratar o IPv6 em novembro de 1996 com o Kernel 2.1.8, mas foram códigos experimentais nada muito sério, sendo então tratado com mais rigor em outubro de 2000, no Kernel 2.4 e 2.6. Formato do endereçamento do IPv6 Um número de 128 bits é muito longo, e se fosse representado em decimal, tal como o IPv4 seriam necessário ~39 dígitos. Isto tornaria o endereço IPv6 difícil de se memorizar. Assim, o IPv6 adotou um esquema de endereçamento em hexadecimal, neste esquema endereçamos representamos de uma só vez 4 bits (conhecidos como nibble) que são representados por dígitos 0-9 ou caracteres a-f (10-15). Este formato reduz o endereçamento para 32 caracteres.

Redes - IPv6 Pratica

Embed Size (px)

Citation preview

Page 1: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur1

IPv6 é o novo protocolo da camada de rede (no modelo OSI), ou a camada de Inter-rede (no modelo TCP/IP) o qual sucede o IPv4 (conhecido apenas como IP). O IPv4 foi projetado a muito tempo atrás e seu endereçamento esta deixando a desejar na Internet atual. Por isto, a maior diferença entre o IPv6 quanto ao IPv4 é com certeza o aumento do tamanho de representação de hosts dentro do cabeçalho IPv6 que passa de 32 bits para 128 bits. Isto possibilita endereças bilhares de máquinas sem se preocupar com a falta de endereços representados na rede.

O Linux começou a tratar o IPv6 em novembro de 1996 com o Kernel 2.1.8, mas foram códigos experimentais nada muito sério, sendo então tratado com mais rigor em outubro de 2000, no Kernel 2.4 e 2.6.

Formato do endereçamento do IPv6

Um número de 128 bits é muito longo, e se fosse representado em decimal, tal como o IPv4 seriam necessário ~39 dígitos. Isto tornaria o endereço IPv6 difícil de se memorizar.

Assim, o IPv6 adotou um esquema de endereçamento em hexadecimal, neste esquema endereçamos representamos de uma só vez 4 bits (conhecidos como nibble) que são representados por dígitos 0-9 ou caracteres a-f (10-15). Este formato reduz o endereçamento para 32 caracteres.

Page 2: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur2

Para melhorar o aspecto esses números foram separados de 16 em 16 bits tal como:

2001:0db8:0100:f101:0210:a4ff:fee3:9566

Uma seqüência de blocos de 16 bits contento apenas zeros podem ser representado por “::”, mas somente uma vez.

2001:0bd8:100:f101:0:0:0:1

é igual a

2001:bd8:100:f101::1

Uma boa redução de um endereço IPv6 seria:

0000:0000:0000:0000:0000:0000:00000:0001

a forma abreviada seria

::1

Esta forma de endereçamento é chamada de compacta (compact, ou codificada na base85).

Page 3: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur3

Endereços especiais

De todo espaço de endereçamento IPv6, apenas 15% estão previamente alocado para uso, ficando os 85% restantes reservados para o futuro.

O endereço IPv6 que representa a interface de loopback, similar ao 127.0.0.1do IPv4 é:

0000:0000:0000:0000:0000:0000:0000:0001

ou comprimido:

::1

Endereços de mapeamento entre IPv4 e IPv6

A terceira forma de representação, mais conveniente quando em ambientes mistos com hosts IPv4 e IPv6, é da forma x:x:x:x:x:x:d:d:d:d, onde os "x" são números hexadecimais (16 bits) e os "d" são valores decimais de 8 bits referentes à representação padrão já bem conhecida do IPv4.

Page 4: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur4

Espera-se que o IPv6 conviva por muito tempo com o IPv4, desta forma, criou-se um esquema de endereço IPv6 para fazer mapeamentos aos endereços IPv4, tal como:

0:0:0:0:0:ffff:a.b.c.d/96

na forma comprimida o formato é:

::ffff:a.b.c.d/96

Por exemplo, o endereço IPv4 192.168.1.100 ficaria no IPv6 com:

::ffff:192.168.1.100

O contrário também é possível ou seja IPv4 no IPv6 tal endereço é representado da seguinte forma:

0:0:0:0:0:0:a.b.c.d/96

no formato comprimido:

::a.b.c.d/96

Page 5: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur5

Endereço não especificado

Em IPv4 “0.0.0.0” ou “any” é representado no IPv6 por:

0000:0000:0000:0000:0000:0000:0000:0000 ou ::

Prefixos (tipos de endereços IPv6)

Especificamente, o prefixo definido pelos primeiros bits do endereço indica cada tipo de endereço IPv6. O campo variável que compreende esses bits é denominado Format Prefix (FP).

Aggregatable Global Unicast Addresses

Este é o endereço unicast que será globalmente utilizado na Internet. Seu novo formato possui sete campos: o prefixo de 3 bits (001), um identificador TLA (Top-Level Aggregation), um campo RES reservado, um identificador NLA (Next-Level Aggregation), um identificador SLA (Site-Level Aggregation) e o identificador da interface:

bits: 3 13 8 24 16 64FP TLA ID RES NLA ID SLA ID InterfaceID

Page 6: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur6

Local-Use IPv6 Address

Existem dois de endereços para uso local: link-local e site-local.

Link-local : endereço identificado por um prefixo de 10 bits (1111111010), definido para uso interno num único enlace para funções como auto-configuração de endereços, descoberta do vizinho (neighbor discovery) ou quando não há roteador. Estações ainda não configuradas, ou com um endereço global unicast ou com um site-local, poderão utilizar um endereço link-local. Os roteadores não devem repassar pacotes com endereço fonte ou destino deste tipo;

Um endereço de link local tem os seguintes prefixos: fe8X: (o mais utilizado), fe9X:, feaX: e febX:. Onde “X” é um caracter hexadecimal normalmente o “0”

Site-local: endereço identificado pelo prefixo de 10 bits (1111111011), definido para uso interno numa organização que não se conectara à Internet, e não há necessidade de uso de um prefixo global. Os roteadores não devem repassar pacotes cujos endereços origem ou destino sejam endereços site-local.

Um endereço site-local é identificado pelos prefixos: fecX: (o mais utilizado), fedX:, feeX: e fefX. Onde “X” deve ser subustituido por um caracter hexadecimal, sendo normalmente o “0”.

Page 7: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur7

Os endereços IPv6 unicast foram projetados assumindo que os sistemas de roteamento da Internet repassam pacotes baseado num algoritmo de cálculo do prefixo mais longo, sem nenhum conhecimento da estrutura interna do endereço IPv6. O tipo específico de endereço IPv6 é indicado pelos primeiros bits do endereço (FP).

Dentre os tipos de endereços unicast apresentados anteriormente, foram apresentados os endereços Aggregatable Global Unicast Addresses a serem globalmente utilizados na Internet e definidos pelo formato de prefixo (FP = 001) para suportar a agregação provider-based, definida inicialmente pela RFC 1884, e um novo tipo de agregação denominada como exchange-based. Esta combinação permitirá uma agregação eficiente de rotas, tanto para sites conectados a provedores, quanto para aqueles conectados aos pontos de troca de tráfego (exchanges).

3 13 8 24 16 64FP TLA ID RES NLA ID SLA ID InterfaceID

sendo:FP - Format Prefix de 3 bits, neste caso igual a 001;TLA ID - Identificador Top-Level Aggregation de 13 bits;RES - 8 bits reservados para uso futuro, e deve ter todos os bits zerados;NLA ID - Identificador Next-Level Aggregation de 24 bits;SLA ID - Identificador Site-Level Aggregation de 16 bits;Interface ID - Identificador da interface de 64 bits.

Page 8: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur8

Em termos de topologia, essa estrutura permite uma organização em três níveis hierárquicos: pública, site e identificador de interface. A topologia pública (campos TLA, RES, e NLA) reflete o conjunto de provedores de serviços Internet, provedores de trânsito e pontos de troca de tráfego. A topologia site (campos SLA) tem abrangência local, uma organização específica que não provê serviços de trânsito para outras organizações ou sites. Já o identificador de interface (campos Interface ID), como o próprio nome indica, identifica a interface do node.

Top-Level Aggregation ID

Os identificadores TLA são o topo da hierarquia de roteamento. Este formato suporta 8.192 (213) identificadores TLA, que podem ser aumentados ou através do aumento do tamanho do campo TLA, utilizando os bits reservados do campo RES, ou utilizando um prefixo de formato adicional.Os roteadores default-free devem ter uma entrada na tabela de roteamento para cada TLA ID ativo, e podem ter entradas adicionais para otimizar o roteamento de suas topologias específicas. Mas, em todos os níveis, a topologia de roteamento deve ser projetada para minimizar a quantidade de entradas na tabela de roteamento. Está sendo produzido um documento específico para o campo TLA.

Page 9: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur9

Site-Level Aggregation ID

O identificador SLA é utilizado por uma organização individual, que é responsável para definir a estrutura de endereços do espaço SLA. Dentro deste espaço, a organização pode criar localmente sua própria estrutura de endereçamento hierárquica, num procedimento similar às divisão em sub-redes do IPv4, só que com um número muito maior de sub-redes.

Interface ID

Os identificadores de interface (Interface ID), como o próprio nome indica, são utilizados para identificar interfaces de um enlace específico e devem ser únicos para esse link. Também devem ser únicos num escopo mais abrangente. Em muitos casos, o identificador de interface será o endereço de interface da camada de enlace ou obtido a partir deste.

Endereços IPv6 de Produção

Atualmente, já estão sendo oferecidos endereços IPv6 de produção pelos três Regional Internet Registries (RIR): ARIN, RIPE NCC e APNIC.

Inicialmente, foi reservado pela IANA o prefixo TLA 2001::/16 para endereçamento de produção. Sob esse prefixo, são alocados os identificadores para backbones, utilizando para isso o campo Sub-TLA. O tamanho do prefixo mínimo alocado é de 35 bits.

Page 10: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur10

O processo de alocação utiliza um procedimento chamado slow start. Ao se obter um identificador Sub-TLA, os 6 bits seguintes são reservados pelo RIR que fez a alocação. O RIR só fará alocações subseqüentes desse espaço reservado quando a organização tiver utilizado pelo menos 80% do espaço previamente alocado.

Endereçamento no 6Bone

Com o propósito de utilizar o mínimo do espaço de endereçamento de produção IPv6, a IANA alocou ao Projeto 6Bone o prefixo TLA 3FFE::/16. Esse endereço é especificado no RFC 2471 - IPv6 Testing Address Allocation.

Sob esse prefixo, o 6Bone criou um formato próprio para o particionamento de seu espaço endereços. Esse formato é baseado no utilizado em endereços de produção, especificado no RFC 2374 - An IPv6 Aggregatable Global Unicast Address Format.

O suporte ao IPv6 no Kernel Linux

Para que seu computador de suporte ao novo protocolo IPv6 é necessário que este esteja sendo executado pelo Kernel (núcleo do Sistema Operacional), uma forma de verificar se este está ou não no Kernel e verificando a existência do arquivo /proc/net/if_inet6, para tanto é possível executar o seguinte comando:

# test -f /proc/net/if_inet6 && echo "O Kernel está executando IPv6”

Page 11: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur11

Se tudo estiver bem, será apresentado a mensagem "O Kernel está executando IPv6”, caso contrário não será apresentada mensagem alguma e o Kernel não esta dando suporte ao Ipv6.

Carregando modulo IPv6 no Kernel Linux

Uma forma simples de dar suporte ao IPv6, é carregando o modulo do IPv6 no kernel. Para tanto basta executar o seguite comando:

#modprobe ipv6

Agora para ter a certeza que este modulo foi atribuído ao Kernel Linux basta executar o seguinte comando:

# lsmod |grep -w 'ipv6' && echo "O IPv6 foi carregado corretamente”

Caso seja mostrado a mensagem "O IPv6 foi carregado corretamente” o Linux estará pronto para trabalhar com o IPv6, caso contrário será necessário re-compilar o Kernel.

Caso queira-se trabalhar com freqüência com o IPv6 é melhor carregar o modulo do IPv6 sempre que o Linux for iniciado no computador, para tanto basta editar os arquivos /etc/modules.conf ou /etc/conf.modules, e acrescentar a seguinte linha:alias net-pf-10 ipv6 # automatically load IPv6 module on demand

Page 12: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur12

Verificando se as ferramentas de configuração de rede estão prontas para o IPv6

Os pacotes de programas que tratam de aspectos de rede devem dar suporte ao IPv6 para que possamos configurar corretamente os serviços, para tanto podemos executar os seguinte comandos:

# ifconfig -? 2>& 1|grep -qw 'inet6' && echo "ifconfig pronto para o IPv6"

# route -? 2>& 1|grep -qw 'inet6' && echo "route pronto para o IPv6"

# ip 2>&1 |grep -qw 'inet6' && echo "ip pronto para o IPv6"

Caso exista uma saída para os comandos anteriores o IPv6 está pronto para ser implementado, caso contrário você precisará reinstalar tais ferramentas com suporte a Ipv6.

O comando ip é atualmente o comando que dá mais suporte a configuração de redes, este por exemplo, substitui os comandos ifconfig e route, implementando ainda funções avançadas de configuração de redes (que não estão disponíveis nos comandos ifconfig e route), porém as distribuições Linux mais antigas podem não possuir tal ferramenta de rede.

Page 13: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur13

Configurando Interfaces com IPv6 Para configurar a interfaces de rede com IPv6 podemos utilizar o tanto o comando ifconfig quanto o ip.

Usando o ifconfig:

Vamos dar uma olhada na interface lo, e ver se o endereço IPv6 está correto:

#ifconfig lolo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:760 (760.0 b) TX bytes:760 (760.0 b)

Bem a saída anterior é apresentada antes do modulo IPv6 ser carregada no Kernel, o comando a seguir mostra o mesmo comando já com a adição de suporte do IPv6 no Kernel.

Page 14: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur14

# ifconfig lolo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:760 (760.0 b) TX bytes:760 (760.0 b)

Agora podemos observar no comando anterior a existência de uma nova linha à: inet6 addr: ::1/128 Scope:Host. Tal linha indica a presença do endereço localhost ::1 atribuído a uma interface local via IPv6.

Logo após iniciar o modulo IPv6 no Kernel Linux, podemos ligar, por exemplo, a primeira placa de rede Ethernet do computador, para isto iremos apenas executar o comando:

#ifconfig eth0 up

Page 15: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur15

Em seguida podemos verificar o status desta placa de rede com o comando ifconfig e a saída será algo como:

#ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:0C:6E:0D:A6:DF inet6 addr: fe80::20c:6eff:fe0d:a6df/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:238 (238.0 b) Interrupt:11 Base address:0xe000

Podemos observar que existe um endereço inet6 (IPv6) atribuído a interface, tal endereço é atribuído automaticamente pelo IPv6, baseado no endereço físico da placa de rede. Está prática pode ser utilizada para substituir servidores DHCP.

Atribuindo endereços IPv6 com o ifconfig:

#ifconfig <interface> inet6 add <ipv6address>/<prefixlength>

Exemplo:

#ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64

Page 16: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur16

Já para remover um endereço IPv6 utilize as seguintes opções:

#ifconfig <interface> inet6 del <ipv6address>/<prefixlength>

Exemplo:

#ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64

Usando o comando ip:

Para ligar ou desligar as interfaces de rede com o comando ip, utilize os seguintes comando respectivamente:

# ip link set dev <interface> up# ip link set dev <interface> down

Exemplo:

# ip link set dev eth0 up# ip link set dev eth0 down

Page 17: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur17

Já para verificar o status das interfaces utilize as seguintes opções:

# /sbin/ip -6 addr show dev <interface>

Exemplo:

#ip -6 addr show dev eth02: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> qlen 1000 inet6 fe80::20c:6eff:fe0d:a6df/64 scope link

Atribuindo endereços IPv6 via comando ip:

#ip -6 addr add <ipv6address>/<prefixlength> dev <interface>

Exemplo:

#ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0

Removendo endereços IPv6 com o comando ip:

#ip -6 addr del <ipv6address>/<prefixlength> dev <interface>

Exemplo:

#ip -6 addr del 2001:0db8:0:f101::1/64 dev eth0

Page 18: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur18

Configurando rotas com IPv6

Exibindo rotas existentes, para tanto você pode utilizar o ip ou o route:

#ip -6 route show [dev <device>]

Exemplo:

ip -6 route show dev eth02001:0db8:0:f101::/64 proto kernel metric 256 mtu 1500 advmss 1440fe80::/10 proto kernel metric 256 mtu 1500 advmss 1440ff00::/8 proto kernel metric 256 mtu 1500 advmss 1440default proto kernel metric 256 mtu 1500 advmss 1440

Ou:

#route -A inet6 |grep -w "eth0"2001:0db8:0:f101 ::/64 :: UA 256 0 0 eth0 <-Interface route for global addressfe80::/10 :: UA 256 0 0 eth0 <-Interface route for link-local addressff00::/8 :: UA 256 0 0 eth0 <-Interface route for all multicast addresses::/0 :: UDA 256 0 0 eth0 <-Automatic default route

Page 19: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur19

Adicionando uma rota para um gateway:

#ip -6 route add <ipv6network>/<prefixlength> via <ipv6address> [dev<device>]

Exemplo:

#ip -6 route add 2000::/3 via 2001:0db8:0:f101::1

Ou:

#route -A inet6 add <ipv6network>/<prefixlength> gw <ipv6address> [dev<device>]

Exemplo:

#route -A inet6 add 2000::/3 gw 2001:0db8:0:f101::1

Para remover a rota basta substituir o add por del tanto no comando ip quanto no route.

Page 20: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur20

Adicionando rotas através de interfaces

Não freqüentemente é necessário fazer rotas ponto-a-ponto, para é possível utilizar os seguintes comandos:

#ip -6 route add <ipv6network>/<prefixlength> dev <device> metric 1

Exemplo:

#ip -6 route add 2000::/3 dev eth0 metric 1

Ou:

#route -A inet6 add <network>/<prefixlength> dev <device>

Exemplo:

#route -A inet6 add 2000::/3 dev eth0

Novamente para apagar este tipo de rota execute substitua a opção add por del.

Page 21: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur21

Ping no IPv6

O comando ping que é utilizado para enviar mensagens ICMP e descobrir se hosts estão ou não disponíveis na rede, também existe na IPv6, mas é o ICMPv6.

Para utilizar tal funcionalidade utilize o seguinte comando:

# ping6 <hostwithipv6address># ping6 <ipv6address># ping6 [-I <device>] <link-local-ipv6address>

Exemplo:

# ping6 -c 1 ::1 PING ::1(::1) from ::1 : 56 data bytes 64 bytes from ::1: icmp_seq=0 hops=64 time=292 usec

--- ::1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/mdev = 0.292/0.292/0.292/0.000 ms

Page 22: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur22

Usando um endereço link-local, o Kernel não conhece a interface física ou virtual, e teremos como resultado um erro, tal como:

# ping6 fe80::212:34ff:fe12:3456 connect: Invalid argument

Neste caso temos que especificar a interface de rede, tal como:

# ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205 PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from¬ fe80::212:34ff:fe12:3478 eth0: 56 data bytes 64 bytes from fe80::212:23ff:fe12:3456: icmp_seq=0 hops=64 time=445 usec--- fe80::2e0:18ff:fe90:9205 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-tripmin/avg/max/mdev = 0.445/0.445/0.445/0.000 ms

Utilizando ping com endereços multicast

Para pingar um endereço multicast o comando é:

# ping6 -I eth0 ff02::1PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes64 bytes from ::1: icmp_seq=1 ttl=64 time=0.104 ms64 bytes from fe80::212:34ff:fe12:3450: icmp_seq=1 ttl=64 time=0.549 ms (DUP!)

Page 23: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur23

IPv6 com o traceroute6

O traceroute6 é similar ao traceroute do IPv4, por exemplo:

# traceroute6 www.6bone.net traceroute to 6bone.net (3ffe:b00:c18:1::10) from 2001:0db8:0000:f101::2, 30¬ hops max, 16 byte packets 1 localipv6gateway (2001:0db8:0000:f101::1) 1.354 ms 1.566 ms 0.407 ms 2 swi6T1-T0.ipv6.switch.ch (3ffe:2000:0:400::1) 90.431 ms 91.956 ms 92.377 ms 3 3ffe:2000:0:1::132 (3ffe:2000:0:1::132) 118.945 ms 107.982 ms 114.557 ms 4 3ffe:c00:8023:2b::2 (3ffe:c00:8023:2b::2) 968.468 ms 993.392 ms 973.441 ms 5 3ffe:2e00:e:c::3 (3ffe:2e00:e:c::3) 507.784 ms 505.549 ms 508.928 ms 6 www.6bone.net (3ffe:b00:c18:1::10) 1265.85 ms * 1304.74 ms

Outro programa parecido com o traceroute6 é o tracepath6, porém este descobre o MTU ao longo do caminho entre os hosts. Por exemplo:

# tracepath6 www.6bone.net 1?: [LOCALHOST] pmtu 1480 1: 3ffe:401::2c0:33ff:fe02:14 150.705ms 2: 3ffe:b00:c18::5 267.864ms 3: 3ffe:b00:c18::5 asymm 2 266.145ms pmtu 1280 3: 3ffe:3900:5::2 asymm 4 346.632ms 4: 3ffe:28ff:ffff:4::3 asymm 5 365.965ms 5: 3ffe:1cff:0:ee::2 asymm 4 534.704ms 6: 3ffe:3800::1:1 asymm 4 578.126ms !N Resume: pmtu 1280

Page 24: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur24

Outro comando útil para análise de redes IPv6 é o tcpdump, este que permite a analise de trafego da rede, tal comando implementa as seguintes opções para a analise de uma rede IPv6:

●icmp6: filtra trafego ICMPv6;

●ip6: filtra trafego IPv6 (incluindo ICMPv6)

●proto ipv6: filtra tuneis IPv6-in-IPv4.

Exemplos de comando tcpdump com IPv6:

# tcpdump -t -n -i eth0 -s 512 -vv ip6 or proto ipv6 tcpdump: listening on eth0 2001:0db8:100:f101:2e0:18ff:fe90:9205 > 2001:0db8:100:f101::1: icmp6: echo request (len 64, hlim 64) 2001:0db8:100:f101::1 > 2001:0db8:100:f101:2e0:18ff:fe90:9205: icmp6: echo reply (len 64, hlim 64)

Page 25: Redes - IPv6 Pratica

IPv6 - Linux Luiz Arthur25

fim