Como atualizo meu arquivo / etc / network / interfaces para que a caixa seja apresentada APENAS com o endereço auto-atribuído IPv6?

8

Peço desculpas por essa pergunta flagrante de novato, mas eu gostaria de fazer isso "do jeito certo" e não apenas nos atrapalhar até que pareça funcionar, e a documentação que tenho não parece abordar esse caso.

Atualmente, uma caixa Debian Linux com a qual estou trabalhando tem o seguinte arquivo / etc / network / interfaces:

auto lo
iface lo inet loopback
auto bond0
iface bond0 inet dhcp
pre-up modprobe bonding mode=active-backup miimon=100 primary=eth0
pre-up ip link set bond0 up
pre-up /sbin/ifenslave bond0 eth0
pre-up /sbin/ifenslave bond0 eth1

O exemplo acima funciona bem, e geralmente faz o que eu quero - na inicialização, a caixa aparece e os dois conectores Ethernet são usados ​​para failover / redundância (ou seja, a caixa usa o primeiro conector para comunicações, se estiver funcionando, caso contrário, ele usa o segunda tomada).

No entanto, para meus propósitos, não quero usar IPv4 ou DHCP. Gostaria que a caixa apresentasse bond0 usando APENAS o endereço auto-atribuído IPv6 da caixa (ou seja, fe80 :: o que quer que: seja: é) e nenhum outro endereço IP (bem ... o loopback está bom). Qual é a maneira correta de especificar isso? Devo alterar "iface bond0 inet dhcp" para "iface bond0 inet6"? Remover essa linha completamente? Algo mais? Idealmente, eu gostaria de poder usar exatamente o mesmo arquivo em várias caixas sem modificá-lo para cada uma, btw.

Jeremy Friesner
fonte

Respostas:

5

Não tenho experiência com seu dispositivo de ligação específico, mas experimentei o seguinte teste em uma VM no Debian Lenny com uma única placa de rede ( eth0). Em /etc/network/interfaces:

auto eth0
iface eth0 inet manual
    up /sbin/ifconfig eth0 0.0.0.0

Depois de mencionar eth0, eis o que recebo /sbin/ifconfig eth0:

eth0       Link encap:Ethernet  HWaddr 08:00:27:15:8e:d7
           inet6 addr: fe80::a00:27ff:fe15:8ed7/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           ...

Portanto, eu tenho um endereço local de link IPv6 (derivado do endereço MAC) e nenhum endereço IPv4. Posso usar ping6outra máquina na minha rede local pelo endereço local do Link e vice-versa, para que a interface pareça funcionar.

Portanto, para resumir: tente definir a ifacelinha da sua bond0interface para:

iface bond0 inet manual

e adicione esta linha ao final de sua sub-rotina de configuração:

up /sbin/ifconfig bond0 0.0.0.0

Não tenho idéia se esse é "o caminho certo" para fazê-lo, mas funciona no meu caso simplificado.

Steven segunda-feira
fonte
Obrigado, isso parece ter funcionado (substitui bond0 por eth0, é claro). :) Parece que a linha "up / sbin / ifconfig bond0 0.0.0.0" não é necessária (pareço obter o resultado desejado sem ela). Existe alguma razão sutil para tê-lo? O que significa instalar uma interface no endereço 0.0.0.0 inválido?
Jeremy Friesner 5/11
Ainda bem que isso funcionou para você. Você provavelmente não precisou dessa up ... 0.0.0.0linha porque sua sub-rotina de configuração bond0já estava vazia. No meu teste, eu precisava colocar algo depois da ifacelinha, porque, caso contrário ifup eth0, silenciosamente falharia em mostrar eth0. Definir o endereço IPv4 como 0.0.0.0 é basicamente o mesmo que remover o endereço, que é o efeito desejado nesse caso.
Steven segunda-feira
4

Você realmente não quer fazer sua configuração de vínculo manualmente ... em vez disso, use os parâmetros de configuração específicos de vínculo disponíveis:

iface bond0 inet6 manual
    slaves eth0 eth1
    bond_mode active_backup
    bond_miimon 100
    bond_primary eth0

O manualon- ifaceline significa que nenhuma configuração explícita dos atributos de nível IP / IPv6 da interface será configurada.

mulher
fonte