Maneira apropriada para definir o endereço IPv6 de saída padrão no Linux em ifcfg-eth0

0

Qual opção de configuração do onboot definirá o endereço IPv6 de saída padrão a ser usado quando uma máquina Linux iniciar uma conexão IPv6 de saída? IPV6ADDR= não funciona para especificar o endereço IPv6 de saída padrão.

Eu tenho uma máquina com vários endereços alias IPv6 em eth0. Eu especifico ifcfg-eth0 para definir o IPV6ADDR_SECONDARIES= para uma longa lista de endereços IPv6.

O Linux parece escolher aleatoriamente um desses endereços IPv6 para usar como IPv6 de saída padrão a ser usado. Não rima ou razão em que ele usa, e é chato. Alguns endereços IPv6 são apenas para serviços de entrada e não quero expor esses endereços a outras pessoas ao iniciar conexões de saída.

Eu posso dizer manualmente ao Linux para parar de usar um endereço IPv6 de saída:

ip -6 addr show | grep global
sudo ip addr change 2111:aaaa:bbbb:cccc:1:2:3:4 dev eth0 preferred_lft 0
ip -6 addr show | grep global

Então ele pára de usar 2111:aaaa:bbbb:cccc:1:2:3:4 como o IPv6 de saída padrão e começa a usar o próximo em sua lista de acordo com ip -6 addr show | grep global. Esta é uma solução manual até que eu encontre IPV6_OUTBOUND= ou qualquer parâmetro para especificar o endereço IPv6 de saída principal.

Em comparação, o IPv4 parece usar seu IPADDR= como o IP de saída padrão. A versão IPv6 desse parâmetro, IPV6ADDR= não define o endereço IPv6 de saída padrão - ele geralmente usa um no IPV6ADDR_SECONDARIES= Lista.

Eu estou usando o Centos 6.

Crash Override
fonte

Respostas:

2

A maneira de fazer isso é surpreendentemente na tabela de roteamento. Cada rota pode ter um src opção que define o endereço de origem padrão para essa rota. Dessa forma, você pode definir um endereço de origem padrão diferente, por exemplo, para uso em seu próprio data center e ao usar a rota padrão.

No CentOS, usando os scripts de rede, você pode armazenar uma rota personalizada /etc/sysconfig/network-scripts/route6-<interface>. Sua sintaxe é a mesma que ip route add, com esses três tokens omitidos:

default via 2001:db8:c0:ffee:: src 2001:db8::123 dev enp4s0f0 metric 1
Sander Steffann
fonte
1

Isso está acontecendo porque todos os seus endereços IPv6 são considerados iguais seleção de endereço de origem . Quando nenhum endereço é preferido em detrimento de outro, o Linux escolhe um aleatoriamente.

Isso é um pouco complicado e um pouco abusa da definição de um endereço residencial IPv6 , mas deveria fazer:

Defina o endereço de saída desejado como o endereço residencial. Isso faz com que o endereço designado ganhe quando as regras de seleção de origem são aplicadas.

ip addr change 2001:db8:c0:ffee::4 home dev enp4s0f0

No momento, isso não pode ser configurado nos scripts de rede da Red Hat; você precisará adicioná-lo em um script local, como /sbin/ifup-local.

E note que você provavelmente não pode fazer isso no CentOS 6. Você precisará do CentOS 7.

Michael Hampton
fonte