Estou configurando uma rede de pilha dupla em um servidor KVM usando endereços IPv4 e IPv6 estáticos fornecidos pelo meu provedor.
Eu introduzo todos os endereços, servidores de nomes e gateways conforme necessário ao instalar o Ubuntu. Depois disso, verifiquei o /etc/network/interfaces
arquivo e notei que a estrofe do IPv6 estava ausente (uma ifconfig
execução confirmou isso); por isso, adicionei as linhas relevantes. Este é o arquivo final:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 151.236.18.86
netmask 255.255.255.0
network 151.236.18.0
broadcast 151.236.18.255
gateway 151.236.18.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 91.227.204.227 91.227.205.227
dns-search mydomainname.com
iface eth0 inet6 static
pre-up modprobe ipv6
address 2001:b60:1000:151:236:18:86:0
netmask 112
gateway 2001:b60:1000::1
dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
dns-search mydomainname.com
Em seguida, reiniciei a rede via sudo /etc/init.d/networking stop && sudo /etc/init.d/networking restart
e notei que, enquanto o IPv4 estava funcionando, a conectividade IPv6 de saída não estava disponível (ainda não verifiquei a conectividade de entrada).
ifconfig
e ip -6 addr
mostre que o endereço IPv6 é reconhecido:
eth0 Link encap:Ethernet HWaddr 52:54:00:b1:27:87
inet addr:151.236.18.86 Bcast:151.236.18.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:feb1:2787/64 Scope:Link
inet6 addr: 2001:b60:1000:151:236:18:86:0/112 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16409 errors:0 dropped:0 overruns:0 frame:0
TX packets:1178 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1126656 (1.1 MB) TX bytes:763658 (763.6 KB)
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:b60:1000:151:236:18:86:0/112 scope global
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:feb1:2787/64 scope link
valid_lft forever preferred_lft forever
Pelo contrário, nenhuma rota padrão existe para a pilha IPv6:
$ ip -6 route
2001:b60:1000:151:236:18:86:0/112 dev eth0 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
Tentar adicionar a rota ausente leva ao erro "Nenhuma rota para hospedar":
$ sudo ip -6 route add default via 2001:b60:1000::1
RTNETLINK answers: No route to host
O que poderia estar errado e como posso corrigir a configuração de rede para que a pilha IPv6 funcione?
fonte
ping6 -c 3 ipv6.google.com
, o DNS encontrou o endereço, mas houve 100% de perda de pacotes). Alguma ideia?Sua máscara de rede deve ser 64. Com o IPv6, toda LAN é geralmente um / 64. Eu acho que seu provedor permite que você use um / 112 a partir desse / 64, mas você deve configurar um / 64 na interface.
fonte
Aconteceu que o comprimento da máscara de rede que o provedor me forneceu estava incorreto: o correto estava
48
. Mudar fez o truque.fonte