Busca


imprimir pdf

IPv4 e IPv6


Teoria


Nos seguintes sites encontrará informações que o ajudarão a entender o IPv6:



IPv6 na OVH


Para as nossas instalações, dispomos da /32 seguinte: 2001:41D0::/32
Para roteamento, utilizamos routers Cisco 6k (6509 com cartas sup720 que redirigem nativamente os pacotes IPv6 ). Cada servidor dedicado na OVH dispõe de um ipv4 fixo, de um ou vários IPv4 failover e de 18.446.744.073.709.551.616 IPv6 que são "ligados" ao IPv4 fixo do servidor.

Um servidor dedicado também pode:

  • ter vários certificados SSL;
  • ter vários ftp anónimos;
  • fazer alojamento web em IP;
  • ter uma VPN pública;
  • e outros ...


Preparação



  • o servidor deve estar sobre um kernel ipv6. Este kernel está disponivel sobre o Netboot no manager.

  • o ipv6 atribuído ao servidor no manager deve ser recuperado.


Um exemplo ipv6

Uma IPv4:
213.186.35.9/24


torna-se a IPv6 seguinte:
2001:41d0:1:209::/64


Aqui está uns exemplos de IPv6 que podem ser configurados sobre este servidor dedicado:

2001:41d0:1:209::1/64
2001:41d0:1:209:FF:FF:FF:FF/64
2001:41d0:1:209:A::1:1/64
2001:41d0:1:209::1:B:F/64
2001:41d0:1:209:1:1:1:1/64


O seguinte exemplo é equivalente:

2001:41d0:1:209::1:B:F/64
2001:41d0:1:209:0:1:B:F/64
2001:41D0:0001:0209:0000:0001:000B:0000F/64


//!\\ Só podemos colocar uma unica vez os :: em toda a cadeia


Um exemplo ifconfig

Após ter passado o servidor sobre um kernel IPv6 após o reboot, já aparece uma informação IPv6 no ifconfig:
adr inet6: fe80::2e0:4cff:fe99:88d0/64 Scope:Lien


Trata-se aqui de uma relação local que o router atribuiu a este servidor.
Podemos então presumir que IPv6 está operacional sobre a rede.

Route: Gateway IPv6

O router (gateway por defeito) para cada IPv6 encontra-se sempre sobre IP:v:6:FF:FF:FF:FF:FF
Um exemplo:

O IPv6 do servidor: 2001:41D0:1:46e::/64 torna-se 2001:41D0:1:4 + 5 vezes FF.
Gateway ipv6: 2001:41D0:1:4FF:FF:FF:FF:FF

O IPv6 do servidor: 2001:41d0:1:209::/64 torna-se 2001:41d0:1:2 + 5 vezes FF.
Gateway ipv6: 2001:41d0:1:2FF:FF:FF:FF:FF


Instalação IPv6


Para todos os releases linux nos exemplos abaixo devemos pôr o servidor sobre um kernel ipv6 e devemos recuperar o IPv6 no manager:
O uname -a retorna o link sobre kernel IPv6 e o comando ifconfig mostra-nos que graças ao router temos a relação local em IPv6.


Redhat, CentOS, Fedora


O servidor dedicado que vamos configurar está em IPv4 : 213.186.35.9/24 o que dá em IPv6 : 2001:41d0:1:209::/64. Os exemplos abaixo são idênticos para redhat 7.2, fedora e CentOS. Também podem ser aplicados sobre a release plesk 8 ovh fedora 4.

ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:4C:99:88:D0
inet adr:213.186.35.9 Bcast:213.186.35.255 Masque:255.255.255.0
adr inet6: fe80::2e0:4cff:fe99:88d0/64 Scope:Lien


Vamos adicionar 2001:41D0:1:209::1/64 e 2001:41D0:1:209::5/64 sobre eth0:
/sbin/ifconfig eth0 inet6 add 2001:41D0:1:209::1/64
/sbin/ifconfig eth0 inet6 add 2001:41D0:1:209::5/64


De forma a que o IPv6 não desapareça no próximo reboot, devemos adicioná-lo no ficheiro de configuração da interface eth0. Vamos fazer uma cópia do ficheiro e depois editá-lo:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth.backup
pico /etc/sysconfig/network-scripts/ifcfg-eth0


Aqui está o conteúdo do ficheiro após a modificação. As opções a vermelho foram adicionadas:
DEVICE=eth0
BOOTPROTO=static
IPADDR=213.186.35.9
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=213.186.35.254
IPV6INIT=yes
IPV6ADDR="2001:41D0:1:209::5/64"
IPV6ADDR_SECONDARIES="2001:41D0:1:209::5/64"


