Fazendo mudanças na rota IPv6 padrão persistente no CentOS 7

4

Eu tenho vários endereços IPv6 em um servidor CentOS 7 e preciso tornar um endereço v6 específico o endereço padrão usado no roteamento. Eu consegui fazer isso modificando a tabela de rotas.

ip -6 route del default
ip -6 route add default via 2001:470:xxxx:xx::1 src 2001:470:xxxx:xx::6

O problema é sempre que a interface de rede é reiniciada ou o próprio servidor é reinicializado, a mudança para a rota IPv6 padrão é perdida. Como posso fazer essa mudança persistente para que permaneça permanentemente?

    
por James White 26.08.2015 / 12:26

2 respostas

5

Quando os scripts de rede da Red Hat definem vários endereços IPv6 configurados em /etc/sysconfig/network-scripts/ifcfg-* , por qualquer motivo, eles são aplicados em ordem inversa, para que o endereço último listado em IPV6ADDR_SECONDARIES se torne o endereço usado por padrão para conexões de saída. Reverter a ordem em que os endereços IPv6 estão listados geralmente é suficiente para corrigir o problema.

Para responder à única pergunta de recompensa vagamente relacionada: as rotas estáticas do IPv6 podem ser definidas adicionando-as a um /etc/sysconfig/network-scripts/route6-* correspondente. O formato deste arquivo é o mesmo que o comando ip route add com esse bit omitido, por exemplo:

default via 2001:db8:dead:beef:: dev eno1
2001:db8:deca:fbad::/64 via 2001:db8:dead:beef::8bad:f00d dev eno1
    
por 19.01.2016 / 11:50
0

Um lugar que você pode colocar é no arquivo /sbin/ifup-local , que é executado quando uma interface aparece.

#!/bin/sh
if [[ "$1" == "eth0" ]]
then
  ip -6 route del default
  ip -6 route add default via 2001:470:xxxx:xx::1 src 2001:470:xxxx:xx::6
else
  #DO_NOTHING
fi

Não existe por padrão, portanto, você precisará criá-lo e definir permissões para torná-lo executável.

    
por 26.08.2015 / 13:20