Linux Roteamento de loopback IPv6 sendo adicionado automaticamente

2

Nós temos um roteador rodando o Debian Lenny que tem roteado o IPv6 por vários meses. Nosso upstream avisou que o nosso intervalo de endereços está mudando, e ambos estão atualmente operacionais, então eu pensei em adicionar o segundo endereço para testes.

ip -6 addr add 2405:3c00:1:13::2/64 dev eth1

# ping6 2405:3c00:1:13:: (our upstream router)
64 bytes from 2405:3c00:1:13::2: icmp_seq=1 ttl=64 time=0.089 ms

O que?

# ip -6 route get 2405:3c00:1:13::
local 2405:3c00:1:13:: from :: via :: dev lo  table local  proto none  src 2405:3c00:1:13::2  metric 0  mtu 16436 advmss 16376 hoplimit 4294967295
# route -6 | grep 2405
2405:3c00:1:13::/64        ::                    U    256 0     1 eth1
2405:3c00:1:13::/128       ::                    Un   0   1     0 lo
2405:3c00:1:13::2/128      ::                    Un   0   1     0 lo

Estou curioso para saber como a rota ...13::/128 chegou. Aparece cerca de dois segundos depois de adicionar o endereço à interface. O radvd (8) não está habilitado na interface, desabilitar accept_ra e autoconf não faz diferença.

Existe alguma maneira fácil de monitorar qual processo está modificando a tabela de roteamento? Alguém tem alguma idéia brilhante sobre o que pode ser o culpado?

    
por Zanchey 10.11.2010 / 15:37

2 respostas

3

Em qualquer sub-rede / 64, o endereço :: 0 é o endereço anycast do roteador de sub-rede; identifica todos os roteadores no link. Como você tem o net.ipv6.conf.all.forwarding ativado, o sistema se identifica como um roteador e se junta a esse grupo anycast. Infelizmente, esse comportamento não está realmente documentado ou configurável, então você provavelmente tem a solução certa.

Mais ideal seria não usar esse endereço, já que é tecnicamente reservado, mas isso pode não ser uma opção com seu ISP.

Você deve ter notado que a rota só aparece com route -6 e não ip -6 route . Isso ocorre porque a rota está na tabela local , em vez de main . Você pode ver com ip -6 route list table local . Apenas remover essa rota / 128 pode fazer o truque.

    
por 20.12.2010 / 05:18
1

(No curto prazo, resolvemos isso com

# ip -6 addr add 2405:3c00:1:13::/128 dev  eth1
# ip -6 addr delete 2405:3c00:1:13::/128 dev  eth1
# route -6 | grep 3c00
2405:3c00:1:13::/64            ::                         U    256 0     0 eth1
2405:3c00:1:13::2/128          ::                         Un   0   1     0 lo

mas isso é um hack corpóreo.)

    
por 10.11.2010 / 15:38