Todos os IPv6 seguintes devem estar sobre a linha IPV6ADDR_SECONDARIES
Devemos ainda editar o ficheiro /etc/sysconfig/network e adicionar a linha NETWORKING_IPV6=yes
# This line commented out by System Configurator
NETWORKING=yes
HOSTNAME=ghost.ovh.net
GATEWAY=0.0.0.0
NETWORKING_IPV6=yes


Devemos reiniciar com /etc/init.d/network restart
Nota: É possível que redhat apresenta um erro : modprobe: Can't open dependencies file ...Pode ignorar este erro não influência o resultado.

ifconfig ?
ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:4C:99:88:D0
inet adr:213.186.35.9 Bcast:213.186.35.255 Masque:255.255.255.0
adr inet6: 2001:41d0:1:209::1/64 Scope:Global
adr inet6: 2001:41d0:1:209::5/64 Scope:Global
adr inet6: fe80::2e0:4cff:fe99:88d0/64 Scope:Lien


É possível que consiga pingar a gw mas sem poder utilizar o seu ipv6, neste caso adicione uma rota por defeito:

route -A inet6 add default gw votre.gateway.ipv6 dev eth0


Por exemplo:

route -A inet6 add default gw 2001:41d0:1:2FF:FF:FF:FF:FF dev eth0


Gentoo


O servidor dedicado que vamos configurar está em IPv4: 213.186.40.86/24 o que dá em IPv6 : 2001:41d0:1:756::1/64. Do seu lado, deve recuperar o seu IPv6 no seu manager e iniciar sobre o kernel IPv6. O comando ifconfig mostra-nos que graças ao router já temos uma relação local em IPv6.
ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:4C:8D:73:4D
inet adr:213.186.40.86 Bcast:213.186.40.255 Masque:255.255.255.0
adr inet6: fe80::2e0:4cff:fe8d:734d/64 Scope:Lien


O ficheiro /etc/conf.d/net deve ser editado e adiciondos os IPv6 nas () da interface eth0. Aqui está o conteúdo do ficheiro após a adição dos IPv6. As modificações feitas estão em vermelho:
config_eth0=( "213.186.40.86 netmask 255.255.255.0"
"2001:41D0:1:756::1/64"
"2001:41D0:1:756::2/64" )

routes_eth0=( "default gw 213.186.40.254" )


Reiniciamos a interface :
/etc/init.d/net.eth0 restart


ifconfig ?
ifconfig
eth0 Lien encap:Ethernet HWaddr 00:E0:4C:8D:73:4D
inet adr:213.186.40.86 Bcast:213.186.40.255 Masque:255.255.255.0
adr inet6: 2001:41d0:1:756::1/64 Scope:Global
adr inet6: 2001:41d0:1:756::2/64 Scope:Global
adr inet6: fe80::2e0:4cff:fe8d:734d/64 Scope:Lien


É possível que consiga pingar a gw mas sem poder utilizar o seu ipv6, neste caso adicione uma rota por defeito:

route -A inet6 add default gw votre.gateway.ipv6 dev eth0


Por exemplo:

route -A inet6 add default gw 2001:41d0:1:2FF:FF:FF:FF:FF dev eth0


Debian, Ubuntu


O servidor dedicado que vamos configurar está em IPv4: 213.251.132.138/24 o que dá em IPv6: 2001:41D0:1:218a::/64. Do seu lado, deve recuperar o seu IPv6 no seu manager e reiniciar sobre o kernel IPv6. O comando ifconfig mostra-nos que graças ao router já temos uma relação local em IPv6.
eth0 Lien encap:Ethernet HWaddr 00:11:11:6C:E3:93
inet adr:213.251.132.138 Bcast:213.251.132.255 Masque:255.255.255.0
adr inet6: fe80::211:11ff:fe6c:e393/64 Scope:Lien


Devemos editar o ficheiro: /etc/network/interfaces e adicionar os IPv6;
iface eth0 inet6 static
address 2001:41D0:1:218a::1
netmask 64


para cada ipv6 a mais, devemos os adicionar no fim do ficheiro :

post-up /sbin/ifconfig eth0 inet6 add 2001:41D0:1:218a::2/64
pre-down /sbin/ifconfig eth0 inet6 del 2001:41D0:1:218a::2/64


depois, para a próxima :
post-up /sbin/ifconfig eth0 inet6 add 2001:41D0:1:218a::4/64
pre-down /sbin/ifconfig eth0 inet6 del 2001:41D0:1:218a::4/64



ifconfig ?
ifconfig
eth0 Lien encap:Ethernet HWaddr 00:11:11:6C:E3:93
inet adr:213.251.132.138 Bcast:213.251.132.255 Masque:255.255.255.0
adr inet6: 2001:41d0:1:218a::1/64 Scope:Global
adr inet6: 2001:41d0:1:218a::2/64 Scope:Global
adr inet6: 2001:41d0:1:218a::4/64 Scope:Global
adr inet6: fe80::211:11ff:fe6c:e393/64 Scope:Lien


