Roteador linux de pilha dupla, não é possível encaminhar prefixo IPv6

1

Eu tenho uma pequena empresa aqui com algumas estações de trabalho e gostaria de implementar um pequeno servidor para coisas como um servidor proxy, samba etc. Esta é a topologia da referida rede:

+-----+   dynamic    +--------+        +-------------------+                 +--+workstation1
|     |  /56 prefix  |        |        |   Debian server   |        +--------+
| ISP +--------------+ Router +-+eth0+-+                   +-+eth1+-+ switch +--+workstation2
|     |   dynamic    |        |        | (squid,dhcp,etc.) |        +--------+
+-----+ IPv4 address +--------+        +-------------------+                 +--+workstationX

Eu gostaria que o servidor atribuísse endereços IPv6 globais (talvez locais também) e endereços IPv4 privados a todos os dispositivos conectados à eth1 por meio do switch. Eu pude obter o mascaramento de NAT trabalhando com dnsmasq e iptables, mas não consigo obter tráfego IPv6 ou mesmo distribuir endereços IPv6 para funcionar. O roteador tem três configurações diferentes na guia do servidor DHCP IPv6:

  • atribuir somente o servidor DNS
  • atribua o servidor DNS e o prefixo IPv6 aos roteadores de recebimento de dados ( o que eu suponho que esteja habilitado )
  • atribua servidor DNS, prefixo IPv6 a roteadores de recebimento de dados e endereço IPv6

Eu tentei seguir este guia. Descreve como configurar um servidor DHCPv6 com dnsmasq. Eu tenho uma eth0 de trabalho que obtém um local global, exclusivo e um endereço local de link. Mas minha interface eth1 nunca recebe um endereço IPv6 global, apenas um link local. Todos os dispositivos por trás do servidor têm um endereço IPv4 funcional, mas não posso definir o IP como um endereço estático porque o prefixo é dinâmico e muda todas as noites. Atualmente estou preso neste ponto.

Aqui estão meus arquivos de configuração.

Obrigado pela sua ajuda.

    
por Leo 22.11.2015 / 20:18

2 respostas

0

Eu encontrei o caminho. Minha interface eth0 tem seu IP por causa do habilitado net.ipv6.conf.eth0.accept_ra = 2 em /etc/sysctl.conf . O wide-dhcpv6-client tentou configurar o endereço eth0 novamente, mas ele já foi definido pelo anúncio do roteador. Então se você quiser que o wide-dhcpv6-client configure o ip apenas para a interface interna ( eth1 no meu caso) você tem que omitir o

id-assoc na 1 {
    # id-assoc for eth1
};

parte do tutorial postado. Caso contrário, o dhcp6c irá parar depois de ver que o endereço já está em uso.

Isto é o que meu dhcp6c.conf parece agora

interface eth0 {
        send ia-pd 1;
        request domain-name;
        request domain-name-servers;
        script "/etc/wide-dhcpv6/dhcp6c-script";
};

id-assoc pd 1 {
        prefix ::/64 infinity;
        prefix-interface eth1 {
                sla-len 0;
                sla-id 1;
                ifid 1;
        };
};

Agora tudo funciona como um encanto. Espero que esta informação ajude alguém com um problema semelhante.

    
por 23.11.2015 / 14:02
0

Você precisará atribuir um endereço IPv6 a eth1 , pois não poderá se autoconfigurar. Escolha um endereço /64 do seu /56 , embora você possa usar seu /56 . Eu usei o prefixo 2001:0db8:a1b2:c2d3::/64 no exemplo abaixo.

# This is an IPv6 interface
iface eth1 inet6 static
    address  2001:0db8:a1b2:c2d3::1
    netmask  64
    
por 22.11.2015 / 20:29