Sincronizar seu DNS para vários provedores: DNSControl
Sincronizar seu DNS para vários provedores
DNSControl é um sistema para manter zonas DNS. Ele tem duas partes: uma linguagem específica de domínio (DSL) para descrever zonas DNS mais software que processa o DSL e empurra as zonas resultantes para provedores de DNS como Route53, CloudFlare e Gandi. Ele pode conversar com o Microsoft ActiveDirectory e gera os arquivos de zona BIND mais bonitos de todos os tempos. Funciona em qualquer lugar Go executa (Linux, macOS, Windows). O modelo de provedor é extensível, portanto, mais provedores podem ser adicionados.
Provedores de DNS atualmente suportados:
- Active Directory
- LIGAR
- CloudFlare
- DNSimple
- Gandi
- Namecheap
- Name.com
- Rota 53
Stack Overflow usa este sistema para gerenciar centenas de domínios e subdomínios em vários registradores e provedores de DNS. Você pode pensar nisso como um compilador de DNS. Os arquivos de configuração são gravados em um DSL que se parece muito com o JavaScript. É compilado para uma representação intermediária (IR). Os back-ends do compilador usam o IR para atualizar suas zonas DNS em serviços como Route53, CloudFlare e Gandi, ou sistemas como BIND e ActiveDirectory.
Um exemplo
Dnsconfig.js:
// define nosso registrador e provedores Var namecom = NewRegistrar ("name.com", "NAMEDOTCOM"); Var r53 = NewDnsProvider ("r53", "ROUTE53") D ("example.com", namecom, DnsProvider (r53), A ("@", "1.2.3.4"), CNAME ("www", "@"), MX ("@", 5, "mail.myserver.com."),
Corrida
dnscontrol preview
vai falar com os provedores (aqui name.com como secretário e rota 53 como o anfitrião DNS), e determinar que mudanças precisam ser feitas.
Corrida
dnscontrol push
vai fazer essas alterações com o provedor e os meus registros de DNS serão correclty atualizado.Benefícios
- A edição de arquivos de zona é propensa a erros. Clicar em botões em uma página da web é irreproduzível.
- Alternar provedores DNS torna-se um não-brainer. A linguagem DNSControl é independente do fornecedor. Se você usá-lo para manter seus registros de zona DNS, você pode alternar entre os provedores DNS facilmente. Na verdade, DNSControl vai fazer upload de seus registros de DNS para vários provedores, o que significa que você pode testar um, enquanto a mudança para outro.
- Adote os princípios CI / CD ao DNS! O StackOverflow mantém as configurações do DNSControl no Git e usa o sistema CI para rolar as alterações. " Manter informações de DNS em um VCS significa que temos histórico completo. O uso do CI nos permite incluir testes unitários e testes de sistema. Lembra quando esqueceu de incluir um "." No final de um registro MX? Nós não tivemos esse problema desde que nós incluímos um teste para certificar-se Tom não faz esse erro ... outra vez. "
- As variáveis economizam tempo! Atribua um endereço IP a uma constante e use o nome da variável em todo o arquivo. Precisa alterar o endereço IP global? Basta alterar a variável e "recompilar".
- Macros! Defina seus registros SPF, registros MX ou outros dados repetidos uma vez e reutilize-os para todos os domínios.
- Controlar CloudFlare a partir de um único local. Ativar / desativar o proxy do Cloudflare (o botão "nuvem laranja") diretamente de seus arquivos DNSControl.
- Manter domínios semelhantes em sincronia com as transformações e outros recursos. Se um domínio é suposto ser o mesmo
- É extensível! Todos os provedores DNS são escritos como plug-ins. Escrever novos plugins é muito fácil.
Comentários
Postar um comentário