A solução 1 pode funcionar para a autenticação de um controle de usuários de um domínio. Em sua pergunta, você parece ter imposto algumas restrições a si mesmo, talvez devido a alguns mal-entendidos ou talvez porque deseja que ele funcione sem autenticar o controle de usuários do domínio.
- Você não deve usar apenas dois servidores DNS. Dois é o mínimo, mas eu iria mais alto que isso. O número exato de servidores DNS a usar é uma questão de opinião. Eu sinto que quatro é uma boa escolha. Com um número maior de servidores DNS usados por cada domínio, você terá mais combinações possíveis.
- Os registros NS são como você já observou apontando para nomes. É possível ter vários desses nomes apontando para os mesmos endereços IP, o que significa que você não tem falta de nomes.
- Seu serviço precisa de IPv4 e IPv6. Com o IPv6, você também não tem escassez de endereços IP. É perfeitamente possível que cada servidor ouça endereços IPv6 suficientes para que você possa ter um endereço IP exclusivo para cada um de seus usuários.
Qualquer uma das três observações acima deve preencher as lacunas na sua solução proposta 1 para que ela funcione, supondo que você autentique o controle do domínio pelo usuário.
Se você quiser uma solução que funcione sem que o usuário primeiro autentique o controle do domínio, só posso sugerir que você dependa do IPv6.
Uma solução híbrida poderia fornecer um fluxo suave para os usuários. Eu criaria da seguinte forma:
- Atribua um espaço de endereço / 64 a cada um dos seus servidores DNS.
- Atribua um identificador de interface de 64 bits a cada usuário.
- Atribua 3 nomes de host a cada grupo de servidores DNS mais a combinação de usuários (um somente v4, um somente v6 e um dual-stack). O nome do host pode, por exemplo, parecer com
kasperd-ns1-ds.example.com
.
Um usuário pode criar qualquer nome de zona que desejar. Ele será imediatamente disponibilizado nos endereços IPv6 desse usuário.
A exibição de uma zona específica nos endereços IPv4 (que são necessariamente compartilhados entre os usuários) funcionará por ordem de chegada. Mas qualquer usuário posterior pode autenticar o controle sobre o domínio, apontando os registros do domínio para qualquer um dos nomes de host atribuídos a esse usuário. O controle autenticado do domínio supera o princípio do primeiro a chegar.