Configure o IPv6 estático no Ubuntu

3

Estou tentando configurar o IPv6 em um servidor Ubuntu dedicado. Meu provedor me deu um "/ 64" (o que quer que seja - ainda estou confuso) de endereços IPv6.

No entanto, quando tento usá-los, não consigo pingar nada. O que eu faço? : (

# ping6 ipv6.google.com
    PING ipv6.google.com(vx-in-x63.1e100.net) 56 data bytes
    From fe80::219:d1ff:fefb:42d8 icmp_seq=1 Destination unreachable: Address unreachable
    From fe80::219:d1ff:fefb:42d8 icmp_seq=2 Destination unreachable: Address unreachable
    From fe80::219:d1ff:fefb:42d8 icmp_seq=3 Destination unreachable: Address unreachable

     --- ipv6.google.com ping statistics ---
    3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2014ms

# tracepath6 ipv6.google.com
    1?: [LOCALHOST]                        0.025ms pmtu 1500
    1:  fe80::219:d1ff:fefb:42d8%eth0                       2000.022ms !H
    Resume: pmtu 1500

# cat /etc/network/interfaces
    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    auto eth0
    iface eth0 inet static

    address 64.***.***.***
    netmask 255.255.255.248
    gateway 64.***.***.***

    iface eth0 inet6 static
    pre-up modprobe ipv6
    address 2607:F878:1:***::1
    netmask 64
    gateway 2607:F878:1:***(same as address)::1

# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:19:d1:fb:42:d8
         inet addr:64.***.***.***  Bcast:64.***.***.***  Mask:255.255.255.248
         inet6 addr: fe80::219:d1ff:fefb:42d8/64 Scope:Link
         inet6 addr: 2607:f878:1:***::1/64 Scope:Global
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:52451 errors:0 dropped:0 overruns:0 frame:0
         TX packets:39729 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:6817761 (6.8 MB)  TX bytes:6153835 (6.1 MB)
         Interrupt:41 Base address:0xc000

    lo        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:166 errors:0 dropped:0 overruns:0 frame:0
         TX packets:166 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:31714 (31.7 KB)  TX bytes:31714 (31.7 KB)
    
por Charles Offenbacher 23.06.2011 / 04:15

2 respostas

3

Os gateways padrão funcionam de maneira um pouco diferente no IPv6.

O que eu sugiro que você faça é abrir tcpdump e assistir a Router Advertisements (você pode querer analisar a captura no WireShark - muito mais fácil). É assim que seu host IPv6 sabe como acessar a Internet. Observe também Neighbor Solicitation , pois este é o substituto do ARP.

Se você vir essas solicitações chegando, mas não voltando, o firewall interno está bloqueando o tráfego IPv6. Se você vê-los saindo (pedidos), mas não de volta, então você precisa ter certeza de que o tamanho do prefixo está correto (essa é a parte /64 . Embora eu tenha visto muito /64 s sendo passado que são realmente um /48 ).

Grande Importante em Negrito

O ICMP é absolutamente crítico para a funcionalidade do IPv6. No IPv4, ele pode ser bloqueado sem grande impacto, mas no IPv6, toda a rede depende do ICMP para todas as suas funcionalidades. Não bloqueie.

Em referência a

My provider gave me a "/64" (whatever that is - I'm still confused) of IPv6 addresses

Esse é o tamanho do seu prefixo, anteriormente conhecido como Subnet Mask usado para CIDR . Quanto menor o número, mais endereços IP você tem. Para o IPv6, /64 e /48 são muito comuns e devem fornecer mais endereços IP do que você jamais precisará em toda a sua vida.

    
por 23.06.2011 / 04:48
3

Não defina o gateway no host atuando como o roteador para si mesmo. Se o seu ISP forneceu um endereço de gateway, use-o como o gateway no host ou deixe que o host use os anúncios do roteador para se configurar. O endereço do gateway nunca deve ser o mesmo que o endereço do próprio servidor. O endereço usado para rotear outros hosts não deve ter um gateway atribuído.

O seu ISP pode ter lhe fornecido um endereço para sua interface externa (Internet). Configure sua interface eth0 usando isso com o endereço do gateway correspondente, se for fornecido. Use o endereço / 64 em sua interface interna (eth1) se você tiver um. Você também vai querer configurar radvd para rodar nessa interface.

Se você não tem uma interface interna, você pode adicionar um endereço estático em seu intervalo / 64 adicionando uma linha à sua configuração inet6 como.

up ip -6 addr add 2607:F878:***::2 dev eth0

Conheça os comandos ip , como ip -6 addr , ip -6 route e ip -6 neigh . É comum ter vários endereços e rotas.

    
por 24.06.2011 / 09:04