Como atualizar o registro AAAA do DNS quando os clientes SLAAC aparecem

4

Eu tenho um roteador / 64 do meu provedor e estou executando o radvd. Meus clientes (Linux, Windows) estão funcionando bem sem nenhuma configuração adicional quando são conectados ao roteador. Todos eles se atribuem endereços exclusivos com o prefixo ISPs / 64 via SLAAC para atribuição de endereços temporária e permanente (1).

Eu não estou executando o DHCPv6 e não pretendo. Como eu aprendi aqui , é completamente inútil para o SLAAC clientes, a menos que tenham configuração especial para usar o endereço DHCP atribuído, porque eles provavelmente irão ignorá-lo por padrão (2), o que é bom e preferido de qualquer maneira. Eu absolutamente não quero ter que fazer qualquer trabalho em máquinas cliente "estoque" que se conectam à rede.

Então, o ponto (1) acima: os endereços IPv6 do SLAAC que os clientes usam não são realmente permanentes. Colocá-los em Bind para registros AAAA do DNS funciona ... por um tempo. Este é o cerne do meu problema.

Não consigo descobrir como fazer com que o servidor DNS preencha seus registros com base em IPs do SLAAC.

Pergunta:

1) O radvd pode executar um script em um RA e levar isso para a etapa 2 ...

2) Eu sei da etapa anterior, que tenho um novo endereço FE80 para um novo cliente. Como posso obter o endereço IPv6 global do cliente que ele próprio atribuiu usando seu endereço FE80?

3) Depois, gostaria de atualizar o registro DNS de vinculação com seu endereço IPv6 global obtido na etapa 2.

O material acima que estou tentando realizar parece que deve ser colocado em toda a Internet - eu estou lutando para descobrir o que estou fazendo de errado que torna o meu caso de uso tão raro. Já existe um mecanismo que automaticamente realiza isso que estou faltando (tendo em mente que o DHCPv6 está fora de questão)?

Cumprimentos e agradecimentos

(2) Os clientes SLAAC do Ubuntu definitivamente ignoram as atribuições do DHCPv6 mesmo quando o radvd informa sobre eles. De fato, o Ubuntu (e talvez mais), ainda tem um bug antigo quando usado nesta configuração, onde na verdade não irá adicionar uma rota, tornando a conexão inútil sem alguma intervenção manual. Eu suponho que esse bug é muito baixa prioridade desde DHCPv6 em conjunto com radvd não é realmente a solução recomendada de qualquer maneira e estou perfeitamente bem com isso.

    
por ts90 19.07.2018 / 14:57

1 resposta

2

O Radvd envia mensagens multicast com informações da rede, não recebe respostas dos clientes sobre o que elas fazem com essas informações. Então (1) não funciona.

Endereços locais de link (os endereços fe80: ) não estão relacionados aos endereços unicast globais usados por um cliente. O passo (2) também não é possível.

As soluções comuns para o que você quer fazer são:

  • Use o SLAAC e o DHCPv6 em paralelo. Os endereços baseados em DHCPv6 são colocados no DNS pelo servidor DHCPv6 para conexões com o cliente, e os endereços SLAAC não são colocados no DNS para manter a privacidade das conexões de saída do cliente.
  • Use DHCPv6 sem SLAAC (desative o sinal A no RA) e deixe o servidor DHCPv6 colocar os endereços no DNS. Dispositivos baseados em Android não funcionarão em tal ambiente, então não é uma boa ideia.
  • Use o SLAAC e deixe o cliente colocar seus próprios endereços no DNS. Em ambientes gerenciados (lembro-me disso há muito tempo na era Win2k e Win2k3) isso pode ser configurado automaticamente.

Além disso, você também pode criar scripts em dispositivos nos quais é possível ver o endereço MAC e os endereços IPv6 usados na rede, por exemplo, em switches e no roteador de gateway padrão. Você pode escrever um script que monitore quais endereços IPv6 estão sendo usados, examine o endereço MAC para determinar qual dispositivo físico é, procure o nome do host desse dispositivo em um banco de dados e atualize o DNS com base nele. Eu não acho que exista um software padrão que faça isso para você.

    
por 19.07.2018 / 15:47