Ubuntu como um roteador IPv6 que não está usando a rota padrão do RA do upstream

1

Eu tenho uma caixa do Ubuntu 14.04 que funciona como meu roteador doméstico. Eu tenho um IPv6 / 64 delegado pelo meu provedor, e estou usando RA e o cliente WIDE DHCPv6 para configurar o IPv6. Tudo funciona bem, exceto que nenhuma rota padrão é definida. Se eu usar radvdump para ver os pacotes RA na minha interface WAN e usá-los para definir a rota padrão manualmente, tudo funcionará perfeitamente.

Eu poderia (e atualmente, eu) apenas colocar esta especificação de rota manual como um comando up em /etc/network/interfaces para a interface WAN, mas isso não é ideal - parece que toda vez que meu ISP faz manutenção, o endereço do roteador muda e eu tenho que reconfigurá-lo novamente. Eu gostaria de obter a rota do RA, mas eu simplesmente não consigo pegar esse set. Estou faltando alguma coisa?

eth1 é minha interface WAN e eth0 é a LAN.

configurações de sysctl

root@nix $ grep ipv6 /etc/sysctl.conf
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.eth1.accept_ra=2         # The WAN interface
net.ipv6.conf.eth1.accept_ra_defrtr=1
net.ipv6.conf.eth0.accept_ra=0         # The LAN interface
net.ipv6.conf.all.accept_redirects = 0

WIDE config

interface eth1 # WAN
{
  send ia-na 1;
  send ia-pd 1;
  request domain-name-servers;
  request domain-name;

  script "/etc/wide-dhcpv6/dhcp6c-script"; # does resolvconf work
};

id-assoc pd 1 {
  prefix-interface eth0 { # LAN
    sla-id 0;
        ifid 1;
        sla-len 0;
  };
};

id-assoc na 1 {
};

config radvd

interface eth0
{
        AdvManangedFlag off;
        AdvOtherConfigFlag off;
        AdvSendAdvert on;
        AdvLinkMTU 1280;
        prefix ::/64
        {
                AdvOnLink on;
                AdvAutonomous on;
        };
};

/ etc / network / interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The LAN interface
auto eth0
iface eth0 inet static
        address 172.20.0.1
        netmask 255.255.255.0

# The WAN interface
auto eth1
iface eth1 inet dhcp
iface eth1 inet6 auto
        # My current workaround:
        up ip -6 route add default via fe80::21b:edff:feb2:d481 dev eth1

Qualquer ajuda seria apreciada!

    
por justinian 08.05.2016 / 06:55

1 resposta

2

O Linux desliga accept_ra quando o encaminhamento está ativado. Para forçá-lo em sua interface upstream (digamos eth0 ) você pode usar net.ipv6.conf.eth0.accept_ra = 2 . Isso força a interface a aceitar anúncios do roteador mesmo quando o encaminhamento está ativado.

    
por 08.05.2016 / 11:37