Anuncie uma rota de sub-rede com o radvd

6

configuramos uma pequena rede de testes IPv6. A configuração é assim:

    ::/0
+----------+
| Firewall | Router to the public net
+----------+
     |           2001:...::/106
     |       +----------+
     +-------|  SIT GW  | sit Tunnel gatway to the some test users
     |       +----------+
     |
+----------+
| Test Sys |  Testsystem
+----------+

A idéia é anunciar a rota padrão do firewall e a rota para as sub-redes SIT do gateway sit. As configurações para o radvd são:

# Firewall
interface eth0
{
   AdvSendAdvert on;
   route ::/0 
   {
   };
};


# SIT Gatway
interface eth0
{
   AdvSendAdvert on;
   route 2001:...::/106
   {
   };
};

Nós capturamos o adv. pacotes com o tcpdump e os pacotes parecem bons. Vemos uma rota padrão do fw e a rota da sub-rede a partir do SIT gatway.

Mas se olharmos no sistema de testes, existem duas rotas padrão nos dois gateways. Não há rota de sub-rede. O roteamento não funciona, é claro. Aqui as rotas que recebemos:

2001:.....::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::baac:6fff:fe8e:XXXX dev eth0  proto kernel  metric 1024  expires 0sec mtu 1500 advmss 1440 hoplimit 64
default via fe80::e415:aeff:fe12:XXXX dev eth0  proto kernel  metric 1024  expires 0sec mtu 1500 advmss 1440 hoplimit 64

Alguma ideia?

    
por Thomas Berger 11.10.2012 / 14:50

1 resposta

6

Encontrei o problema.

Por padrão, o kernel do Linux só aceita rotas padrão através das opções de anúncio do roteador no icmpv6.

Para corrigir isso, o parâmetro correto do kernel deve ser definido:

net.ipv6.conf.all.accept_ra_rt_info_max_plen = 128

A partir de documentos do kernel:

accept_ra_rt_info_max_plen - INTEGER Maximum prefix length of Route Information in RA.

    Route Information w/ prefix larger than or equal to this
    variable shall be ignored.

    Functional default: 0 if accept_ra_rtr_pref is enabled.
                        -1 if accept_ra_rtr_pref is disabled.
    
por 12.10.2012 / 16:41