É possível que consiga pingar a gw mas sem poder utilizar o seu ipv6, neste caso adicione uma rota por defeito:

route -A inet6 add default gw votre.gateway.ipv6 dev eth0


Por exemplo:

route -A inet6 add default gw 2001:41d0:1:2FF:FF:FF:FF:FF dev eth0


Free BSD


O servidor dedicado que vamos configurar está em IPv4: 213.186.40.117/24 o que dá em IPv6: 2001:41D0:1:775::/64. Os nossos servidores Free BSD não precisam de ser reiniciadps sobre kernel em netboot, no entanto, devemos recuperar o IPv6 no manager.
Aqui, nos exemplos a interface é rl0. É possível que a interface esteja no seu ifconfig marcado como vr0. Neste caso, basta simplesmente substituir todos os rl0 abaixo por vr0.

Vamos começar por adicionar em /etc/sysctl.conf as linhas:
net.inet6.ip6.accept_rtadv=1


e reiniciar:
/etc/rc.d/sysctl restart


para activar a opção router advertisement.
Depois basta adicionar o IPv6, primeiro a mão
ifconfig rl0 inet6 2001:41D0:1:756::/64


para obter a informação sobre o default_router. A informação que procuramos está a vermelho:
rtsol -d rl0
checking if rl0 is ready...
get_llflag() failed, anyway I'll try
send RS on rl0, whose state is 2
received RA from fe80::2d0:3ff:fe75:e000 on rl0, state is 2
stop timer for rl0
there is no timer


Todas as informações para a configuração de /etc/rc.conf estão la. Vamos então adicionar as seguintes linhas no fim do ficheiro:
ipv6_enable="YES"
ipv6_network_interface="rl0"
ipv6_ifconfig_rl0="2001:41D0:1:756::1 prefixlen 64"
ipv6_ifconfig_rl0_alias0="2001:41D0:1:756::12 prefixlen 64


Cada IPv6 suplementar é adicionado como pv6_ifconfig_rl0_aliasX= .
Reiniciamos:
/etc/rc.d/network_ipv6 restart


ifconfig ?
rl0: flags=8843 mtu 1500
inet6 fe80::2e0:4cff:fe89:2883%rl0 prefixlen 64 scopeid 0x1
inet 213.186.40.117 netmask 0xffffff00 broadcast 213.186.40.255
inet6 2001:41d0:1:756::1 prefixlen 64 duplicated
inet6 2001:41d0:1:756::12 prefixlen 64
inet6 2001:41d0:1:756::13 prefixlen 64
ether 00:e0:4c:89:28:83



Windows


Devemos ligar-nos via TSE ao servidor e depois clicar como segue sobre:

Start > Control Panel > Network Connexion > Local Area Connection > Proprerties


Uma vez nesta janela faça:
Install > Protocol > Add > Microsoft TCP/IP version 6 > OK


Depois:
Start > Command Prompt


para lançar o comando:
netsh interface ipv6 add address "Local Area Connection" 2001:41d0:1:733::1


Verificação


Test ping6

Fazemos o ping6 num routeur :
ping6 -c 4 2001:41d0:1:2FF:FF:FF:FF:FF
PING 2001:41d0:1:2FF:FF:FF:FF:FF(2001:41d0:1:2ff:ff:ff:ff:ff) from 2001:41d0:1:209::5 : 56 data bytes
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=0 hops=64 time=127.977 msec
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=1 hops=64 time=24.242 msec
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=2 hops=64 time=205.934 msec
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=3 hops=64 time=129.853 msec

4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/mdev = 24.242/122.001/205.934/64.613 ms


Teste traceroute6


Um traceroute6 para o servidor DNS IPv6 da Afnic:
traceroute6 2001:660:3006:1::1:1
traceroute to 2001:660:3006:1
1:1 (2001:660:3006:1
1:1) from 2001:41d0:1:209::5, 30 hops max, 16 byte packets
1 2001:41d0:1:2ff:ff:ff:ff:ff (2001:41d0:1:2ff:ff:ff:ff:ff) 0.726 ms 0.508 ms *
2 * * *
3 renater.sfinx.tm.fr (2001:660:a100:2::1) 0.879 ms 0.787 ms 0.721 ms
4 afnic.sfinx.tm.fr (2001:660:a100:2::101) 1.13 ms 1.131 ms 1.099 ms
5 ns3.nic.fr (2001:660:3006:1::1:1) 0.933 ms 0.954 ms 0.922 ms


Isto funciona.
Há alguns sítios que dispõem das ferramentas para fazer um traceroute6 ou um ping6 online.
Podemos as utilizar para verificar se os IPs adicionados funcionam.