Endereço IPv6 não está definido

2

Estou com um problema ao configurar o endereço IPv6 no Ubuntu 10.04. Desativei meu gerenciador de rede. Meu arquivo / etc / network / interface é assim:

iface eth0 inet6 static
pre-up modeprobe ipv6
address fe80::1
netmask 10
gateway fe80::2

Eu configurei meu endereço IP como fe80 :: 1 mas quando eu up eth0 ifconfig mostra

inet6 addr:  fe80::a00:27ff:fe1e:5edf/64 Scope:Link

Por que mostra um endereço IP diferente?

Quando eu corro

ping6 fe80::a00:27ff:fe1e:5edf/64

Ele me diz um host desconhecido. Por quê?

    
por Akshit Khurana 18.04.2012 / 12:45

2 respostas

3

Você mencionou em um comentário que você usa ifconfig para ativar a interface. Neste caso, seu problema é que o ifconfig não usa o arquivo interfaces (ele apenas informa à interface para começar a receber pacotes). Este arquivo de configuração é específico para Debian / Ubuntu e é lido apenas pelas ferramentas ifupdown ifup e ifdown . Então você teria que usar:

ifup eth0

Mesmo assim, sua configuração será rejeitada porque a sintaxe do arquivo de configuração usa " iface ", não " interface ", para denotar uma nova interface lógica. (Veja o manual interfaces (5) para descrição completa da sintaxe.)

(Sua linha pre-up também é 1) desnecessária: é feita automaticamente e 2) digitada incorretamente: é " modprobe ".)

O endereço fe80::a00:27ff:fe1e:5edf é mostrado não por causa de qualquer configuração, mas porque o IPv6 exige isso. Cada interface é necessária para ter um endereço link-local baseado no "ID da interface" (seu endereço MAC); esses endereços são adicionados automaticamente pelo kernel do Linux.

(Lembre-se de que uma interface pode ter muitos endereços. Você pode ter fe80::1 e fe80::a00:27ff:fe1e:5edf na mesma interface e ainda funcionará.)

Lembre-se também de que os endereços fe80::/10 são link-local . Em outras palavras, eles nunca são roteados , e a configuração da configuração gateway não tem sentido.

Isso significa que sempre que você tentar acessar um endereço local de link, você deve especificar manualmente a interface a ser usada - isso é feito por adicionando um índice de zona ao endereço. (No Linux, o índice de zona é o mesmo que o nome da interface.) Por exemplo, para conectar-se ao eth0 , você precisa adicionar %eth0 :

ping6 fe80::a00:27ff:fe1e:5edf%eth0

(A resposta de Oliver Salzburg também está correta - você não deve especificar uma máscara de sub-rede ao se referir a um único host.)

    
por 18.04.2012 / 14:37
0

Eu não acho que você tenha que fornecer uma máscara de sub-rede para ping .

ping6 fe80::a00:27ff:fe1e:5edf

Deve ficar bem.

    
por 18.04.2012 / 12:56

Tags